linux ln命令具體解釋及使用
ln是linux中乙個很重要命令,它的功能是為某乙個檔案在另外乙個位置建立乙個不同的鏈結,這個命令最經常使用的引數是-s,詳細使用方法是:ln –s 原始檔 目標檔案。
當我們須要在不同的資料夾,用到同樣的檔案時,我們不須要在每個須要的資料夾下都放乙個必須同樣的檔案,我們僅僅要在某個固定的資料夾,放上該檔案,然後在其他的資料夾下用ln命令鏈結(link)它就能夠,不必反覆的占用磁碟空間。比如:ln–s /bin/less /usr/local/bin/less
這一點類似於windows下的快捷方式,但又有所不同。
-s 是代號(symbolic)的意思。
這裡有兩點要注意:
第一,ln命令會保持每一處鏈結檔案的同步性,也就是說,不論你修改了哪一處,其他的檔案都會發生同樣的變化;
第二,ln的鏈結分軟鏈結和硬鏈結兩種,軟鏈結就是ln–s ** **,它僅僅會在你選定的位置上生成乙個檔案的映象,不會占用磁碟空間,硬鏈結ln** **,沒有引數-s, 它會在你選定的位置上生成乙個和原始檔大小同樣的檔案,不管是軟鏈結還是硬鏈結,檔案都保持同步變化。
假設用ls察看乙個資料夾時,發現有的檔案後面有乙個@的符號且檔案或資料夾的顏色和別的不一樣,我機子上是藍色的,那就是乙個用ln命令生成的檔案,用ls –l命令去察看,就能夠看到顯示的link的路徑了。
也能夠直接使用ll命令檢視,可看到軟連線及其link的路徑。
指令名稱 : ln
使用許可權 : 全部使用者
使用方式 :ln [options] source dist
當中 option 的格式為 :
[-bdfinsvf] [-s backup-suffix] [-v]
[--help] [--version] [--]
說明 : linux/unix 檔案系統中,有所謂的鏈結(link),我們能夠將其視為檔案的別名,而鏈結又可分為兩種: 硬鏈結(hardlink)與軟鏈結(symboliclink),硬鏈結的意思是乙個檔案能夠有多個名稱,而軟鏈結的方式則是產生乙個特殊的檔案,該檔案的內容是指向還有乙個檔案的位置。硬鏈結是存在同乙個檔 案系統中,而軟鏈結卻能夠跨越不同的檔案系統。
ln source dist 是產生乙個鏈結(dist)到 source,至於使用硬鏈結或軟鏈結則由引數決定。
不論是硬鏈結或軟鏈結都不會將原本的檔案複製乙份,僅僅會占用很少量的磁碟空間。
-f:
鏈結時先將與
dist
同檔名的檔案刪除
-d:同意系統管理者硬鏈結自己的資料夾
-i:
在刪除與
dist
同檔名的檔案時先進行詢問
-n:在進行軟鏈結時,將
dist
視為一般的檔案
-s:進行軟鏈結
(symboliclink)
-v:在鏈結之前顯示其檔名
-b:將在鏈結時會被覆寫或刪除的檔案進行備份
-ssuffix :
將備份的檔案都加上
suffix
的字尾
-vmethod :
指定備份的方式
--help:
顯示輔助說明
--version:
顯示版本號
演示樣例:
#將檔案 xyy產生乙個 symbolic link : zyy
ln -s xyy zyy
#將檔案xyy產生乙個 hard link : zyy
lnxyy zyy
ln-s abc cde #建立abc 的軟連線
lnabc cde #建立abc的硬連線
硬鏈結可覺得是乙個檔案擁有兩個檔名稱
;而軟鏈結則是系統新建乙個鏈結檔案,此檔案指向其所要指的檔案。此外,軟鏈結可對檔案和目錄,而硬鏈結僅針對檔案。
對於乙個檔案來說,有唯一的索引接點與之相應,而對於乙個索引接點號,卻能夠有多個檔名稱與之相應。因此,在磁碟上的同乙個檔案能夠通過不同的路徑去訪問該檔案。注意在
linux
下是一切皆檔案,目錄、新加的硬碟
...都能夠看著檔案來處理的。
連線有軟連線和
硬連線(hard link)
之分的,
軟連線(symbolic link)
又叫符號連線
。符號連線相當於
windows
下的快捷方式。
不能夠對目錄建立硬連線的,我們通經常使用的還是軟連線比較多。
演示樣例:
ln -s source dist #
建立軟連線
ln source dist #
建立硬連線
軟鏈結實際上僅僅是一段文字,裡面包括著它所指向的檔案的名字,系統看到軟鏈結後自己主動跳到相應的檔案位置處進行處理;相反,硬聯接為檔案開設乙個新的資料夾項,硬鏈結與檔案原有的名字是平權的,在
linux
看來它們是等價的。因為這個原因,硬鏈結不能連線兩個不同檔案系統上的檔案。
(1)軟連線能夠跨檔案系統
,硬連線不能夠
。實踐的方法就是用共享檔案把
windows
下的aa.txt
文字文件連線到
linux
下/root
資料夾下
bb,cc . ln -saa.txt /root/bb
連線成功
。ln aa.txt/root/bb失敗。
(2)關於
i節點的問題
。硬連線無論有多少個,都指向的是同乙個
i節點,會把
結點連線數新增,僅僅要結點的連線數不是
0,檔案就一直存在,無論你刪除的是原始檔還是
連線的檔案
。僅僅要有乙個存在
,檔案就
存在(事實上也不分什麼原始檔連線檔案的
,由於他們指向都是同乙個
i節點)。
當你改動原始檔或者連線檔案不論什麼乙個的時候
,其它的檔案都會做同步的改動。軟鏈結不直接使用
i節點號作為檔案指標
,而是使用檔案路徑名作為指標。所以
刪除連線檔案
對原始檔無影響,可是刪除原始檔,連線檔案就會找不到要指向的檔案
。軟鏈結有自己的
inode,
並在磁碟上有一小片空間存放路徑名.(
3)軟連線能夠對乙個不存在的檔名稱進行連線。(
4)軟連線能夠對資料夾進行連線。
(5)
刪除符號鏈結,有建立就有刪除
rm -rf symbolic_name
注意不是rm -rf symbolic_name/ Linux ln命令詳解及使用
ln是linux中乙個非常重要命令,它的功能是為某乙個檔案在另外乙個位置建立乙個不同的鏈結,這個命令最常用的引數是 s,具體用法是 ln s 原始檔 目標檔案。1.ln命令概述 當我們需要在不同的目錄,用到相同的檔案時,我們不需要在每乙個需要的目錄下都放乙個必須相同的檔案,我們只要在某個固定的目錄,...
curl命令具體解釋
對於windows使用者假設用cygwin模擬unix環境的話,裡面沒有帶curl命令,要自己裝,所以建議用gow來模擬,它已經自帶了curl工具,安裝後直接在cmd環境中用curl命令就可,由於路徑已經自己主動給你配置好了。root krlcgcms01 mytest curl f curl 22...
curl命令具體解釋
對於windows使用者假設用cygwin模擬unix環境的話,裡面沒有帶curl命令,要自己裝,所以建議用gow來模擬,它已經自帶了curl工具,安裝後直接在cmd環境中用curl命令就可,由於路徑已經自己主動給你配置好了。root krlcgcms01 mytest curl f curl 22...