Linux ln命令具體解釋及使用

2021-09-06 19:00:02 字數 3546 閱讀 2515

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...