Linuxコマンドのln -sコマンド(ソフトリンク)

lnコマンド

Linux の ln (英語の完全な綴り: link files) コマンドは非常に重要なコマンドであり、その機能は、別の場所にある特定のファイルに対する同期リンクを確立することです。
異なるディレクトリで同じファイルを使用する必要がある場合、必要なすべてのディレクトリに同じでなければならないファイルを置く必要はありません。ファイルを固定ディレクトリに置き、その後、別のディレクトリに置くだけで済みます。 ln コマンドを使用してディレクトリ内にリンク (リンク) するだけで、ディスク容量を繰り返し占有する必要がなくなります。
Linux システムでファイルをリンクするには 2 つの方法があります。

  • ソフトリンク
  • ハードリンク

ファイルが削除されると、ソフト リンク ファイルはそのポイントを失い、使用できなくなります
。 ファイルが削除されても、ハード リンク ファイルはコンテンツを直接ポイントしているため、影響を受けません。

ハードリンクを作成する

ln [源文件/目录] [目标软链接]

ソフトリンクを作成する

ln -s [源文件/目录] [目标软链接]
[root@asd test]# mkdir data-directory-test1
[root@asd test]# touch data-file-test2
[root@asd test]# ln -s data-directory-test1/ test1
[root@asd test]# ln -s data-file-test2 test2
 
[root@node02 test]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 10 16:24 data-directory-test1
-rw-r--r-- 1 root root    0 Nov 10 16:26 data-file-test2
lrwxrwxrwx 1 root root   21 Nov 10 16:27 test1 -> data-directory-test1/
lrwxrwxrwx 1 root root   15 Nov 10 16:28 test2 -> data-file-test2

ソフトリンクを削除する

ソフト リンクの削除は、rm コマンドを使用してファイル/ディレクトリを削除するのと同じです。ただし、ソフト リンクを削除するだけで、ソフト リンク ディレクトリの実ファイル データを誤って削除したくない場合は、パスの末尾に「/」を含めないでください。ディレクトリを rm します。「/」が含まれている場合は、リンク先のパス配下のファイルをすべて削除します。

[root@node02 test]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 10 16:46 data-directory-test1
lrwxrwxrwx 1 root root   20 Nov 10 16:46 test1-1 -> data-directory-test1
lrwxrwxrwx 1 root root   20 Nov 10 16:46 test1-2 -> data-directory-test1
[root@node02 test]# ll data-directory-test1/
total 0
-rw-r--r-- 1 root root 0 Nov 10 16:47 file1
-rw-r--r-- 1 root root 0 Nov 10 16:47 file2
 
 
#末尾不带"/"删除,删除软链接,不删除目录下数据
[root@node02 test]# rm -rf test1-1
[root@node02 test]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 10 16:47 data-directory-test1
lrwxrwxrwx 1 root root   20 Nov 10 16:46 test1-2 -> data-directory-test1
[root@node02 test]# ll data-directory-test1/
total 0
-rw-r--r-- 1 root root 0 Nov 10 16:47 file1
-rw-r--r-- 1 root root 0 Nov 10 16:47 file2
 
 
#末尾带"/"删除,删除目录下数据,但不删除软链接
[root@node02 test]# rm -rf test1-2/
[root@node02 test]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 10 16:48 data-directory-test1
lrwxrwxrwx 1 root root   20 Nov 10 16:46 test1-2 -> data-directory-test1
[root@node02 test]# ll data-directory-test1/
total 0

ソフトリンクを変更する

ln -snf [新源文件/目录] [目标软链接]
[root@node02 test]# ll
total 8
drwxr-xr-x 2 root root 4096 Nov 10 16:48 data-directory-test1
drwxr-xr-x 2 root root 4096 Nov 10 16:51 data-directory-test2
lrwxrwxrwx 1 root root   20 Nov 10 16:51 test-link -> data-directory-test1
 
[root@node02 test]# ln -snf data-directory-test2 test-link
[root@node02 test]# ll
total 8
drwxr-xr-x 2 root root 4096 Nov 10 16:52 data-directory-test1
drwxr-xr-x 2 root root 4096 Nov 10 16:52 data-directory-test2
lrwxrwxrwx 1 root root   20 Nov 10 16:52 test-link -> data-directory-test2

おすすめ

転載: blog.csdn.net/weixin_42648692/article/details/129998333