1. 程式人生 > >Linux真小白入門教程第五集——Bash Shell命令學習(2)

Linux真小白入門教程第五集——Bash Shell命令學習(2)

shell還提供了很多在Linux檔案系統上操作檔案的命令

touch命令可以輕鬆建立空檔案。

touch test_one

建立新檔案,並將你的使用者名稱作為檔案的屬主,此時檔案的大小為0,因為touch命令只建立了一個空檔案。

 

cp命令可以完成檔案的複製操作。最基本的用法:

cp source destination

若source和destionation引數都是檔名是,cp會將原始檔複製成一個新檔案,並且以destination命名。新的檔案就相當於新建立的檔案(注意若destination檔案已存在,cp命令並不會提醒這一點,最好加上-i選項,強制shell詢問是否需要覆蓋已有檔案)

若destination是目錄,則會將檔案複製到正確的目錄下(目錄記得最後也有"/"正斜線)

 

在使用命令列時,很容易輸錯命令、目錄名或檔名,此時可以使用製表鍵tab自動補全,在輸入檔名或是目錄名時,按一下製表鍵,可以自動補全。(若有相同的檔案頭的檔案,會列出所有以這個名稱開頭的檔案)

 

連結檔案時Linux檔案系統的一個優勢。如果需要在系統上維護同一檔案的兩份或者多份副本,除了儲存多份單獨的物理檔案副本之外,還可以採用儲存一份物理檔案副本和多個虛擬副本的方法。這種虛擬的副本就叫做連結,連結是目錄中指向檔案真實位置的佔位符。(分為兩種:符號連結、硬連結)

 

符號連結:本身就是一個實實在在的檔案,它指向存放在虛擬目錄結構中的某個地方的另一個檔案。這兩個通過符號連結在一起的檔案,彼此的內容並不相同。

ln命令與-s選項可以完成符號連結的建立

ln -s datafile1 datafile2

最後的箭頭符號表明該檔案是連結到另一個檔案上的,注意:兩個檔案的內容是不一樣的,file2本身只是一個指向file1的檔案,而file1儲存的是其他內容的檔案(可利用ls 命令 的 -i 引數檢視innode編號)

硬連結:這個會建立獨立的虛擬檔案,會包含原始檔案的資訊和位置,但是它們根本上而言是同一個檔案,引用硬連結檔案想放於引用了原始檔。需要建立硬連結,原始檔案必須存在

ln codefile1 codefile2

建立硬連結無需-s引數,兩個檔案的innode編號相同

(有點類似於C++裡面的指標與引用)

(只能對處於同一儲存媒體的檔案建立硬連結,想在不同的儲存媒體的檔案之間建立連結,只能使用符號連結)

(對於連結檔案的複製,還有很多門道,需要小心)