我使用以下命令创建了foo
该文件的符号链接/bar/baz
$ ln -s /bar/baz foo
$ ls
foo
这/bar/baz
是一个只有 root 有读取权限的日志文件。
现在我想打印/bar/baz
使用符号链接的内容。但这不适用于sudo cat
:
$ sudo cat foo
cat: foo: No such file or directory
我想也许我需要使用“解开”符号链接readlink
,但这也不起作用:
$ sudo readlink foo | cat
/bar/baz
如何cat
使用符号链接获取文件的内容?
答案1
sudo cat foo
是正确的。 (假设需要 root 访问权限才能读取该文件,否则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!