文件目錄管理命令

touch命令用於建立空白文件與設置文件的各類時間,格式爲:「touch [選項] [文件]」。linux

    這個touch命令可真的是特別好用,它可以爲我們建立出空白的文本文件,但這實在太簡單不須要去講,例如「touch linuxprobe」這樣就能夠建立出一個空白的名爲linuxprobe的文本文件,而有難度的操做主要是用於設置文件內容的修改時間(mtime)、文件權限或屬性的更改時間(ctime)與文件的讀取時間(atime)。ide

我們能夠在修改一個文件前先查看下文件的修改時間,而後再經過touch命令將修改後的文件時間設置假裝成本身沒有動過的同樣,不少***就會這麼作呢:spa

參數 做用
-a 僅修改「訪問時間」(atime)
-m 僅修改「更改時間」(mtime)
-d 同時修改atime與mtime


[root@localhost ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1213 May  4 15:44 anaconda-ks.cfg
[root@localhost ~]# echo "Visit the LinuxProbe.com to learn linux skills" >> anaconda-ks.cfg
[root@localhost ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1260 Aug  2 01:26 anaconda-ks.cfg
[root@localhost ~]# touch -d "2016-05-04 15:44" anaconda-ks.cfg 
[root@localhost ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1260 May  4 15:44 anaconda-ks.cfg

mkdir用於建立空白的文件夾,格式爲:「mkdir [選項] 目錄」。orm

    在Linux系統中文件夾應該是最多見的文件類型之一,除了通常的建立單個目錄操做外,我們還可使用「-p」參數來遞歸建立出具備嵌套疊層關係的文件目錄。server

[root@linuxprobe ~]# mkdir linuxprobe
[root@linuxprobe ~]# cd linuxprobe
[root@linuxprobe linuxprobe]# mkdir -p a/b/c/d/e
[root@linuxprobe linuxprobe]# cd a
[root@linuxprobe a]# cd b
[root@linuxprobe b]#

 cp命令用於複製文件或目錄,格式爲:「cp [選項] 源文件 目標文件」。對象

想必您必定對複製操做不是很陌生的,在Linux系統中的複製操做其實具體還分爲3種狀況,第一種狀況是若是目標文件是個目錄,則會將源文件複製到該目錄中,第二種狀況是若是目標文件也是個普通文件,則會提示是否要覆蓋它,最後是第三種的狀況了,若是目標文件是不存在的,則會將源文件修改爲目標文件的名稱,相似因而重命名的操做。遞歸

參數 做用
-p 保留原始文件的屬性
-d 若對象爲"連接文件",則保留該"連接文件"的屬性
-r 遞歸持續複製(用於目錄)
-i 若目標文件存在則詢問是否覆蓋
-a 至關於-pdr(p,d,r爲上述的參數)


首先建立一個名爲install.log的文件,而後將其複製出來一份名爲x.log的備份文件:ci

[root@linuxprobe ~]# touch install.log
[root@linuxprobe ~]# cp install.log x.log
[root@linuxprobe ~]# ls
install.log x.log

mv命令用於移動文件或更名,格式爲:「mv [選項] 源文件 [目標路徑|目標文件名]」。rem

剪切操做不一樣於複製操做,由於它會默認將源文件刪除掉,用戶就只有剪切後的文件了,而且若是對一個文件在同一個目錄中進行剪切操做,其實也是重命名的做用:it

[root@linuxprobe ~]# mv x.log linux.log

rm命令用於刪除文件或目錄,格式爲:「rm [選項] 文件」。

在Linux系統中刪除文件時會默認再向您詢問是否要執行刪除操做,若是不想總看到這種反覆的確認信息,您可使用「-f」參數來直接強制刪除,另外還要刪除於目錄文件夾的話,必需追加一個「-r」參數才能夠,不然是刪除不掉的,例如我們來嘗試刪除下剛剛那兩個文件吧:

[root@linuxprobe ~]# ls
install.log linux.log
[root@linuxprobe ~]# rm install.log
rm: remove regular empty file ‘install.log’? y
[root@linuxprobe ~]# rm -rf linux.log
[root@linuxprobe ~]# ls
[root@linuxprobe ~]#

dd命令用於指定大小的拷貝文件或指定轉換文件,格式爲:「dd [參數]」。

dd命令是個比較重要且具備特點的一個命令,它可以讓用戶指定數據塊的大小和個數來複制一個文件的內容,固然若是您願意的話還能夠在複製過程當中轉換其中的數據。Linux系統中有一個叫作/dev/zero的設備文件,每次講課解釋起來都感受有點哲學理論的色彩,由於它不會佔用您的系統存儲空間,但裏面卻能夠保存有無窮無盡的數據,通常用來搭配dd命令來生成出來一個指定大小的文件是再好不過的了。

參數 做用
if 輸入的文件名稱。
of 輸出的文件名稱。
bs 設置每一個「塊」的大小。
count 設置要拷貝「塊」的個數。


[root@linuxprobe ~]# dd if=/dev/zero of=560_file count=1 bs=560M
1+0 records in
1+0 records out
587202560 bytes (587 MB) copied, 27.1755 s, 21.6 MB/s

dd命令也絕對不只限於複製文件這麼簡單,若是您想把一個光盤設備只作成iso格式的鏡像文件,在Windows系統中必定免不了要用到第三方的不少軟件才能夠,但我們能夠直接使用這個dd命令來複制並壓制光盤設備變成一個可當即使用的iso鏡像哦:

[root@linuxprobe ~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
7311360+0 records in
7311360+0 records out
3743416320 bytes (3.7 GB) copied, 370.758 s, 10.1 MB/s

file命令用於查看文件的類型,格式爲:「file 文件名」。

如此看來在Linux系統中文本、目錄、設備等等這些一切都會能夠被統稱爲文件,而我們通常又不能單憑後綴就知道具體的文件類型,這時就能夠用file命令來查看下啦~

[root@linuxprobe ~]# file anaconda-ks.cfg 
anaconda-ks.cfg: ASCII text
[root@linuxprobe ~]# file /dev/sda
/dev/sda: block special
相關文章
相關標籤/搜索