Linux戦地日記-ソフトリンクとハードリンク


ネット上でいくつかの関連資料を調べて、いくつかのソフトリンクとハードリンクの実例をテストして、ソフト、ハードリンクに対して具体的な理解があります.

lnコマンドによるソフト・ハード・リンクの作成


ソフトリンク$ln-s元のファイルソフトリンクファイルを作成する
[bestcoder@localhost ~]$ ln -s ./test1/f1.c ./test1/f1.soft

ハードリンク$ln元ファイルハードリンクファイルを作成
[bestcoder@localhost ~]$ ln ./test1/f1.c ./test1/f1.hard

ソフトリンクの詳細を表示するには、次の手順に従います.
[bestcoder@localhost ~]$ ls -l ./test1/f1.c ./test1/f1.soft
-rw-rw-r--. 2 bestcoder bestcoder 57 9   11 20:05 ./test1/f1.c
lrwxrwxrwx. 1 bestcoder bestcoder 12 9   12 20:40 ./test1/f1.soft -> ./test1/f1.c

ハードリンクの詳細を表示するには、次の手順に従います.
[bestcoder@localhost ~]$ ls -l ./test1/f1.c ./test1/f1.hard
-rw-rw-r--. 2 bestcoder bestcoder 57 9   11 20:05 ./test1/f1.c
-rw-rw-r--. 2 bestcoder bestcoder 57 9   11 20:05 ./test1/f1.hard

元のファイルを削除した後:
[bestcoder@localhost ~]$ rm ./test1/f1.c
[bestcoder@localhost ~]$ cat ./test1/f1.soft  // 
cat: ./test1/f1.soft:  
[bestcoder@localhost ~]$ cat ./test1/f1.hard  // 
#include<stdio.h>
int main(){
printf ("hello world!");
}

まとめ:ソフトリンクはwindowsのショートカットに相当し、元のファイルとは異なるiNodeを持ち、情報に明らかな->指向記号が表示されます.元のファイルを削除すると、ソフトリンクファイルも無効になります.
ハードリンクはcpコマンド+同期更新に相当し、元のファイルと同じiNodeを有し、ファイル情報はほぼ同じである.元のファイル情報が変化すると、ハードリンクファイルも変化します.元のファイルを削除した場合、ハードリンクファイルは影響を受けません.
ソフトリンクはファイルシステムにまたがることができ、ハードリンクはファイルシステムにまたがることができないことに注意してください.