每日一linux命令(49)-------ln 命令
ln是linux中又一個非常重要命令,它的功能是為某一個檔案在另外一個位置建立一個同步的連結.當我們需要在不同的目錄,用到相同的檔案時,我們不需要在每一個需要的目錄下都放一個必須相同的檔案,我們只要在某個固定的目錄,放上該檔案,然後在 其它的目錄下用ln命令連結(link)它就可以,不必重複的佔用磁碟空間。
1.命令格式:
ln [引數][原始檔或目錄][目標檔案或目錄]
2.命令功能:
Linux檔案系統中,有所謂的連結(link),我們可以將其視為檔案的別名,而連結又可分為兩種 : 硬連結(hard link)與軟連結(symbolic link),硬連結的意思是一個檔案可以有多個名稱,而軟
軟連結:
1.軟連結,以路徑的形式存在。類似於Windows作業系統中的快捷方式
2.軟連結可以 跨檔案系統 ,硬連結不可以
3.軟連結可以對一個不存在的檔名進行連結
4.軟連結可以對目錄進行連結
硬連結:
1.硬連結,以檔案副本的形式存在。但不佔用實際空間。
2.不允許給目錄建立硬連結
3.硬連結只有在同一個檔案系統中才能建立
這裡有兩點要注意:
第一,ln命令會保持每一處連結檔案的同步性,也就是說,不論你改動了哪一處,其它的檔案都會發生相同的變化;
第二,ln的連結又分軟連結和硬連結兩種,軟連結就是ln –s 原始檔 目標檔案,它只會在你選定的位置上生成一個檔案的映象,不會佔用磁碟空間,硬連結 ln 原始檔 目標檔案,沒有引數-s, 它會在你選定的位置上生成一個和原始檔大小相同的檔案,無論是軟連結還是硬連結,檔案都保持同步變化。
ln指令用在連結檔案或目錄,如同時指定兩個以上的檔案或目錄,且最後的目的地是一個已經存在的目錄,則會把前面指定的所有檔案或目錄複製到該目錄中。若同時指定多個檔案或目錄,且最後的目的地並非是一個已存在的目錄,則會出現錯誤資訊。
3.命令引數:
必要引數:
-b 刪除,覆蓋以前建立的連結
-d 允許超級使用者製作目錄的硬連結
-f 強制執行
-i 互動模式,檔案存在則提示使用者是否覆蓋
-n 把符號連結視為一般目錄
-s 軟連結(符號連結)
-v 顯示詳細的處理過程
選擇引數:
-S “-S<字尾備份字串> ”或 “--suffix=<字尾備份字串>”
-V “-V<備份方式>”或“--version-control=<備份方式>”
--help 顯示幫助資訊
--version 顯示版本資訊
4.使用例項:
例項1:給檔案建立軟連結
命令:
ln -s log2013.log link2013
輸出:
[[email protected] test]# ll
-rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log
[[email protected] test]# ln -s log2013.log link2013
[[email protected] test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log
說明:
為log2013.log檔案建立軟連結link2013,如果log2013.log丟失,link2013將失效
例項2:給檔案建立硬連結
命令:
ln log2013.log ln2013
輸出:
[[email protected] test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log
[[email protected] test]# ln log2013.log ln2013
[[email protected] test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 2 root bin 61 11-13 06:03 ln2013
-rw-r--r-- 2 root bin 61 11-13 06:03 log2013.log
說明:
為log2013.log建立硬連結ln2013,log2013.log與ln2013的各項屬性相同
例項3:接上面兩例項,連結完畢後,刪除和重建連結原檔案
命令:
輸出:
[[email protected] test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 2 root bin 61 11-13 06:03 ln2013
-rw-r--r-- 2 root bin 61 11-13 06:03 log2013.log
[[email protected] test]# rm -rf log2013.log
[[email protected] test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin 61 11-13 06:03 ln2013
[[email protected] test]# touch log2013.log
[[email protected] test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin 61 11-13 06:03 ln2013
---xrw-r-- 1 root bin 302108 11-13 06:03 log2012.log
-rw-r--r-- 1 root root 0 12-07 16:19 log2013.log
[[email protected] test]# vi log2013.log
2013-01
2013-02
2013-03
2013-04
2013-05
2013-06
2013-07
2013-08
2013-09
2013-10
2013-11
2013-12[[email protected] test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin 61 11-13 06:03 ln2013
-rw-r--r-- 1 root root 96 12-07 16:21 log2013.log
[[email protected] test]# cat link2013
2013-01
2013-02
2013-03
2013-04
2013-05
2013-06
2013-07
2013-08
2013-09
2013-10
2013-11
2013-12
[[email protected] test]# cat ln2013
hostnamebaidu=baidu.com
hostnamesina=sina.com
hostnames=true
說明:
1.原始檔被刪除後,並沒有影響硬連結檔案;軟連結檔案在centos系統下不斷的閃爍,提示原始檔已經不存在
2.重建原始檔後,軟連結不在閃爍提示,說明已經連結成功,找到了連結檔案系統;重建後,硬連結檔案並沒有受到原始檔影響,硬連結檔案的內容還是保留了刪除前原始檔的內容,說明硬連結已經失效
例項4:將檔案連結為另一個目錄中的相同名字
命令:
ln log2013.log test3
輸出:
[[email protected] test]# ln log2013.log test3
[[email protected] test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin 61 11-13 06:03 ln2013
-rw-r--r-- 2 root root 96 12-07 16:21 log2013.log
[root@localhost test]# cd test3
[[email protected] test3]# ll
-rw-r--r-- 2 root root 96 12-07 16:21 log2013.log
[root@localhost test3]# vi log2013.log
2013-01
2013-02
2013-03
2013-04
2013-05
2013-06
2013-07
2013-08
2013-09
2013-10[root@localhost test3]# ll
-rw-r--r-- 2 root root 80 12-07 16:36 log2013.log
[root@localhost test3]# cd ..
[[email protected] test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin 61 11-13 06:03 ln2013
-rw-r--r-- 2 root root 80 12-07 16:36 log2013.log
[root@localhost test]#
說明:
在test3目錄中建立了log2013.log的硬連結,修改test3目錄中的log2013.log檔案,同時也會同步到原始檔
例項5:給目錄建立軟連結
命令:
ln -sv /opt/soft/test/test3 /opt/soft/test/test5
輸出:
[[email protected] test]# ll
drwxr-xr-x 2 root root 4096 12-07 16:36 test3
drwxr-xr-x 2 root root 4096 12-07 16:57 test5
[root@localhost test]# cd test5
[[email protected] test5]# ll
lrwxrwxrwx 1 root root 5 12-07 16:57 test3 -> test3
[root@localhost test5]# cd test3
-bash: cd: test3: 符號連線的層數過多
[root@localhost test5]#
[[email protected] test5]#
[[email protected] test5]# ll
lrwxrwxrwx 1 root root 5 12-07 16:57 test3 -> test3
[root@localhost test5]# rm -rf test3
[[email protected] test5]# ll
[[email protected] test5]# ln -sv /opt/soft/test/test3 /opt/soft/test/test5
建立指向“/opt/soft/test/test3”的符號連結“/opt/soft/test/test5/test3”
[root@localhost test5]# ll
lrwxrwxrwx 1 root root 20 12-07 16:59 test3 -> /opt/soft/test/test3
[root@localhost test5]#
[[email protected] test5]# cd test3
[[email protected] test3]# ll
總計 4
-rw-r--r-- 2 root root 80 12-07 16:36 log2013.log
[root@localhost test3]# touch log2014.log
[[email protected] test3]# ll
總計 4
-rw-r--r-- 2 root root 80 12-07 16:36 log2013.log
-rw-r--r-- 1 root root 0 12-07 17:05 log2014.log
[root@localhost test3]# cd ..
[[email protected] test5]# cd ..
說明:
1.目錄只能建立軟連結
2.目錄建立連結必須用絕對路徑,相對路徑建立會不成功,會提示:符號連線的層數過多 這樣的錯誤
3.在連結目標目錄中修改檔案都會在原始檔目錄中同步變化
相關推薦
每日一linux命令(49)-------ln 命令
ln是linux中又一個非常重要命令,它的功能是為某一個檔案在另外一個位置建立一個同步的連結.當我們需要在不同的目錄,用到相同的檔案時,我們不需要在每一個需要的目錄下都放一個必須相同的檔案,我們只要在某個固定的目錄,放上該檔案,然後在 其它的目錄下用ln命令連結(li
Linux命令(49)——export命令(builtin)
1.命令簡介 export命令為Shell內建命令,用於設定或顯示環境變數,環境變數包含變數與函式。 在Shell中執行程式時,Shell會提供一組環境變數。export可新增、刪除或修改環境變數,供後續被執行的程式使用。export的作用效果僅限於當前登陸。 2.命令格式
每日一linux命令(27)-------tar命令
通過SSH訪問伺服器,難免會要用到壓縮,解壓縮,打包,解包等,這時候tar命令就是是必不可少的一個功能強大的工具。linux中最流行的tar是麻雀雖小,五臟俱全,功能強大。 tar命令可以為linux的檔案和目錄建立檔案。利用tar,可以為某一特定檔案建立檔案(備份檔
每天一個linux命令(43)--ln
ln是linux中又一個非常重要命令,它的功能是為某一個檔案在另外一個位置建立一個同步的連結.當我們需要在不同的目錄,用到相同的檔案時,我們不需要在每一個需要的目錄下都放一個必須相同的檔案,我們只要
Linux筆記(49)——正則表示式與字元命令
正則表示式 正則表示式用於字串的模式分割,匹配,查詢以及替換操作 比如有一篇很長很長的文章,我們如何找到自己想要的資訊?可以使用正則的匹配功能 正則表示式與萬用字元 萬用字元有: 1. * :匹配任意字元 2. ?:匹配任意一個字元 3. []
Linux命令(48)——stat命令
1.命令簡介 stat命令用於顯示檔案或檔案系統的詳細資訊。在顯示檔案資訊時,比ls命令更加詳細。 2.命令格式 stat [OPTION]... FILE.. 3.命令選項 -L, --dereference:跟隨符號連結解析原檔案而非符號連結; -f, --fi
Linux命令(47)——file命令
1.命令簡介 file命令用來識別檔案型別,對檔案的檢查分為檔案系統、魔法幻數檢查和語言檢查三個過程,也可用來辨別一些檔案的編碼格式。它是通過檢視檔案的頭部資訊來獲取檔案型別,而不是像Windows通過副檔名來確定檔案型別的。 2.命令格式 file [-bchiklLNnp
Linux學習(六)——其他命令
其他命令 目標 查詢檔案 find 軟連結 ln 打包和壓縮 tar 軟體安裝 apt-get 01. 查詢檔案 find 命令功能非常強
Linux命令(50)——date命令
1.命令簡介 date命令用於按照指定格式顯示當前時間或者指定的時間,也可以設定系統時間。很多Shell腳本里面需要列印不同格式的時間或日期,以及要根據時間和日期執行操作,此時可以使用date命令來完成。在類Unix系統中,日期被儲存為一個整數,其大小為協調世界時(UTC)1970年
Linux命令(46)——read命令
1.命令簡介 read命令是Shell內建命令,用於從標準輸入或-u選項指定的檔案描述符中讀取單行,並將讀取的單行根據IFS變數分割成多個欄位,並將分割後的欄位分別賦值給指定的變數列表var_name。第一個欄位分配給第一個變數var_name1,第二個欄位分配
Linux有趣(無用)的命令
準備 更新yum > yum update 安裝wget > yum install wget 下載EPEL > wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release
Linux命令(52)——ipcrm命令
1.命令簡介 ipcrm命令用於刪除指定ID的IPC(Inter-Process Communication,程序間通訊)物件,包括訊息佇列(message queue)、共享記憶體(shared memory)和訊號量(semaphore),同時將與IPC物件關聯的資料一併刪除,只
Linux命令(51)——ipcs命令
1.命令簡介 ipcs命令用於報告Linux中程序間通訊設施的狀態,顯示的資訊包括訊息列表、共享記憶體和訊號量的資訊。可以幫助開發人員定位程序間通訊中出現的問題。 2.命令格式 ipcs [resource-option] [output-format] ipcs [reso
linux基本命令(19)——find命令
Linux下find命令在目錄結構中搜索檔案,並執行指定的操作。find命令提供了相當多的查詢條件,功能很強大。由於find具有強大的功能,所以它的選項也很多,其中大部分選項都值得我們花時間來了解一下。即使系統中含有網路檔案系統(NFS),find命令在該檔案系統中同
每天一個linux命令(29): chown命令
chown將指定檔案的擁有者改為指定的使用者或組,使用者可以是使用者名稱或者使用者ID;組可以是組名或者組ID;檔案是以空格分開的要改變許可權的檔案列表,支援萬用字元。系統管理員經常使用chown命令,在將檔案拷貝到另一個使用者的名錄下之後,讓使用者擁有使用該檔案的許可權。
Linux學習(15)--管道命令
管道命令 如果一些資料要經過幾道手續之後才能得到我們想要的格式,應該如何來設定。這就是管道(pipe)命令的問題了,它使用 “|” 這個界定符號。而且管道命令與連續執行命令是不一樣的。 假如我們想知道 /etc 下面有多少檔案,那麼可以利用 ls /etc
Linux命令(1)——xargs命令
1.功能: xargs可以將stdin中以空格或換行符進行分隔的資料,形成以空格分隔的引數(arguments),傳遞給其他命令。因為以空格作為分隔符,所以有一些檔名或者其他意義的名詞內含有空格的時候,xargs可能會誤判。簡單來說,xargs是給其他命令傳遞
linux基本命令(30)——chown命令
chown將指定檔案的擁有者改為指定的使用者或組,使用者可以是使用者名稱或者使用者ID;組可以是組名或者組ID;檔案是以空格分開的要改變許可權的檔案列表,支援萬用字元。系統管理員經常使用chown命令,在將檔案拷貝到另一個使用者的名錄下之後,讓使用者擁有使用該
Linux命令(36)——awk命令
1.簡介 AWK是一個優良的文字處理工具,Linux及Unix環境中現有的功能最強大的資料處理引擎之一。資料可以來自標準輸入(stdin)、一個或多個檔案,或其它命令的輸出。它支援使用者自定義函式和動態正則表示式等先進功能,是linux/unix下的一個強大程
linux基本命令(32)——gzip命令
減少檔案大小有兩個明顯的好處,一是可以減少儲存空間,二是通過網路傳輸檔案時,可以減少傳輸的時間。gzip是在Linux系統中經常使用的一個對檔案進行壓縮和解壓縮的命令,既方便又好用。gzip不僅可以用來壓縮大的、較少使用的檔案以節省磁碟空間,還可以和tar命令一起構成Li