您好,登錄后才能下訂單哦!
這篇文章主要介紹Linux中ln命令的使用方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
1.命令簡介
ln 命令用來為文件創建鏈接,分為硬鏈接(hard link)和軟鏈接(符號鏈接,symbolic link)兩種,默認創建硬連接,如果要創建軟鏈接須使用 -s 選項。本文介紹的是 GNU 版本的實現,其它版本(如 POSIX 版)實現可能所有不同。
注意:
(1)硬鏈接不是一個獨立的文件,只是一個文件名。一個文件可以有多個文件名,只有將最后一個文件名從磁盤上刪除,才能把這個文件刪掉;
(2)軟鏈接可以跨文件系統,但硬鏈接不能跨文件系統,因為硬鏈接只是文件的別名,而非獨立的文件;
(3)不能給目錄建立硬鏈接,因為硬鏈接連接到目錄可會導致目錄的 inode 與實體 block 形成環狀。此時,如果刪除目錄,會導致目錄實體 block 無法被系統訪問,產生孤立的目錄(從根目錄無法再訪問);
(4)創建硬鏈接時,每個目標必須存在。創建軟鏈接時,目標文件可以不存在;
(5)軟鏈接是一個包含了路徑信息的獨立文件,類似于 Windows 的快捷方式,它的許多屬性依賴于原文件,所以給軟鏈接文件設置權限是沒有意義的。
2.命令格式
ln [OPTION]... [-T] TARGET LINK_NAME (1st form) ln [OPTION]... TARGET (2nd form) ln [OPTION]... TARGET... DIRECTORY (3rd form) ln [OPTION]... -t DIRECTORY TARGET... (4th form)
第一種格式,為指定的目標文件建立指定名稱的鏈接,這是最長使用的格式;
第二種格式,為指定的目標文件建立在當前目錄建立同名的鏈接;
第三和第四格式,分別為每一個目標文件在指定的目錄下建立同名的鏈接。
3.選項說明
長選項的強制參數對于短選項也是強制的。
--backup[=CONTROL] 備份每一個存在的目標文件 -b 類似于 --backup,但不接受參數 -d, -F, --directory 允許超級用戶嘗試為目錄建立硬鏈接(注意:由于系統限制,即使超級用戶也可能失敗) -f, ——force 強行建立文件或目錄的鏈接,與鏈接同名的文件或目錄將被覆蓋 -i, ——interactive 覆蓋既有文件之前先詢問用戶 -L, --logical 建立硬鏈接時,當目標文件是軟鏈接時,進行解引用,指向軟鏈接的目標文件 -n, --no-dereference 把軟鏈接視為一般文件,不進行解引用 -P, --physical 建立硬鏈接時,直接指向軟鏈接本身,而不是指向軟鏈接的目標文件(默認) -r, --relative 創建相對于鏈接位置的符號鏈接 -s, --symbolic 建立軟連接,而非硬連接 -S, --suffix=SUFFIX 修改備份文件后綴。用 -b 參數備份目標文件后,備份文件后綴默認為 ~ -t, --target-directory=DIRECTORY 指定鏈接文件存放于哪個目錄 -T, --no-target-directory 將 LINK_NAME 視為鏈接文件而非存放鏈接文件的目錄 -v, ——verbose 顯示指令執行過程 --help 顯示幫助并退出 --version 顯示版本并退出
選項 --backup 的參數 CONTROL 控制文件備份后的版本生成方式,可取值如下:
none, nil 不進行備份 numbered, t 使用數字后綴進行滾動。備份文件名后綴依序遞增 ~1~、 existing, nil 如果有使用數字后綴則使用數字,否則使用簡單的備份方式,即只備份一次 simple, never 只使用簡單的備份方式
使用選項 -s 生成軟鏈接時,將忽略選項 -L、-P,建立硬鏈接,默認使用 -P 選項,將硬鏈接指向軟鏈接本身,相當于給軟鏈接起了個別名。
4.常用示例
(1)給文件 /etc/passwd 建立軟鏈接。
ln -s /etc/passwd passwdSoftLink ll passwdSoftLink lrwxrwxrwx 1 root root 11 Nov 13 22:21 passwdSoftLink -> /etc/passwd
(2)給文件 /etc/passwd 多次建立軟鏈接,軟鏈接的名稱相同,采用數字表示備份文件的版本號。多次備份,版本號將依序遞增。
ln -s --backup=numbered /etc/passwd passwdSoftLink ll passwdSoftLink* lrwxrwxrwx 1 root root 11 Nov 14 10:36 passwdSoftLink -> /etc/passwd lrwxrwxrwx 1 root root 11 Nov 14 10:36 passwdSoftLink.~1~ -> /etc/passwd
(3)給不存在的文件建立軟鏈接。
ln -s nofile nofileSoftLink
使用 ll 命令查看軟鏈接時,軟鏈接名為紅色,且不存在的目標文件名以紅底白字在不停地閃爍。
向軟鏈接 nofileSoftLink 寫入內容后保存,將會生成文件 nofile。
(4)給 /etc/passwd 建立硬鏈接。
ln /etc/passwd passwdHardLink ll -i /etc/passwd passwdHardLink 787795 -rw-r--r-- 2 root root 1552 Jan 4 2019 /etc/passwd 787795 -rw-r--r-- 2 root root 1552 Jan 4 2019 passwdHardLink
使用 ll 命令查看兩個文件時,第一列 inode 號相同,且第三列硬鏈接數為 2,表示有兩個文件名指向文件的數據實體。
(5)給 /etc/passwd 建立同名的軟鏈接且軟鏈接放在當前目錄。即使用第三和第四種命令格式為文件建立鏈接。
ln -s /etc/passwd . # 或 ln -s -t . /etc/passwd # 查看 ll passwd lrwxrwxrwx 1 root root 11 Nov 14 10:43 passwd -> /etc/passwd
注意,書寫目標文件時,路徑要相對于目標目錄,或者使用絕對路徑,不然軟鏈接無法指向目標文件。
(6)創建的鏈接文件有同名的文件時,強制覆蓋,不進行備份。
ln -sf /etc/passwd passwdSoftLink
(7)修改軟鏈接指向新的目標文件。將軟鏈接 passwdSoftLink 指向 /usr/bin/passwd,重新建立軟鏈接,強制覆蓋原有的軟鏈接 passwdSoftLink 即可。
ln -sf /usr/bin/passwd passwdSoftLink ll passwdSoftLink lrwxrwxrwx 1 root root 15 Nov 14 10:52 passwdSoftLink -> /usr/bin/passwd
以上是Linux中ln命令的使用方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。