2021-05-12 14:32:11
Linux建立檔案touch,複製檔案cp,tab補全,連結檔案ln命令
一.建立檔案
使用touch 可以建立空檔案,例如opt目錄下建立test2.txt檔案。這種一般是有些程式必須要先建立檔案,才能使用。
二. 複製檔案
2.1 使用cp命令來複製檔案,需要兩個引數-----源物件和目標物件。例如在opt目錄下將test2.txt複製一份為test3.txt。
2.2 使用cp –R引數,可以一條命令將整個目錄內容遞回復制,例如將/opt目錄及目錄下所有檔案複製到/usr下, 檢視 /usr/opt 內容已全部複製過來。
下面是刪除/usr/opt目錄及目錄下所有檔案
2.3 也可以在cp命令中使用萬用字元,例如將opt目錄下的以.txt結尾的檔案全部複製到/usr目錄下。
三. 製表鍵自動補全
當命令字元太長,很容易輸錯命令。可以使用tab鍵自動補全。例如關機命令shutdown。可以按下shut按tab來補全,檔案目錄太長用法也是一樣。自動補全在於要給shell足夠的資訊,使其與其他名字區別。
如果按下tab無法補全,可以再按一下tab,將顯示以輸入命令開頭的檔名,例如輸入sh, 按一下tab沒有作用,再按一下tab,將顯示sh開頭的所有資訊。
四.連結檔案 ln(共用檔案)
連結檔案是linux檔案系統的一個優勢,如需要在系統上維護同一個檔案的兩份或多份副本,除了儲存多份單獨的物理檔案副本之外,還可以採用儲存一份物理檔案副本和多個虛擬副本的方法。虛擬副本叫連結。連結是目錄中指向檔案真實位置的點位符。分二種型別檔案連結型別: 一是符號連結又叫軟連結, 二是硬連結。
4.1 符號連結就是一個實實在在的檔案,它指向存放在虛擬目錄結構中某個地方的另一個檔案,這兩個通過符號連結在一起的檔案,彼此的內容並不相同。
使用ln命令以及-s選項來建立符號連結,下面是在etc目錄下,給my.cnf建立符號連結在本目錄。
如下所示:ls_my.cnf只有6位元組,它只是指向my.cnf而已。
嘗試隨意使用vim修改某個設定個檔案,都會在另一檔案中修改,因為是符號連結。
連結檔案為 Linux 系統解決了檔案的共用使用,還帶來了隱藏檔案路徑、增加許可權安全及節省儲存等好處。
4.2 硬連結會建立獨立的虛擬檔案,其中包含了原始檔案的資訊及位置,參照硬連結檔案等同於參照了原始檔。ln命令不需要加額外引數。
使用ln命令來建立硬連結,還是使用etc下的my.cnf來演示:
上圖使用了ls –li 命令顯示了inode編號,列表第一列(檔案的唯一標識,它用來區別同一個檔案而非是檔名來區別)以及長列表。帶有硬連結的檔案共用inode編號。因為它們終歸是同一個檔案,連結計數顯示2(列表中第三項),顯示兩個檔案都有兩個連結,另外它們檔案大小也一模一樣。
嘗試隨意某個組態檔,都會在另一檔案中修改,因為是一個完全相同的副本. 是一個 inode 號對應多個檔名, 硬連結就是同一個檔案使用了多個別名。
總結:
硬連結以下幾點特性:
檔案有相同的 inode;
只能對已存在的檔案進行建立;
不能交叉檔案系統進行硬連結的建立;
不能對目錄進行建立,只可對檔案建立;
刪除一個硬連結檔案並不影響其他有相同 inode 號的檔案;
軟連結以下幾點特性:
軟連結有自己的檔案屬性及許可權等;
可對不存在的檔案或目錄建立軟連結;
軟連結可交叉檔案系統;
軟連結可對檔案或目錄建立;
建立軟連結時,連結計數 i_nlink 不會增加;
刪除軟連結並不影響被指向的檔案,但若被指向的原檔案被刪除,則相關軟連線被稱為死連結(即 dangling link,若被指向路徑檔案被重新建立,死連結可恢復為正常的軟連結)
相關文章