あなたがするとき
cat some-symlink-to-some-real-file
シンボリックリンク自体の内容ではなく、実際のファイルの内容が表示されます。実際に何が入っているかを確認する方法はありますか?
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
を指します。
readlink(2)
関数を呼び出すと、リンク先の名前がバッファに入れられます。
結果はNULで終了するのではなく、長さ(戻り値に格納される)を持つことに注意してください。文字列として使用したい場合は、NULを自分で追加してください。
Perlやpythonなどのほとんどの高レベル/スクリプト言語は、通常の言語に適した文字列型に変換するreadlinkラッパーを提供するため、NUL終了などの詳細に煩わされることはありません。
Manページについて http://man7.org/linux/man-pages/man7/symlink.7.html symlinkは、コンテンツ内のターゲットへのパスを含む通常のファイル(特別なフラグ付き)です。したがって、symlinkをFATパーティションにコピーして、そこにコンテンツを読み取ることができます。
試す
find . -type l -exec ls -la {} \;