W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
目前為止,我們學(xué)習(xí)Linux命令就像是在夯實(shí)地基,雖然表面上暫時(shí)還看不到成果,但其實(shí)大家的內(nèi)功已經(jīng)相當(dāng)雄厚了。在Linux系統(tǒng)的日常運(yùn)維工作中,還需要掌握對(duì)文件的創(chuàng)建、修改、復(fù)制、剪切、更名與刪除等操作。
1.touch命令
touch命令用于創(chuàng)建空白文件或設(shè)置文件的時(shí)間,格式為“touch [選項(xiàng)] [文件]”。
在創(chuàng)建空白的文本文件方面,這個(gè)touch命令相當(dāng)簡捷,簡捷到?jīng)]有必要鋪開去講。比如,touch linuxprobe
命令可以創(chuàng)建出一個(gè)名為linuxprobe的空白文本文件。對(duì)touch命令來講,有難度的操作主要是體現(xiàn)在設(shè)置文件內(nèi)容的修改時(shí)間(mtime)、文件權(quán)限或?qū)傩缘母臅r(shí)間(ctime)與文件的讀取時(shí)間(atime)上面。touch命令的參數(shù)及其作用如表2-11所示。
表2-11 touch命令的參數(shù)及其作用
參數(shù) | 作用 |
---|---|
-a | 僅修改“讀取時(shí)間”(atime) |
-m | 僅修改“修改時(shí)間”(mtime) |
-d | 同時(shí)修改atime與mtime |
接下來,我們先使用ls命令查看一個(gè)文件的修改時(shí)間,然后修改這個(gè)文件,最后再通過touch命令把修改后的文件時(shí)間設(shè)置成修改之前的時(shí)間(很多黑客就是這樣做的呢):
[root@linuxprobe ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1213 May 4 15:44 anaconda-ks.cfg
[root@linuxprobe ~]# echo "Visit the LinuxProbe.com to learn linux skills" >> anaconda-ks.cfg
[root@linuxprobe ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1260 Aug 2 01:26 anaconda-ks.cfg
[root@linuxprobe ~]# touch -d "2017-05-04 15:44" anaconda-ks.cfg
[root@linuxprobe ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1260 May 4 15:44 anaconda-ks.cfg
2.mkdir命令
mkdir命令用于創(chuàng)建空白的目錄,格式為“mkdir [選項(xiàng)] 目錄”。
在Linux系統(tǒng)中,文件夾是最常見的文件類型之一。除了能創(chuàng)建單個(gè)空白目錄外,mkdir命令還可以結(jié)合-p參數(shù)來遞歸創(chuàng)建出具有嵌套疊層關(guān)系的文件目錄。
[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]#
3.cp命令
cp命令用于復(fù)制文件或目錄,格式為“cp [選項(xiàng)] 源文件 目標(biāo)文件”。大家對(duì)文件復(fù)制操作應(yīng)該不陌生,在Linux系統(tǒng)中,復(fù)制操作具體分為3種情況:
如果目標(biāo)文件是目錄,則會(huì)把源文件復(fù)制到該目錄中;
如果目標(biāo)文件也是普通文件,則會(huì)詢問是否要覆蓋它;
如果目標(biāo)文件不存在,則執(zhí)行正常的復(fù)制操作。
cp命令的參數(shù)及其作用如表2-12所示。
表2-12 cp命令的參數(shù)及其作用
參數(shù) | 作用 |
---|---|
-p | 保留原始文件的屬性 |
-d | 若對(duì)象為“鏈接文件”,則保留該“鏈接文件”的屬性 |
-r | 遞歸持續(xù)復(fù)制(用于目錄) |
-i | 若目標(biāo)文件存在則詢問是否覆蓋 |
-a | 相當(dāng)于-pdr(p、d、r為上述參數(shù)) |
接下來,使用touch創(chuàng)建一個(gè)名為install.log的普通空白文件,然后將其復(fù)制為一份名為x.log的備份文件,最后再使用ls命令查看目錄中的文件:
[root@linuxprobe ~]# touch install.log
[root@linuxprobe ~]# cp install.log x.log
[root@linuxprobe ~]# ls
install.log x.log
4.mv命令
mv命令用于剪切文件或?qū)⑽募孛?,格式為“mv [選項(xiàng)] 源文件 [目標(biāo)路徑|目標(biāo)文件名]”。
剪切操作不同于復(fù)制操作,因?yàn)樗鼤?huì)默認(rèn)把源文件刪除掉,只保留剪切后的文件。如果在同一個(gè)目錄中對(duì)一個(gè)文件進(jìn)行剪切操作,其實(shí)也就是對(duì)其進(jìn)行重命名:
[root@linuxprobe ~]# mv x.log linux.log
[root@linuxprobe ~]# ls
install.log linux.log
5.rm命令
rm命令用于刪除文件或目錄,格式為“rm [選項(xiàng)] 文件”。
在Linux系統(tǒng)中刪除文件時(shí),系統(tǒng)會(huì)默認(rèn)向您詢問是否要執(zhí)行刪除操作,如果不想總是看到這種反復(fù)的確認(rèn)信息,可在rm命令后跟上-f參數(shù)來強(qiáng)制刪除。另外,想要?jiǎng)h除一個(gè)目錄,需要在rm命令后面加一個(gè)-r參數(shù)才可以,否則刪除不掉。
rm命令中的參數(shù)及其作用
參數(shù) | 作用 |
---|---|
-f | 強(qiáng)制執(zhí)行 |
-i | 刪除前詢問 |
-r | 刪除目錄 |
-v | 顯示過程 |
我們來嘗試刪除前面創(chuàng)建的install.log和linux.log文件:
[root@linuxprobe ~]# rm install.log
rm: remove regular empty file ‘install.log’? y
[root@linuxprobe ~]# rm -f linux.log
[root@linuxprobe ~]# ls
[root@linuxprobe ~]#
6.dd命令
dd命令用于按照指定大小和個(gè)數(shù)的數(shù)據(jù)塊來復(fù)制文件或轉(zhuǎn)換文件,格式為“dd [參數(shù)]”。
dd命令是一個(gè)比較重要而且比較有特色的一個(gè)命令,它能夠讓用戶按照指定大小和個(gè)數(shù)的數(shù)據(jù)塊來復(fù)制文件的內(nèi)容。當(dāng)然如果愿意的話,還可以在復(fù)制過程中轉(zhuǎn)換其中的數(shù)據(jù)。Linux系統(tǒng)中有一個(gè)名為/dev/zero的設(shè)備文件,每次在課堂上解釋它時(shí)都充滿哲學(xué)理論的色彩。因?yàn)檫@個(gè)文件不會(huì)占用系統(tǒng)存儲(chǔ)空間,但卻可以提供無窮無盡的數(shù)據(jù),因此可以使用它作為dd命令的輸入文件,來生成一個(gè)指定大小的文件。dd命令的參數(shù)及其作用如表2-13所示。
表2-13 dd命令的參數(shù)及其作用
參數(shù) | 作用 |
---|---|
if | 輸入的文件名稱 |
of | 輸出的文件名稱 |
bs | 設(shè)置每個(gè)“塊”的大小 |
count | 設(shè)置要復(fù)制“塊”的個(gè)數(shù) |
例如我們可以用dd命令從/dev/zero設(shè)備文件中取出一個(gè)大小為560MB的數(shù)據(jù)塊,然后保存成名為560_file的文件。在理解了這個(gè)命令后,以后就能隨意創(chuàng)建任意大小的文件了:
[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命令的功能也絕不僅限于復(fù)制文件這么簡單。如果您想把光驅(qū)設(shè)備中的光盤制作成iso格式的鏡像文件,在Windows系統(tǒng)中需要借助于第三方軟件才能做到,但在Linux系統(tǒng)中可以直接使用dd命令來壓制出光盤鏡像文件,將它變成一個(gè)可立即使用的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
考慮到有些讀者會(huì)糾結(jié)bs塊大小與count塊個(gè)數(shù)的關(guān)系,下面舉一個(gè)吃貨的例子進(jìn)行解釋。假設(shè)小明的飯量(即需求)是一個(gè)固定的值,用來盛飯的勺子的大小即bs塊大小,而用勺子盛飯的次數(shù)即count塊個(gè)數(shù)。小明要想吃飽(滿足需求),則需要在勺子大?。╞s塊大小)與用勺子盛飯的次數(shù)(count塊個(gè)數(shù))之間進(jìn)行平衡。勺子越大,用勺子盛飯的次數(shù)就越少。由上可見,bs與count都是用來指定容量的大小,只要能滿足需求,可隨意組合搭配方式。
7.file命令
file命令用于查看文件的類型,格式為“file 文件名”。
在Linux系統(tǒng)中,由于文本、目錄、設(shè)備等所有這些一切都統(tǒng)稱為文件,而我們又不能單憑后綴就知道具體的文件類型,這時(shí)就需要使用file命令來查看文件類型了。
[root@linuxprobe ~]# file anaconda-ks.cfg
anaconda-ks.cfg: ASCII text
[root@linuxprobe ~]# file /dev/sda
/dev/sda: block special
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: