bash的基礎(chǔ)特性:
命令補(bǔ)全:
shell程序在接收到用戶(hù)執(zhí)行命令的請(qǐng)求浊仆,分析完成之后崎岂,最左側(cè)的字符串會(huì)被當(dāng)作命令袱讹;
命令查找機(jī)制:
首先查找內(nèi)部命令同蜻;
然后根據(jù)PATH環(huán)境變量中設(shè)定的目錄棚点,自左而右逐個(gè)搜索目錄下的文件名;
給定的打頭字符串如果能惟一標(biāo)識(shí)某命令程序文件湾蔓,則直接補(bǔ)全瘫析;
? ? ? ? ? ? ? ? ? ? 不能惟一標(biāo)識(shí)某命令程序文件,再擊tab鍵一次默责,會(huì)給出列表贬循;
路徑補(bǔ)全:
在給定的起始路徑下,以對(duì)應(yīng)路徑下的打頭字串來(lái)逐一匹配起始路徑下的每個(gè)文件:
tab:
如果能惟一標(biāo)識(shí)傻丝,則直接補(bǔ)全甘有;
否則诉儒,再一次tab葡缰,給出列表;
目錄管理類(lèi)的命令:
mkdir, rmdir
mkdir:創(chuàng)建目錄
mkdir [OPTION]... DIRECTORY...
-p: 自動(dòng)按需創(chuàng)建父目錄忱反;
-v: verbose泛释,顯示詳細(xì)過(guò)程;
-m MODE:直接給定權(quán)限温算;
注意:路徑基名方為命令的作用對(duì)象怜校;基名之前的路徑必須得存在;
[root@localhost test]# mkdir -pvm 444 mytest.4/{a,b,c}_{1,2,3}
此命令創(chuàng)建的mytest.4的權(quán)限不是444注竿,為默認(rèn)的
rmdir: 移除空目錄
rmdir [OPTION]... DIRECTORY...
-p:刪除某目錄后茄茁,如果其父目錄為空魂贬,則一并刪除之;
-v: 顯示過(guò)程裙顽;
bash的基礎(chǔ)特性之:命令行展開(kāi)
~:自動(dòng)展開(kāi)為用戶(hù)的家目錄付燥,或指定的用戶(hù)的家目錄;
{}:可承載一個(gè)以逗號(hào)分隔的路徑列表愈犹,并能夠?qū)⑵湔归_(kāi)為多個(gè)路徑键科;
例如:/tmp/{a,b} 相當(dāng)于 /tmp/a /tmp/b
tree命令:
tree [options] [directory]
-L level:指定要顯示的層級(jí);如果不指定顯示所有的層級(jí)
bash的基礎(chǔ)特性:命令的執(zhí)行狀態(tài)結(jié)果
命令執(zhí)行的狀態(tài)結(jié)果:
bash通過(guò)狀態(tài)返回值來(lái)輸出此結(jié)果:
成功:0
失斾鲈酢:1-255
命令執(zhí)行完成之后勋颖,其狀態(tài)返回值保存于bash的特殊變量$?中;
命令正常執(zhí)行時(shí)勋锤,有的還會(huì)有命令返回值:
根據(jù)命令及其功能不同饭玲,結(jié)果各不相同;
引用命令的執(zhí)行結(jié)果:
$(COMMAND)
或`COMMAND`
bash的基于特性:引用
強(qiáng)引用:''
弱引用:""
命令引用:``
bash基礎(chǔ)特性:快捷鍵
Ctrl+a:跳轉(zhuǎn)至命令行行首
Ctrl+e:跳轉(zhuǎn)至命令行行尾
Ctrl+u:刪除行首至光標(biāo)所在處之間的所有字符叁执;
Ctrl+k:刪除光標(biāo)所在處至行尾的所有字符咱枉;
Ctrl+l:清屏,相當(dāng)于clear
文件查看類(lèi)命令:cat, tac, head, tail, more, less
分屏查看命令:more和less
more命令:
more FILE
特點(diǎn):翻屏至文件尾部后自動(dòng)退出徒恋;
less命令:
less FILE
head命令:
查看文件的前n行蚕断;
head [options] FILE
-n #
-#
tail命令:
查看文件的后n行;
tail [options] FILE
-n #
-#
-f:查看文件尾部?jī)?nèi)容結(jié)束后不退出入挣,跟隨顯示新增的行亿乳;
stat命令:
stat - display file or file system status
顯示文件或文件系統(tǒng)的狀態(tài)
stat FILE...
文件:每個(gè)文件都有兩類(lèi)數(shù)據(jù)
元數(shù)據(jù):metadata
數(shù)據(jù): data
時(shí)間戳:
access time:2018-03-29 16:13:26.586422592 +0800
modify time:2018-03-29 16:13:26.586422592 +0800
change time:2018-03-29 16:13:26.586422592 +0800
touch命令:
touch - change file timestamps
touch [OPTION]... FILE...
-c: 指定的文件路徑不存在時(shí)不予創(chuàng)建;
-a: 僅修改access time径筏;
-m:僅修改modify time葛假;
-t STAMP
[[CC]YY]MMDDhhmm[.ss]