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!