심볼릭 링크의 내용을 "sudo cat"하는 방법

심볼릭 링크의 내용을 "sudo cat"하는 방법

foo다음을 사용하여 파일에 대한 심볼릭 링크를 만들었습니다./bar/baz

$ ln -s /bar/baz foo
$ ls
foo

이는 /bar/baz루트만 읽기 액세스 권한을 갖는 로그 파일입니다.

/bar/baz이제 심볼릭 링크를 사용하여 콘텐츠를 인쇄하고 싶습니다 . 그러나 이는 다음에는 적용되지 않습니다 sudo cat.

$ sudo cat foo
cat: foo: No such file or directory

나는 아마도 심볼릭 링크를 "unwrap"해야 한다고 생각했지만 readlink, 그것도 작동하지 않았습니다:

$ sudo readlink foo | cat
/bar/baz

cat심볼릭 링크를 사용하여 파일 내용을 얻는 방법은 무엇입니까 ?

답변1

sudo cat foo맞다. (파일을 읽으려면 루트 액세스가 필요하다고 가정하고 그렇지 않으면 cat foo정상적으로 작동합니다.)

발생한 문제는 /bar/baz존재하지 않습니다.

$ ls 
$ ln -s ./baz foo
$ ls
foo
$ cat foo
cat: foo: No such file or directory
$ echo "Hello!" > ./baz
$ ls
baz foo
$ cat foo
Hello!

관련 정보