~/Desktop/test.txt
を指すシンボリックリンク~/rendu/test.txt
があります。
~/Desktop/test.txt
のパスのみを知っています。シンボリックリンクを削除せずに~/rendu/test.txt
を削除する高速な方法が必要です。
理由を知りたい人のために:crypted.xxx
という名前のファイルがデスクトップにあります。このファイルは暗号化され、パスワードが含まれています。
暗号化されたファイルを更新するときは、それを復号化し、特別なディレクトリにcrypted.txt
を作成します。そのため、実用的な理由から、デスクトップ上のそのファイルへのリンクを作成します。しかし、私のcrypted.txt
を見た後、このcrypted.txt
をすぐに削除したい(しかし、デスクトップのリンクは削除しない)。
find
を使用してシンボリックリンクを検索し、readlink
を使用してrm
へのターゲットへのフルパスを取得します。
find ~/Desktop/ -type l -name 'test.txt' -exec bash -c 'rm "$(readlink -f "$1")"' _ {} \;
または、あなたが既に知っているように、リンク名:
rm "$(readlink -f ~/Desktop/test.txt)"
単に使用します:
printf "" > "$(readlink '/path/to/link')"
to clearファイル、または
rm "$(readlink '/path/to/link')"
to removeファイル。