(この作業のために)不要な情報なしでシンボリックリンクとそのターゲットファイルに関する情報を表示したいと思います。これまで私が見つけた最良の方法は、次のバリエーションを使用することですfind
。
find -L /path/to/dir/ -xtype l -exec ls -al {} \;
すると、次のように出力されます。
lrwxr--r-- 1 user user 34 Feb 19 09:49 ./testdir1/slink1 -> /test/file.txt
lrwxr--r-- 1 user user 45 Feb 19 10:02 ./testdir1/slink2 -> /test/test2/file2.txt
次のように認証情報、変更日などを削除する方法はありますか?
./testdir1/slink2 -> /test/test2/file2.txt
答え1
1つのアプローチは、純粋なルックアップソリューションを使用することです。
find /path/to/file -type l -printf '%-40p --> %l\n
削除-40
するか、希望の出力に調整してください。
答え2
readlink
コマンドを試してください。
たとえば、(findコマンドを調整してください):
find -L /path/to/dir/ -xtype l -exec readlink {} \;
または、次のように設定します。 source -> target
find -L . -xtype l -print0 | xargs -0 -I{} bash -c 'echo {} "->" "$(readlink {} )"'