一、Linuxln命令
Linux ln命令是用來創建鏈接的,鏈接分為兩種:硬鏈接(Hard Link)和符號鏈接(Symbolic Link),只有在文件系統上存在才能創建鏈接。鏈接分為硬鏈接和軟鏈接,分別對應標準的硬鏈接和符號鏈接,它們在文件系統上有著很重要的作用。
在Linux和Unix系統中,每個文件都會分配一個 inode 號,硬鏈接的本質就是將一個新的目錄項指向同一 inode 號,所以沒有源文件和硬鏈接之分。如果刪除一個硬鏈接,其指向的文件並不會被刪除,只有最後一個鏈接被刪除後,文件才會被系統真正地刪除。
符號鏈接又稱作軟鏈接,它是一個特殊的文件,它的數據部分存放的是另一個文件的路徑名。軟連接類似於Windows操作系統中的快捷方式,通過符號鏈接,用戶可以方便地間接地訪問文件或目錄。在刪除原文件時,軟鏈接將失去指向,成為「死鏈接」。
二、Linux ln命令詳解
Linux ln命令用於創建鏈接,鏈接可以存在於同一文件系統(硬鏈接)或不同文件系統(符號鏈接)、目錄間或不同機器間。
ln命令的基本語法: ln [參數] 源文件 目標文件
常用參數:
- -s或–symbolic:對源文件建立軟鏈接(符號鏈接)
- -f或–force:強制建立文件或目錄的鏈接,若目標文件存在時則先予以刪除
- -i或–interactive:覆蓋既有文件之前先詢問用戶
- -v或–verbose:顯示鏈接建立的過程
- -n或–no-dereference:把符號鏈接本身視為鏈接目標,而非把符號鏈接視為已解引用的路徑名參數
三、Linuxln-s
使用 “-s” 參數可以建立軟鏈接(符號鏈接),示例如下:
$ ln -s ~/workspace test $ ls -l lrwxr-xr-x 1 user staff 26 8 25 20:10 test -> /Users/user/workspace
這裡,我們使用 ln -s 命令創建一個名為test的符號連接,它鏈接到了/Users/user/workspace這個路徑。
四、Linux ln命令的使用
以下是幾個Linux ln命令的使用示例:
1. 在同一個目錄下創建硬鏈接
$ mkdir test $ touch test/file.txt $ ln test/file.txt test/another_file.txt $ ls -i test/* 14897773 test/another_file.txt 14897773 test/file.txt
以上命令在test目錄下創建了一個空文件file.txt,接著使用ln命令將test目錄下的file.txt硬鏈接為test目錄下的another_file.txt
2. 刪除一個硬鏈接
$ ls -i test/* 14897773 test/another_file.txt 14897773 test/file.txt $ rm test/another_file.txt $ ls -i test/* 14897773 test/file.txt
以上命令使用了 rm 命令來刪除 test 目錄下的 another_file.txt 文件,因為該文件指向了同一個 inode 號,因此刪除該文件並不會真正的刪除文件,只會刪除一個文件的硬鏈接。
3. 在不同目錄下創建硬鏈接
$ mkdir test1 $ touch test1/file.txt $ ln test1/file.txt test2/another_file.txt $ ls -i test1/* 12572459711 file.txt $ ls -i test2/* 12572459711 another_file.txt
在以上命令中,我們創建了test1目錄和test2目錄,並在test1下創建了空文件file.txt,在test2目錄下使用了ln命令創建了硬鏈接another_file.txt,指向的是test1/file.txt文件。
4. 在不同文件系統之間創建符號鏈接
$ ln -s /mnt/data/documents/ /home/user/documents $ ls -l /home/user/documents lrwxrwxrwx 1 user user 18 Jul 24 08:45 /home/user/documents -> /mnt/data/documents/
在以上命令中,我們使用 “-s” 參數創建了一個名為 documents 的符號鏈接,鏈接到了 /mnt/data/documents 目錄。
總結
通過以上例子,我們可以看到Linux ln命令在系統管理中有著很重要的作用,靈活的使用這個命令可以使我們在日常的工作中更加方便。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/230467.html