touch命令
有兩個功能:一是用于把已存在文件的時間標(biāo)簽更新為系統(tǒng)當(dāng)前的時間(默認(rèn)方式),它們的數(shù)據(jù)將原封不動地保留下來;二是用來創(chuàng)建新的空文件。
選項:
- -a:或--time=atime或--time=access或--time=use 只更改存取時間;
- -c:或--no-create 不建立任何文件;
- -d:<時間日期> 使用指定的日期時間,而非現(xiàn)在的時間;
- -f:此參數(shù)將忽略不予處理,僅負(fù)責(zé)解決BSD版本touch指令的兼容性問題;
- -m:或--time=mtime或--time=modify 只更該變動時間;
- -r:<參考文件或目錄> 把指定文件或目錄的日期時間,統(tǒng)統(tǒng)設(shè)成和參考文件或目錄的日期時間相同;
- -t:<日期時間> 使用指定的日期時間,而非現(xiàn)在的時間;
mkdir命令
創(chuàng)建目錄
選項:
- -Z:設(shè)置安全上下文,當(dāng)使用SELinux時有效;
- -m<目標(biāo)屬性>或--mode<目標(biāo)屬性>建立目錄的同時設(shè)置目錄的權(quán)限;
- -p或--parents 若所要建立目錄的上層目錄目前尚未建立,則會一并建立上層目錄;
參數(shù):
目錄:指定要創(chuàng)建的目錄列表,多個目錄之間用空格隔開。
cp命令
用來將一個或多個源文件或者目錄復(fù)制到指定的目的文件或目錄。
選項:
- -a:此參數(shù)的效果和同時指定"-dpR"參數(shù)相同;
- -d:當(dāng)復(fù)制符號連接時,把目標(biāo)文件或目錄也建立為符號連接,并指向與源文件或目錄連接的原始文件或目錄;
- -f:強行復(fù)制文件或目錄,不論目標(biāo)文件或目錄是否已存在;
- -i:覆蓋既有文件之前先詢問用戶;
- -l:對源文件建立硬連接,而非復(fù)制文件;
- -p:保留源文件或目錄的屬性;
- -R/r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
- -s:對源文件建立符號連接,而非復(fù)制文件;
- -u:使用這項參數(shù)后只會在源文件的更改時間較目標(biāo)文件更新時或是名稱相互對應(yīng)的目標(biāo)文件并不存在時,才復(fù)制文件;
- -S:在備份文件時,用指定的后綴“SUFFIX”代替文件的默認(rèn)后綴;
- -b:覆蓋已存在的文件目標(biāo)前將目標(biāo)文件備份;
- -v:詳細(xì)顯示命令執(zhí)行的操作。
參數(shù):
源文件:制定源文件列表。默認(rèn)情況下,cp命令不能復(fù)制目錄,如果要復(fù)制目錄,則必須使用-R選項;
目標(biāo)文件:指定目標(biāo)文件。當(dāng)“源文件”為多個文件時,要求“目標(biāo)文件”為指定的目錄。
注意:所有目標(biāo)文件指定的目錄必須是己經(jīng)存在的,cp命令不能創(chuàng)建目錄。
實例:
我們在Linux下使用cp命令復(fù)制文件時候,有時候會需要覆蓋一些同名文件,覆蓋文件的時候都會有提示:需要不停的按Y來確定執(zhí)行覆蓋。文件數(shù)量不多還好,但是要是幾百個估計按Y都要吐血了,于是折騰來半天總結(jié)了一個方法:
cp aaa/* /bbb
復(fù)制目錄aaa下所有到/bbb目錄下,這時如果/bbb目錄下有和aaa同名的文件,需要按Y來確認(rèn)并且會略過aaa目錄下的子目錄。
cp -r aaa/* /bbb
這次依然需要按Y來確認(rèn)操作,但是沒有忽略子目錄。
cp -r -a aaa/* /bbb
依然需要按Y來確認(rèn)操作,并且把aaa目錄以及子目錄和文件屬性也傳遞到了/bbb。
\cp -r -a aaa/* /bbb
成功,沒有提示按Y、傳遞了目錄屬性、沒有略過目錄。
mv命令
用來對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中。
選項:
- --backup=<備份模式>:若需覆蓋文件,則覆蓋前先行備份;
- -b:當(dāng)文件存在時,覆蓋前,為其創(chuàng)建一個備份;
- -f:若目標(biāo)文件或目錄與現(xiàn)有的文件或目錄重復(fù),則直接覆蓋現(xiàn)有的文件或目錄;
- -i:交互式操作,覆蓋前先行詢問用戶,如果源文件與目標(biāo)文件或目標(biāo)目錄中的文件同名,則詢問用戶是否覆蓋目標(biāo)文件。用戶輸入”y”,表示將覆蓋目標(biāo)文件;輸入”n”,表示取消對源文件的移動。這樣可以避免誤將文件覆蓋。
- --strip-trailing-slashes:刪除源文件中的斜杠“/”;
- -S<后綴>:為備份文件指定后綴,而不使用默認(rèn)的后綴;
- --target-directory=<目錄>:指定源文件要移動到目標(biāo)目錄;
- -u:當(dāng)源文件比目標(biāo)文件新或者目標(biāo)文件不存在時,才執(zhí)行移動操作。
實例:
將目錄/usr/men中的所有文件移到當(dāng)前目錄(用.表示)中:
rm命令
刪除一個目錄中的一個或多個文件或目錄,也可以將某個目錄及其下屬的所有文件及其子目錄均刪除掉。對于鏈接文件,只是刪除整個鏈接文件,而原有文件保持不變。
選項:
- -d:直接把欲刪除的目錄的硬連接數(shù)據(jù)刪除成0,刪除該目錄;
- -f:強制刪除文件或目錄;
- -i:刪除已有文件或目錄之前先詢問用戶;
- -r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
- --preserve-root:不對根目錄進行遞歸操作;
- -v:顯示指令的詳細(xì)執(zhí)行過程
dd命令
復(fù)制文件并對原文件的內(nèi)容進行轉(zhuǎn)換和格式化處理。建議在有需要的時候使用 dd 對物理磁盤操作,使用 dd 對磁盤操作時,最好使用塊設(shè)備文件。
選項:
- bs=<字節(jié)數(shù)>:將 ibs(輸入)與 obs(輸出)設(shè)成指定的字節(jié)數(shù);
- cbs=<字節(jié)數(shù)>:轉(zhuǎn)換時,每次只轉(zhuǎn)換指定的字節(jié)數(shù);
- conv=<關(guān)鍵字>:指定文件轉(zhuǎn)換的方式;
- count=<區(qū)塊數(shù)>:僅讀取指定的區(qū)塊數(shù);
- ibs=<字節(jié)數(shù)>:每次讀取的字節(jié)數(shù);
- obs=<字節(jié)數(shù)>:每次輸出的字節(jié)數(shù);
- of=<文件>:輸出到文件;
- seek=<區(qū)塊數(shù)>:一開始輸出時,跳過指定的區(qū)塊數(shù);
- skip=<區(qū)塊數(shù)>:一開始讀取時,跳過指定的區(qū)塊數(shù);
實例:
dd if=/dev/zero of=sun.txt bs=1M count=1
該命令創(chuàng)建了一個1M大小的文件sun.txt,其中參數(shù)解釋:
- if 代表輸入文件。如果不指定if,默認(rèn)就會從stdin中讀取輸入。
- of 代表輸出文件。如果不指定of,默認(rèn)就會將stdout作為默認(rèn)輸出。
- bs 代表字節(jié)為單位的塊大小。
- count 代表被復(fù)制的塊數(shù)。
- /dev/zero 是一個字符設(shè)備,會不斷返回0值字節(jié)(\0)。
file命令
用來探測給定文件的類型。file命令對文件的檢查分為文件系統(tǒng)、魔法幻數(shù)檢查和語言檢查3個過程。
選項:
- -f<名稱文件>:指定名稱文件,其內(nèi)容有一個或多個文件名稱時,讓file依序辨識這些文件,格式為每列一個文件名稱;
- -b:列出辨識結(jié)果時,不顯示文件名稱;
- -c:詳細(xì)顯示指令執(zhí)行過程,便于排錯或分析程序執(zhí)行的情形;
- -L:直接顯示符號連接所指向的文件類別;
- -m<魔法數(shù)字文件>:指定魔法數(shù)字文件;
- -z:嘗試去解讀壓縮文件的內(nèi)容。
參數(shù):
文件:要確定類型的文件列表,多個文件之間使用空格分開,可以使用shell通配符匹配多個文件。
實例:
顯示文件類型
[root@localhost ~]# file install.log
install.log: UTF-8 Unicode text
[root@localhost ~]# file -b install.log <== 不顯示文件名稱
UTF-8 Unicode text
[root@localhost ~]# file -i install.log <== 顯示MIME類別。
install.log: text/plain; charset=utf-8
[root@localhost ~]# file -b -i install.log
text/plain; charset=utf-8
顯示符號鏈接的文件類型
[root@localhost ~]# ls -l /var/mail
lrwxrwxrwx 1 root root 10 08-13 00:11 /var/mail -> spool/mail
[root@localhost ~]# file /var/mail
/var/mail: symbolic link to `spool/mail'
[root@localhost ~]# file -L /var/mail
/var/mail: directory
[root@localhost ~]# file /var/spool/mail
/var/spool/mail: directory
[root@localhost ~]# file -L /var/spool/mail
/var/spool/mail: directory
以上就是本次介紹的全部知識點內(nèi)容,感謝大家的學(xué)習(xí)和對腳本之家的支持。