對于Linux系統來說,其文件管理算是一塊比較重要的功能。下面將介紹一下文件管理相關的內容。對于文件管理而言,其實大致上可以分為兩大模塊,即:普通文件管理和目錄文件管理。下面將分別進行介紹。
一、普通文件管理
1.1 文件的路徑
對于Linux系統而言,其文件路徑大致分為兩種,分別是:絕對路徑和相對路徑。
所謂絕對路徑是指從根目錄開始的全路徑被稱為“絕對路徑”,我們可以使用pwd命令來查看當前所在位置的絕對路徑,如下所示:
所謂“相對路徑”是指從當前路徑開始的路徑。對于相對路徑來說,有兩個特殊的值,分別是:" . "和 " .. "。其中" . "表示當前目錄,而" .. "則表示當前目錄的上級目錄。在每個目錄下,都會存在這兩個特殊的目錄。下面給出對應的例子。
假如當前的目錄為/mnt,我們使用如下命令來查看當前目錄下的文件:
這時我們執行“cd .”命令,執行之后使用pwd命令查看當前所屬的位置,結果如下所示:
接著我們執行“cd ..”命令,執行之后再次使用pwd命令來查看當前所屬的位置,結果如下所示:
1.2 文件的相關操作
對于文件的操作而言,常見的有:創建、刪除、移動或重命名、復制、查看文件等。
創建文件使用到的命令為touch,下面創建一個test.txt,相關命令如下所示:
touch test.txt
執行之后結果如下所示:
需要說明一點的是,當使用touch命令創建文件時,若當前目錄中已經存在了同名同類型的文件,那么該命令不會對當前目錄下的同名文件內容造成任何影響,其僅僅修改該文件的創建時間屬性。
再次使用touch命令創建一個在本目錄下已經存在的test.txt文件,執行后如下圖所示:
刪除文件使用到的命令是rm,比如刪除test.txt的命令如下所示:
rm test.txt
執行結果如下所示:
需要說明一點的是,rm后面可以跟一個參數:-f。通過該參數可以無需詢問直接將對應文件進行刪除。比如通過touch命令再次創建test.txt后,使用rm -f的方式進行刪除,執行結果如下所示:
對文件進行移動或重命名的命令是mv。在測試之前先做一些準備工作。
首先使用mkdir命令創建兩個文件夾:src和dest。接著在src目錄下使用touch命令創建一個test.txt的文件,使用到的命令如下所示:
# 創建src和dest目錄
mkdir src dest
# 進入src目錄
cd src
# 創建test.txt文件
touch test.txt
執行執行如下命令來將test.txt從src目錄下移動到dest目錄下:
[root@localhost src]# mv test.txt ../dest/
接著使用cd命令進入到dest目錄下查看,結果如下所示:
當然我們也可以使用如下的命令來對文件進行重命名:
mv test.txt test2.txt
執行結果如所示:
從上述結果可知怎么修改文件的時間屬性,若使用mv時,源文件和目標文件處于同一目錄下時,就是對文件重命名,否則就是移動文件。
復制文件使用到的命令為:cp,下面以復制text2.txt為例,對應的命令為:
cp test2.txt ../src/
執行后使用cd命令進入src目錄,使用ll命令查看結果如下所示:
查看文件使用到的命令有三個,分別是:cat、head和tail。下面給出對應的例子。
首先使用cat命令查看/root/-ks.cfg文件,對應的命令如下所示:
cat /root/anaconda-ks.cfg
執行結果如下所示:
如果需要顯示行號,可以增加“-n”參數,增加參數之后的命令如下:
cat -n /root/anaconda-ks.cfg
執行結果如下所示:
有時候某些文件非常大,若使用cat命令進行顯示,則顯示出來的內容會比較多,而我們又不需要查看所有的內容,此時就可以使用head命令。默認情況下,head將顯示該文件前10行的內容。以查看/root/-ks.cfg為例,下面是對應的命令:
head /root/anaconda-ks.cfg
執行結果如下所示:
如果需要改變顯示的行數,則可以通過-n參數來指定,比如顯示15行,下面是修改后的命令:
head -n 15 /root/anaconda-ks.cfg
執行結果如下所示:
當文件很大時,除了可以查看頭部內容外,還可以通過tail命令查看文件尾部的內容,默認情況下tail也是只顯示文件的最后10行內容,同樣可以使用-n參數指定顯示的行數下面是對應的命令:
tail /root/anaconda-ks.cfg
執行結果如下所示:
至于加-n參數的例子與head類似,這里不再進行演示。
此外,tail還有個更實用的功能,就是可以動態地查看文件的尾部內容。這對查看一些內容不斷追加的文件來說非常有用。比如動態查看/var/log/的尾部信息,對應命令如下所示:
tail -f /var/log/messages
執行結果如下所示:
二、目錄文件管理
對于目錄文件管理來說,常見的操作有:進入目錄、查看目錄項、查看當前目錄、創建目錄和刪除目錄。
進入目錄需要使用到的命令為:cd,下面來進行簡單的演示。
當使用cd命令時,如果不帶參數,就會進入當前用戶的主目錄。下面分別是root用戶和普通用戶使用的情況:
root用戶
普通用戶user1
如果攜帶參數,就會進入指定的目錄,比如進入/root/src目錄,執行結果如下所示:
對于cd命令來說,有幾個特殊的路徑符號,分別為:"/" 、"~" 和 "-"。其中,"/" 表示根目錄,"~"表示當前用戶的主目錄,而"-"則表示上一個訪問的目錄。
查看目錄項使用的命令是ls,其常用的參數有:-a、-l和-h。其中-a表示列出全部目錄項,也包括隱藏文件;-l是以數據串的形式列出,也就是將對應的一些屬性進行一并列出,而非僅僅列出名字;-h是以易讀大小進行顯示,也就是會顯示目錄項的大小。
下面給出一個例子,使用ls命令列出/root目錄下的內容,并且以長字符串的形式顯示,并顯示易讀大小,對應的命令如下所示:
ls -alh /root
執行結果如下所示:
當然,如果采用ls -l來查看目錄項的時候,可以使用其簡寫命令:ll。
查看當前目錄使用的命令為:pwd,比如我當前在/root下,使用pwd之后結果如下圖所示:
創建使用到的命令為:mkdir,下面給出對應的例子。
首先使用如下命令創建一個名為dir1的目錄:
mkdir dir1
創建之后使用ll命令進行查看,結果如下所示:
需要說明的是,如果需要當父目錄不存在時,需要指定-p參數,指定之后就可以通過該參數來將父目錄一并進行創建,比如創建/root/src/dir1/dir2/dir3目錄,而dir2目錄是不存在的,此時如果不加-p參數,則會報如下提示:
但是,如果加上“-p”參數,則執行結果如下所示:
刪除的命令有兩個,分別是:rmdir和rm。
對于rmdir來說,只能刪除空目錄,若目錄不為空,則會刪除失敗。比如我試圖刪除/root/src/dir1/dir2,此時因為該目錄下還有一個dir3目錄,因此執行如下命令時會提示失?。?/p>
rmdir /root/src/dir1/dir2
執行結果如下所示:
但如果刪除/root/src/dir1/dir2/dir3則可以進行刪除,修改后的命令如下:
rmdir /root/src/dir1/dir2/dir3
執行結果如下所示:
而對于rm來說,需要指定-r參數后才能進行刪除,而且未對目錄是否為空進行限制。比如刪除/root/src/dir1目錄,對應的命令如下所示:
rm -r /root/src/dir1
執行結果如下所示:
到此怎么修改文件的時間屬性,關于文件管理相關介紹已經完畢,希望對大家有所幫助。