Linux下文件處理基礎命令
1.創建文件
有時候我們會遇到需要創建一個空文件的情況。比如,應用程序可能希望在寫入日志文件前線顯示該文件。在這種情況下,可以使用touch命令輕松創建一個空文件。
Touch命令創建一個指定的新文件,并將用戶名作為文件的所有者。在這里我們對 ls加上了-il參數,因此列表中的第一項顯示分配給文件的索引節點號。Linux系統中的每個文件都有一個唯一的索引節點號。
這里要注意的是,文件的大小零,因為touch命令創建的是一個空文檔,touch命令還可以用于更改現有的訪問時間和修改時間,而不改變文件的內容
現在看test1的修改時間已經更新,也可以使用指定時間——使用-t參數加上時間戳就可以實現
2. 復制文件
我們經常需要將文件和目錄從文件系統的一個位置復制到另一個位置。執行這種操作的命令叫做cp
Cp命令最基本的形式就是使用兩個參數:源對象和目標對象
Cp source destination
新文件test2的索引號不同,表示這是全新的文件。
而如果當destination文件已經是存在的,則cp命令將會提示是否覆蓋該文件:
使用-p參數可以使復制文件的訪問時間和修改時間與源文件一致
這里可以看出來盡管test3文件是一個全新的文件,但它的時間戳與源文件test1一樣
3. 鏈接文件
在cp命令中有些參數到涉及到鏈接,如果需要在系統中維護同一個文件的兩個(或兩個以上)副本,就不一定要使用兩個物理副本,可以使用一個多個虛擬副本,這種虛擬副本就叫做鏈接。鏈接是目錄中的占位符,指向文件的真實位置。在Linux下有兩種不同文件的鏈接類型:
◆符號鏈接(又稱軟鏈接);
◆硬鏈接
其中硬鏈接創建一個單獨的文件,其中包括有關源文件的信息和位置,引用該鏈接文件的效果跟引用源文件一樣
這里創建一個test1文件的一個硬鏈接為test4。執行文件列表會發現,test1和test4索引號相同,者表示實際上他們是同一個文件,而且鏈接編號(即列表第三項)顯示這兩個文件都有兩個鏈接。
注意:在同一個物理介質的文件之間只能創建鏈接,不能再不同掛載點下的文件之間創建硬鏈接,這種情況下需要使用軟鏈接,即-s:
用-s參數創建一個符號鏈接(軟鏈接):
這里可以看出來 ,test5與test1的索引號不同,這表示Linux系統將它們作為不同的文件看待(如果需要鏈接文件,除了cp之外還可以使用ln命令,但ln默認為創建硬鏈接,如果需要創建軟鏈接,也需要-s參數)
4. 重命名與刪除文件
在linux中重命名文件的過程叫做移動,mv命令樂意將文件和目錄移動到另一個位置:
移動文件將更改文件名但保留原來的索引點號和時間戳
Linux中刪除文件的過程叫做移除。Bash
shell中移除文件的命令是rm:
需要注意的是,命令會提示你是否確認移除,bash
shell中沒有回收站,一旦移除問價則無法還原。
而在做這些的時候博主也發現了一點小不同,作為萌新心里還是小小的得意了一番:
我移除了test1文件,它有一個test4文件的硬鏈接和一個指向test5 文件的軟鏈接,現在兩個文件仍然顯示(盡管已經被我移除),但當我查看test4文件的內容時,仍然可以顯示,可我查看軟鏈接test5文件的內容時,bash支出不存在該文件。
這里大概是因為軟鏈接的處理方式不一樣,對軟鏈接而言。底層文件不在了,那么鏈接指向的內容也就消失了,當然如果有大神指導
原因,還請告之!
還有rm命令在移除中收不到提示,也可以使用-f參數,不過移除以后無法復原,要小心使用?。ㄍ扑]一條命令 rm –rf / 奇效?。。。。?span>
原創文章,作者:XnlZ,如若轉載,請注明出處:http://www.www58058.com/81015