シンボリックリンクの内容を「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そうだね(ファイルを読み取るには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!

おすすめ記事