最近在學習Linux系統的,給我的感覺就是“智慧的結晶,智慧的大腦,智慧的操作” 今天研究到了一個有趣的命令 ln 我們先來看一下它的概念吧 Linux ln命令是一個非常重要命令,它的功能是為某一個文件在另外一個位置建立一個同步的鏈接。 當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個 ...
最近在學習Linux系統的,給我的感覺就是“智慧的結晶,智慧的大腦,智慧的操作”
今天研究到了一個有趣的命令 ln 我們先來看一下它的概念吧
Linux ln命令是一個非常重要命令,它的功能是為某一個文件在另外一個位置建立一個同步的鏈接。
當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放上該文件,然後在 其它的目錄下用ln命令鏈接(link)它就可以,不必重覆的占用磁碟空間。
下麵我們來正式學習它!
一、語法
ln [參數][源文件或目錄][目標文件或目錄]
命令功能 :
Linux文件系統中,有所謂的鏈接(link),我們可以將其視為檔案的別名,而鏈接又可分為兩種 : 硬鏈接(hard link)與軟鏈接(symbolic link),硬鏈接的意思是一個檔案可以有多個名稱,而軟鏈接的方式則是產生一個特殊的檔案,該檔案的內容是指向另一個檔案的位置。硬鏈接是存在同一個文件系統中,而軟鏈接卻可以跨越不同的文件系統。
不論是硬鏈接或軟鏈接都不會將原本的檔案複製一份,只會占用非常少量的磁碟空間。
軟鏈接:
- 1.軟鏈接,以路徑的形式存在。類似於Windows操作系統中的快捷方式
- 2.軟鏈接可以 跨文件系統 ,硬鏈接不可以
- 3.軟鏈接可以對一個不存在的文件名進行鏈接
- 4.軟鏈接可以對目錄進行鏈接
硬鏈接:
- 1.硬鏈接,以文件副本的形式存在。但不占用實際空間。
- 2.不允許給目錄創建硬鏈接
- 3.硬鏈接只有在同一個文件系統中才能創建
二、命令參數
必要參數:
- -b 刪除,覆蓋以前建立的鏈接
- -d 允許超級用戶製作目錄的硬鏈接
- -f 強制執行
- -i 交互模式,文件存在則提示用戶是否覆蓋
- -n 把符號鏈接視為一般目錄
- -s 軟鏈接(符號鏈接)
- -v 顯示詳細的處理過程
選擇參數:
- -S "-S<字尾備份字元串> "或 "--suffix=<字尾備份字元串>"
- -V "-V<備份方式>"或"--version-control=<備份方式>"
- --help 顯示幫助信息
- --version 顯示版本信息
三、實例
給文件創建軟鏈接,為log2013.log文件創建軟鏈接link2013,如果log2013.log丟失,link2013將失效:
ln -s log2013.log link2013
輸出:
[root@arebirth test]# ll -rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log [root@arebirth test]# ln -s log2013.log link2013 [root@arebirth 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創建硬鏈接ln2013,log2013.log與ln2013的各項屬性相同
ln log2013.log ln2013
輸出:
[root@arebirth 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 [root@arebirth test]# ln log2013.log ln2013 [root@arebirth 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
PS:
第一:軟鏈接 前面是 l 開頭的(link),而硬鏈接是 - 開頭,表示文件
第二:軟鏈接所有者和所屬組具有全部操作的許可權,rwxrwxrwx;而硬鏈接不是。也就是軟鏈接的前面都是 lrwxrwxrwx
第三:軟鏈接類似與 windows 的快捷方式,有一個明顯的箭頭指向,而指向的是源文件
第四:硬鏈接文件除了文件名與源文件不一樣,其餘所有信息都是一樣的。類似於 cp 複製操作。但是又和複製不一樣,硬鏈接可以同步更新。
第五:通過 ls -i 操作,來查看 文件的 i 節點。發現硬鏈接和源文件的 i 節點是相同的,而軟鏈接與源文件的 i 節點是不同的
第六:不允許將硬鏈接指向目錄;不允許跨分區創建硬鏈接