1. 程式人生 > >【每天一個Linux命令】27. 建立連結命令ln

【每天一個Linux命令】27. 建立連結命令ln

什麼是連結(link)?
Linux檔案系統中,有所謂的連結(link),我們可以將其視為檔案的別名
連結又可分為兩種 : 硬連結(hard link)與軟連結(symbolic link)
硬連結是存在同一個檔案系統中,而軟連結卻可以跨越不同的檔案系統。
什麼是硬連結?
硬連結的意思是一個檔案可以有多個名稱
它會在你選定的位置上生成一個和原始檔大小相同的檔案,無論是軟連結還是硬連結,檔案都保持同步變化。
命令格式: ln 原始檔 目標檔案
關於硬連結你應該知道:

1.硬連結,以檔案副本的形式存在。但不佔用實際空間。
2.不允許給目錄建立硬連結
3.硬連結只有在同一個檔案系統中才能建立
什麼是軟連結?
軟連結的方式則是產生一個特殊的檔案,該檔案的內容是指向另一個檔案的位置。

它只會在你選定的位置上生成一個檔案的映象,不會佔用磁碟空間
命令格式: ln -s 原始檔 目標檔案

關於軟連結你應該知道:

1.軟連結以路徑的形式存在。類似於Windows作業系統中的快捷方式
2.軟連結可以 跨檔案系統,硬連結不可以
3.軟連結可以對一個不存在的檔名進行連結
4.軟連結可以對目錄進行連結
作者: 畢小朋   來往ID: hello_xiaopeng  Blog:  http://blog.csdn.net/wirelessqa

ln命令的功能是什麼?

ln命令的功能是為某一個檔案在另外一個位置建立一個同步的連結.
ln命令會保持每一處連結檔案的同步性,也就是說,不論你改動了哪一處,其它的檔案都會發生相同的變化;

什麼時候使用ln命令?
當我們需要在不同的目錄,用到相同的檔案時,我們不需要在每一個需要的目錄下都放一個必須相同的檔案,我們只要在某個固定的目錄,放上該檔案,然後在其它的目錄下用ln命令連結(link)它就可以,不必重複的佔用磁碟空間。
命令格式:
 ln [引數][原始檔或目錄][目標檔案或目錄]
命令引數:
-b 刪除,覆蓋以前建立的連結
-d 允許超級使用者製作目錄的硬連結
-f 強制執行
-i 互動模式,檔案存在則提示使用者是否覆蓋
-n 把符號連結視為一般目錄
-s 軟連結(符號連結)
-v 顯示詳細的處理過程

建立軟連結

#新建一個檔案[email protected] test$ touch symboliclink.log
#檢視檔案屬性
[email protected]
test$ ls -l total 0 -rw-r--r-- 1 bixiaopeng wheel 0 11 9 11:51 symboliclink.log #給symboliclink.log建立軟連結 symboliclink [email protected] test$ ln -s symboliclink.log symboliclink #再次檢視檔案屬性,連結已經建立成功,相當於給symboliclink.log建立了一個快捷方式 [email protected] test$ ls -l total 8 lrwxr-xr-x 1 bixiaopeng wheel 16 11 9 11:51 symboliclink -> symboliclink.log -rw-r--r-- 1 bixiaopeng wheel 0 11 9 11:51 symboliclink.log #編輯原始檔symboliclink.log [email protected] test$ vim symboliclink.log [email protected] test$ cat symboliclink.log i am symbolic link #軟體連結symboliclink也同樣被修改了 [email protected] test$ cat symboliclink i am symbolic link #刪除原始檔 symboliclink.log [email protected] test$ rm symboliclink.log #檢視檔案屬性,連結還在 [email protected] test$ ls -ln lrwxr-xr-x 1 501 0 16 11 9 11:51 symboliclink -> symboliclink.log #檢視軟連結,連結失效 [email protected] test$ cat symboliclink cat: symboliclink: No such file or directory #重建原始檔 [email protected] test$ touch symboliclink.log #重建後自動連結上了 [email protected] test$ cat symboliclink


建立硬連結

#新建原始檔hardlink.log
[email protected] test$ touch hardlink.log
#檢視原始檔屬性
[email protected] test$ ls -l
total 16
-rw-r--r--  1 bixiaopeng  wheel   0 11  9 11:54 hardlink.log
#建立硬連結hardlink
[email protected] test$ ln hardlink.log hardlink
#檢視屬性,它會在你選定的位置上生成一個和原始檔大小相同的檔案
[email protected] test$ ls -l
total 16
-rw-r--r--  2 bixiaopeng  wheel   0 11  9 11:54 hardlink
-rw-r--r--  2 bixiaopeng  wheel   0 11  9 11:54 hardlink.log

#此時原始檔是空的,編輯— 加入文字i am hardlink
[email protected] test$ vim hardlink.log
[email protected] test$ cat hardlink.log
i am hardlink
[email protected] test$ cat hardlink
i am hardlink 
#刪除原始檔
[email protected] test$ rm hardlink.log
[email protected] test$ ls -l
total 8
-rw-r--r--  1 bixiaopeng  wheel  14 11  9 11:55 hardlink
#硬連結沒有受任何影響
[email protected] test$ cat hardlink
i am hardlink 
#重建原始檔
[email protected] test$ touch hardlink.log
#硬連結沒有受任何影響,說明硬連結已經失效
[email protected] test$ cat hardlink
i am hardlink 
#重新連結會告訴你檔案已經存在
[email protected] test$ ln hardlink.log hardlink
ln: hardlink: File exists 



建立目錄連結

1.目錄只能建立軟連結
2.目錄建立連結必須用絕對路徑,相對路徑建立會不成功,會提示:符號連線的層數過多 這樣的錯誤
3.在連結目標目錄中修改檔案都會在原始檔目錄中同步變化
#給目錄建立連結
[email protected] test$ ln -sv /Volumes/warehouse/test/srcdir /Volumes/warehouse/test/targetdir
/Volumes/warehouse/test/targetdir/srcdir -> /Volumes/warehouse/test/srcdir
#檢視連結是否成功
[email protected] test$ ls -l targetdir/
total 8
lrwxr-xr-x  1 bixiaopeng  wheel  30 11 13 09:58 srcdir -> /Volumes/warehouse/test/srcdir
#修改原始檔目錄
[email protected] test$ mkdir srcdir/test

#目標檔案目錄會同步修改
[email protected] test$ ls targetdir/srcdir
test 



注意點:
ln指令用在連結檔案或目錄時:
若同時指定兩個以上的檔案或目錄,且最後的目的地是一個已經存在的目錄,則會把前面指定的所有檔案或目錄複製到該目錄中。
若同時指定多個檔案或目錄,且最後的目的地並非是一個已存在的目錄,則會出現錯誤資訊。

作者: 畢小朋   來往ID: hello_xiaopeng  Blog:  http://blog.csdn.net/wirelessqa

相關推薦

每天一個Linux命令27. 建立連結命令ln

什麼是連結(link)?Linux檔案系統中,有所謂的連結(link),我們可以將其視為檔案的別名連結又可分為兩種 : 硬連結(hard link)與軟連結(symbolic link)硬連結是存在同一個檔案系統中,而軟連結卻可以跨越不同的檔案系統。什麼是硬連結?硬連結的意

每天一個linux命令wc

ror class pre inux 單詞 字節數 出現 行數 同一行 wc:統計 # wc -l/c/w #統計行數/字節數/字數(1個單詞/1個中文算一個數) wc -l yy.log cat yy.log |wc -l 1、當前目錄下文件個數 ls -lR

每天一個linux命令curl

bsp linux cit 焦作 pos 參數 match 轉義 url curl:訪問http請求 1、不帶參數的 get 訪問網址 curl https://www.baidu.com/ 2、帶參數的 post 訪問網址 # 原始http請求1 http://19

每天一個linux命令grep

http pre 內容 技術分享 image 忽略 linux filename com 【簡介】 grep:一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來 【grep常用用法】 [root@www ~]# grep [-acinv] [--col

每天一個Linux命令25. 檢視檔案命令(cat/more/less/tail/tac/nl/od)

linux中檢視檔案的命令如下: cat: 由第一行開始顯示檔案內容 tac: 從最後一行開始顯示,可以看出 tac 是 cat 的反向顯示! nl: 顯示的時候,隨便輸出行號! more: 一頁一頁的顯示檔案內容less 與 more 類似,但是比 more 更好的是,他

每天一個Linux命令01. Linux中ping命令的用法

PING: PING (Packet Internet Grope),因特網包探索器 功能說明: 檢測網路的連通性:ping可以測試計算機名和計算機的 ip 地址,驗證與遠端計算機的連線,通過將 icmp 回顯資料包傳送到計算機並偵聽回顯回覆資料包來驗證與一臺

每天一個linux命令11. Linux配置環境變數/etc/profile .bashrc .bash_profile等

1. 修改/etc/profile檔案 特點:所有使用者的shell都有權使用你配置好的環境變數說明:如果你的電腦僅用作開發,建議使用此配置,因為所有使用者的shell都有權使用你配置好的環境變數,

每天一個Linux命令15. 搜尋檔案命令find

命令用途 find命令用於:在一個目錄(及子目錄)中搜索檔案,你可以指定一些匹配條件,如按檔名、檔案型別、使用者甚至是時間戳查詢檔案。命令例項 0. 幫助命令: [email protected]:~$ find -help 用法: find [-H] [-L]

每天一個linux命令01.ls命令

每天一個linux命令(1):ls命令 ls命令是linux下最常用的命令。ls命令就是list的縮寫預設下ls用來打印出當前目錄的清單如果ls指定其他目錄那麼就會顯示指定目錄裡的檔案及資料夾清單。 通過ls 命令不僅可以檢視linux資料夾包含的檔案

每天一個Linux命令B-badblocks

badblocks命令用於檢查磁碟裝置中損壞的區塊。 執行指令時須指定所要檢查的磁碟裝置,及此裝置的磁碟區塊數。 語法 badblocks [-svw][-b <區塊大小>][-o <輸出檔案>][磁碟裝置][磁碟區塊數][啟始區塊

每天一個Linux命令08. Linux中time命令的用法

Linux中time命令,我們經常用來計算某個程式的執行耗時(real),使用者態cpu耗時(user),系統態cpu耗時(sys) time命令最常用的使用方式就是在其後面直接跟上命令和引數:ti

轉載每天一個Linux命令

mkdir 命令 結構 oca archive mic post rmdir 命令 每天 sof 每天一個linux命令(1) : ls 命令 每天一個linux命令(2) : cd 命令 每天一個linux命令(3) : pwd 命令 每天一個linux命令(4)

每天一個linux命令(文件操作):轉載find命令之xargs

溢出 系統性能 問題 ameba pri 幾分鐘 body 只有一個 獲取參數   在使用 find命令的-exec選項處理匹配到的文件時, find命令將所有匹配到的文件一起傳遞給exec執行。但有些系統對能夠傳遞給exec的命令長度有限制,這樣在find命令運行幾分鐘之

每天一個linux命令(文件上傳下載文件操作):轉載tar命令

設備 mil second compress bsp 新的 body 創建 命令格式   通過SSH訪問服務器,難免會要用到壓縮,解壓縮,打包,解包等,這時候tar命令就是是必不可少的一個功能強大的工具。linux中最流行的tar是麻雀雖小,五臟俱全,功能強大。   tar

每天一個linux命令(文件上傳下載文件操作):轉載gzip命令

明顯 相關信息 users 版本信息 通過 inux 備份 示例 strong   減少文件大小有兩個明顯的好處,一是可以減少存儲空間,二是通過網絡傳輸文件時,可以減少傳輸的時間。gzip是在Linux系統中經常使用的一個對文件進行壓縮和解壓縮的命令,既方便又好用。gzip

每天一個linux命令(44):top命令

top命令是Linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源佔用狀況,類似於Windows的工作管理員。下面詳細介紹它的使用方法。top是一個動態顯示過程,即可以通過使用者按鍵來不斷重新整理當前狀態.如果在前臺執行該命令,它將獨佔前臺,直到使用者終止

每天一個linux命令27):tar命令

通過SSH訪問伺服器,難免會要用到壓縮,解壓縮,打包,解包等,這時候tar命令就是是必不可少的一個功能強大的工具。linux中最流行的tar是麻雀雖小,五臟俱全,功能強大。tar命令可以為linux的檔案和目錄建立檔案。利用tar,可以為某一特定檔案建立檔案(備份檔案),也可

每天一個linux命令27)--df

linux中df命令的功能是用來檢查linux伺服器的檔案系統的磁碟空間佔用情況。可以利用該命令來獲取硬碟被佔用了多少空間,目前還剩下多少空間等資訊。 1.命令格式: df [選項] [檔案] 2.命令功能: 顯示指定磁碟檔案的可用空間。如果沒有檔名被指定,則所有

每天一個Linux命令27):chmod命令

chmod命令用於改變linux系統檔案或目錄的訪問許可權。用它控制檔案或目錄的訪問許可權。該命令有兩種用法。一種是包含字母和操作符表示式的文字設定法;另一種是包含數字的數字設定法。 Linux系統中的每個檔案和目錄都有訪問許可許可權,用它來確定誰可以通過何種方式對檔案

每天一個linux命令8之grep高級篇

表達式 大寫 world exp 大寫字母 重復數 tools href 反向 1語法 grep -[acinv] ‘搜索內容串‘ filename-a 以文本文件方式搜索-c 計算找到的符合行的次數-i 忽略大小寫-n 順便輸出行號-v 反向選擇,即找 沒有搜索