シンボリックリンクのソースファイルを探す

シンボリックリンクのソースファイルを探す

私のホームディレクトリのファイルから別のパーティションの別のファイルにリンクするシンボリックリンクがあるとしましょう。リンクされたファイルの宛先を見つける方法は?私の言葉は、私がfile2持っているとしましょう/home/user/。しかし、それは他のものへのシンボリックリンクですfile1file1ファイルを見つけるために各パーティション/ディレクトリを手動で渡さずにどのように検索できますか?

答え1

使用リンクを読む:

readlink -f /path/file

(複数のレベルがある場合はシンボリックリンクの最後のターゲット)

次のレベルのシンボリックリンクが必要な場合は、次を使用します。

readlink /path/file

また、使用することができます実際のパス現代のシステムではGNUコアツール(例えばLinux)、 FreeBSDネットワークBSDオープンBSDまたはトンボ:

realpath /path/file

これはと似ていますreadlink -f

答え2

1.

ls -l bin

生産

lrwxrwxrwx 1 az az 14 Ноя 12 22:13 bin -> ../Gdrive/bin/

2.

file bin

生産

bin: symbolic link to `../Gdrive/bin/' 

三。

stat bin

生産

File: «bin» -> «../Gdrive/bin/»

答え3

最も簡単な方法:cdシンボリックリンクがある場所に移動して実行し、ls -lファイルの詳細を一覧表示します。

シンボリックリンクの右側の部分->が指すターゲットです。

前任者:

lrwxrwxrwx 1 userName groupName 22 Jan 17 13:29 temp.txt リンク - > /home/user/temp.txt

->これには、()「/home/user/temp.txt」を指す「temp.txtへのリンク」があります。

しかし、まるで@Gilles Quenotが指摘しました。、あなたもできますreadlink -f /path/to/symbolic_link

答え4

リンクされたファイルを見つけるもう1つの方法(以前は答えられていません)は、次のコマンドを使用することです。

file -h <path_to_dir>/* | grep link

注文する:

file -h /home/prateek/* | grep link

出力:

/home/prateek/Music: /media/prateek/HD-E1/Musicへのシンボリックリンク

関連情報