Linux管理文件命令及應(yīng)用

第一題 Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關(guān)示例演示。

mkdir:創(chuàng)建目錄

語(yǔ)法:mkdir [OPTION]... DIRECTORY...

常用選項(xiàng):

-p:若要建立目錄的上層目錄目前尚未建立,則會(huì)一并建立上層目錄,遞歸創(chuàng)建

-v:顯示命令的詳細(xì)執(zhí)行過(guò)程

-m:建立目錄的同時(shí)設(shè)置目錄的權(quán)限

示例:~]# mkdir -pv /tmp/a/b/c

mkdir: created directory ‘/tmp/a’

? ? ? ? mkdir: created directory ‘/tmp/a/b’

? ? ? ? mkdir: created directory ‘/tmp/a/b/c’

? ? rmdir:刪除空目錄

語(yǔ)法:rmdir [OPTION]... DIRECTORY...

常用選項(xiàng):

-p:刪除指定目錄后,若該目錄的上層目錄已變成空目錄,則將其一并刪除,遞歸刪除

-v:顯示命令的詳細(xì)執(zhí)行過(guò)程

示例:~]# rmdir -pv /tmp/a

? ? ? ? rmdir: removing directory, ‘/tmp/a/b/c’

? ? ? ? rmdir: removing directory, ‘/tmp/a/b’

rmdir: removing directory, ‘/tmp/a’

rmdir: removing directory, ‘/tmp’

rmdir: failed to remove directory ‘/tmp’: Device or resource busy

tree:用于以樹(shù)狀圖列出目錄的內(nèi)容

語(yǔ)法:tree(選項(xiàng))(參數(shù))

常用選項(xiàng):

-a:顯示所有文件和目錄

-d:先是目錄名稱而非內(nèi)容

-D:列出文件或目錄的更改時(shí)間

-f:在每個(gè)文件或目錄之前,顯示完整的相對(duì)路徑名稱

-g:列出文件或目錄的所屬群組名稱,沒(méi)有對(duì)應(yīng)的名稱時(shí),顯示群組識(shí)別碼

-s:列出文件和目錄大小

示例:~]# tree /tmp

/tmp

├── ks-script-iuOeuf

├── systemd-private-2446b9f303064c4881dff4c7cfb73af2-chronyd.service-pcxxmY

│?? └── tmp

├── vmware-root

└── yum.log

cp:文件復(fù)制

語(yǔ)法:?jiǎn)卧磸?fù)制:cp [OPTION]... [-T] SOURCE DEST

? ? ? 多源復(fù)制:cp [OPTION]... SOURCE... DIRECTORY

? ? ? 多源復(fù)制:cp [OPTION]... -t DIRECTORY SOURCE...

常用選項(xiàng):

-i:交互式復(fù)制,即覆蓋之前提醒用戶確認(rèn)

-f:強(qiáng)制覆蓋目標(biāo)文件,即不需要用戶再次確認(rèn)

-r,-R:遞歸復(fù)制目錄

-d:當(dāng)復(fù)制符號(hào)連接時(shí),把文件或目錄也建立為符號(hào)連接,并指向與源文件或目錄連接的原始文件或目錄

-v:顯示指令的詳細(xì)執(zhí)行過(guò)程

mv:對(duì)文件或目錄重新命名或?qū)⑽募囊粋€(gè)目錄移到別一個(gè)目錄中

語(yǔ)法:mv [OPTION]... [-T] SOURCE DEST

? ? ? mv [OPTION]... SOURCE... DIRECTORY

? ? ? mv [OPTION]... -t DIRECTORY SOURCE...

rm:刪除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄,也可以將某個(gè)目錄及其下屬的所有文件或其子目錄刪除掉

語(yǔ)法: rm [OPTION]... FILE...

常用選項(xiàng):

-f:強(qiáng)制刪除文件或目錄

-i:刪除已有文件或目錄之前先詢問(wèn)用戶

-r,-R:遞歸刪除,將指定目錄下的所有文件與子目錄一并處理

-v:顯示指令的詳細(xì)執(zhí)行過(guò)程

注意:使用rm命令要格外小心。因?yàn)橐坏﹦h除了一個(gè)文件,就無(wú)法再恢復(fù)它。建議創(chuàng)建一個(gè)類似回收站的目錄,將這些文件存入此目錄中,確認(rèn)是否真的不需要了,再進(jìn)行此命令。

第二題 bash的工作特性之命令執(zhí)行狀態(tài)返回值和命令行展開(kāi)所涉及的內(nèi)容及其示例演示。

答:

1)命令執(zhí)行狀態(tài)結(jié)果:bash通過(guò)狀態(tài)返回值來(lái)輸出此結(jié)果

成功:0

失敗:1-255

命令執(zhí)行完成之后,其狀態(tài)返回值保存與bash的特殊變量$?中:~]# echo $?

示例:~]#ls /etc

~]# echo $?

0

~]#lssssss /etc

~]# echo $?

127

通過(guò)結(jié)果會(huì)發(fā)現(xiàn)命令下方的0代表成功,除0以外的1-255的數(shù)字代表失敗,根據(jù)命令及其功能不同,結(jié)果也各不相同并且,此命令只能用于上一條命令

2)命令行的展開(kāi):

~:自動(dòng)展開(kāi)為用戶的家目錄,或制定的用戶的家目錄

{}:可承載一個(gè)以逗號(hào)分隔的路徑列表,并能夠?yàn)槠湔归_(kāi)為多個(gè)路徑

如:/tmp/{a,b} 相當(dāng)于/tmp/a tmp/b

第三題 請(qǐng)使用命令行展開(kāi)功能來(lái)完成以下練習(xí)

1)創(chuàng)建/tmp目錄下的:a_c, a_d, b_c, b_d

~]# mkdir -pv /tmp/{a,b}_{c,d}

mkdir: created directory ‘/tmp/a_c’

mkdir: created directory ‘/tmp/a_d’

mkdir: created directory ‘/tmp/b_c’

mkdir: created directory ‘/tmp/b_d’

2)創(chuàng)建/tmp/mylinux目錄下的:

mylinux/

? ? ├── bin

? ? ├── boot

? ? │?? └── grub

? ? ├── dev

? ? ├── etc

? ? │?? ├── rc.d

? ? │?? │?? └── init.d

? ? │?? └── sysconfig

? ? │??? ? └── network-scripts

? ? ├── lib

? ? │?? └── modules

? ? ├── lib64

? ? ├── proc

? ? ├── sbin

? ? ├── sys

? ? ├── tmp

? ? ├── usr

? ? │?? └── local

? ? │??? ? ├── bin

? ? │??? ? └── sbin

? ? └── var

? ? ? ? ├── lock

? ? ? ? ├── log

? ? ? ? └── run

? ? ~]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

? ? mkdir: created directory ‘/tmp/mylinux’

mkdir: created directory ‘/tmp/mylinux/bin’

mkdir: created directory ‘/tmp/mylinux/boot’

mkdir: created directory ‘/tmp/mylinux/boot/grub’

mkdir: created directory ‘/tmp/mylinux/dev’

mkdir: created directory ‘/tmp/mylinux/etc’

mkdir: created directory ‘/tmp/mylinux/etc/rc.d’

mkdir: created directory ‘/tmp/mylinux/etc/rc.d/init.d’

mkdir: created directory ‘/tmp/mylinux/etc/sysconfig’

mkdir: created directory ‘/tmp/mylinux/etc/sysconfig/network-scripts’

mkdir: created directory ‘/tmp/mylinux/lib’

mkdir: created directory ‘/tmp/mylinux/lib/modules’

mkdir: created directory ‘/tmp/mylinux/lib64’

mkdir: created directory ‘/tmp/mylinux/proc’

mkdir: created directory ‘/tmp/mylinux/sbin’

mkdir: created directory ‘/tmp/mylinux/sys’

mkdir: created directory ‘/tmp/mylinux/tmp’

mkdir: created directory ‘/tmp/mylinux/usr’

mkdir: created directory ‘/tmp/mylinux/usr/local’

mkdir: created directory ‘/tmp/mylinux/usr/local/bin’

mkdir: created directory ‘/tmp/mylinux/usr/local/sbin’

mkdir: created directory ‘/tmp/mylinux/var’

mkdir: created directory ‘/tmp/mylinux/var/lock’

mkdir: created directory ‘/tmp/mylinux/var/log’

mkdir: created directory ‘/tmp/mylinux/var/run’

第四題 文件的元數(shù)據(jù)信息有哪些,分別表示什么含義,如何查看?如何修改文件的時(shí)間戳信息。

答:

stat:顯示文件或文件系統(tǒng)狀態(tài)信息(元數(shù)據(jù)信息)

語(yǔ)法:stat [OPTION]... FILE...

例如: ~]# stat /etc/magic

File: ‘/etc/magic’

? Size: 111? ? ? Blocks: 8? ? ? ? ? IO Block: 4096? regular file

Device: fd00h/64768d Inode: 67208643? ? Links: 1

Access: (0644/-rw-r--r--)? Uid: (? ? 0/? ? root)? Gid: (? ? 0/? ? root)

Context: system_u:object_r:etc_t:s0

Access: 2018-08-14 01:51:31.003309475 -0400

Modify: 2016-11-05 16:07:30.000000000 -0400

Change: 2018-08-13 23:38:49.497514785 -0400

Birth: -

File:文件名稱

Size:文件大小

Blocks:占據(jù)的硬盤(pán)塊數(shù)

IO Block:每個(gè)IO塊的大小

regular file:文件類型

Device:所在設(shè)備

Inode:Inode節(jié)點(diǎn)號(hào)

Links:被鏈接的次數(shù)

第一個(gè)Access:訪問(wèn)權(quán)限

Uid:Uid號(hào)和屬主

Gid:gid號(hào)和屬組

Context:(SELinux)環(huán)境

第二個(gè)Access:文件最近一次的訪問(wèn)時(shí)間

Modify:文件的更改時(shí)間

Change:文件的改變時(shí)間

Birth:創(chuàng)建日期

touch:用于創(chuàng)建空文件或更改文件的三個(gè)時(shí)間戳

語(yǔ)法:touch [OPTION]... FILE...

常用選項(xiàng):

-a:只修改訪問(wèn)時(shí)間

touch -a /tmp/yum.log

-m:只修改更改時(shí)間

touch -m /tmp/yum.log

-c:如果文件存在,則更新三個(gè)時(shí)間戳,并且不創(chuàng)建空文件。如果文件不存在,則創(chuàng)建一個(gè)空文件

touch -c /tmp/yum.log

-t:使用指定的日期時(shí)間

touch -t 201811081110 /tmp/yum.log

第五題 如何定義一個(gè)命令的別名,如何在命令中引用另一個(gè)命令的執(zhí)行結(jié)果?

答:

alias:獲取當(dāng)前用戶可用的別名

~]# alias

定義別名:

~]# alias NAME='COMMAND'

僅當(dāng)前shell進(jìn)程有效

撤消別名:

~]# unalias NAME

如果別名與命令名相同時(shí),直接調(diào)用原命令,而非別名,可用\COMMAND取消命令別名功能

例如:~]# alias st=stat

則可使用st代替stat命令,如果不想使用此別名,則可繼續(xù)使用stat或者~]#unalias st取消此別名

使用管道符可以引用另一個(gè)命令的執(zhí)行結(jié)果

如:~]# cat /etc/passwd | head -n -6

或者定義一個(gè)命令的別名也可以在命令中引用別一個(gè)命令的執(zhí)行結(jié)果。

第六題 顯示/var目錄下所有以l開(kāi)頭,以一個(gè)小寫(xiě)字母結(jié)尾,且中間至少出現(xiàn)一位數(shù)字(可以有其它字符)的文件或目錄。

答:

~]#ls -d /var/l*[a-z]

匹配模式:元字符

*:匹配任意長(zhǎng)度的任意字符

?:匹配任意單個(gè)字符

[]:匹配指定范圍內(nèi)的任意單個(gè)字符

有幾種特殊格式:

[a-z],[A-Z],[0-9],[a-z0-9],此處字母不區(qū)分大小寫(xiě)

[[:upper:]]:所有大寫(xiě)字母

[[:lower:]]:所有小寫(xiě)字母

[[:alpha:]]:所有字母

[[:digit:]]:所有數(shù)字

[[:alnum:]]:所有的字母和數(shù)字

[[:space:]]:所有空白字符

[[:punct:]]:所有標(biāo)點(diǎn)符號(hào)

[^]:匹配指定范圍外的任意單個(gè)字符

[^[:upper:]]:除了所有大寫(xiě)字母以外的

[^0-9]除了所有數(shù)字以外的

[^[:alnum:]]除了所有字母和數(shù)字以外的

第七題 顯示/etc目錄下,以任意一個(gè)數(shù)字開(kāi)頭,且以非數(shù)字結(jié)尾的文件或目錄。

答:

~]# ls -d /etc/[0-9]*[^0-9]

第八題 顯示/etc目錄下,以非字母開(kāi)頭,后面跟了一個(gè)字母以及其它任意長(zhǎng)度任意字符的文件或目錄。

~]# ls -d /etc/[^0-9][a-z]*

第九題 在/tmp目錄下創(chuàng)建以tfile開(kāi)頭,后跟當(dāng)前日期和時(shí)間的文件,文件名形如:tfile-2016-05-27-09-32-22。

~]# mkdir? -v /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)

第十題 復(fù)制/etc目錄下所有以p開(kāi)頭,以非數(shù)字結(jié)尾的文件或目錄到/tmp/mytest1目錄中。

~]# cp -rv /etc/p*[^0-9] /tmp/mytest1

第十一題 復(fù)制/etc目錄下所有以.d結(jié)尾的文件或目錄至/tmp/mytest2目錄中。

~]# cp -rv /etc/*.d /tmp/mytest2

第十二題 復(fù)制/etc/目錄下所有以l或m或n開(kāi)頭,以.conf結(jié)尾的文件至/tmp/mytest3目錄中。

~]# cp /etc/[lmn]*.conf /tmp/mytest3

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,578評(píng)論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,701評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 178,691評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,974評(píng)論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,694評(píng)論 6 413
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 56,026評(píng)論 1 329
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,015評(píng)論 3 450
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 43,193評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,719評(píng)論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,668評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,151評(píng)論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,846評(píng)論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 35,255評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 36,592評(píng)論 1 295
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,394評(píng)論 3 400
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,635評(píng)論 2 380

推薦閱讀更多精彩內(nèi)容