web-dev-qa-db-ja.com

シンボリックリンクの実際の内容を確認する方法はありますか?

あなたがするとき

cat some-symlink-to-some-real-file

シンボリックリンク自体の内容ではなく、実際のファイルの内容が表示されます。実際に何が入っているかを確認する方法はありますか?

43
fabio

ls -lコマンドは次のことを示します。

$ ls -l foo
lrwxrwxrwx 1 user group 11 2010-12-31 19:49 foo -> /etc/passwd

または readlinkコマンド

$ readlink foo
/etc/passwd

したがって、シンボリックリンクfooはパス/etc/passwdを指します。

50
PleaseStand

readlink(2) 関数を呼び出すと、リンク先の名前がバッファに入れられます。

結果はNULで終了するのではなく、長さ(戻り値に格納される)を持つことに注意してください。文字列として使用したい場合は、NULを自分で追加してください。

Perlやpythonなどのほとんどの高レベル/スクリプト言語は、通常の言語に適した文字列型に変換するreadlinkラッパーを提供するため、NUL終了などの詳細に煩わされることはありません。

8
Ben Voigt

Manページについて http://man7.org/linux/man-pages/man7/symlink.7.html symlinkは、コンテンツ内のターゲットへのパスを含む通常のファイル(特別なフラグ付き)です。したがって、symlinkをFATパーティションにコピーして、そこにコンテンツを読み取ることができます。

2
Pavel Patrin

試す

find . -type l -exec ls -la {} \;
1
Eric Fortis