【bash的常見特性及文本查看命令(03)】筆記

bash的基礎(chǔ)特性

命令處理機(jī)制

命令補(bǔ)全:
shell程序在接收到用戶執(zhí)行命令的請求,分析完成之后,最左側(cè)的字符串會被當(dāng)作命令
查找內(nèi)部命令:
根據(jù)PATH環(huán)境變量中設(shè)定的目錄,自左而右逐個搜索目錄下的文件
給定的打頭字符串如果能唯一標(biāo)識謀命令程序文件,按下TAB鍵將會則直接補(bǔ)全命令;
如不能唯一標(biāo)識某命令程序文件,再次按下TAB鍵,將會給出由給定字符串開頭的一系列命令列表。

路徑補(bǔ)全:
根據(jù)給定的起始路徑下,以給定的開頭字符串來逐一匹配起始路徑下的每個文件,TAB鍵操作同命令補(bǔ)全機(jī)制。

目錄管理類的命令:
mkdir命令:make directory
~]# mkdir [OPTION]...DIRECTORY...
-p:按需創(chuàng)建父目錄
-v:verbose,顯示詳細(xì)過程
-m:創(chuàng)建目錄時設(shè)置權(quán)限,沒有m選項(xiàng)則為默認(rèn)選項(xiàng)
注意:路徑基名方為命令的作用對象,基名之前的路徑必須存在

rmdir命令:刪除空目錄
~]# rmdir [OPTION]... DIRECTORY...
-p:刪除某空目錄后,如果上一級目錄也為空,則繼續(xù)刪除,直至非空目錄

命令行展開
~:自動展開為用戶或指定用戶的家目錄
{}:可承載一個以逗號分隔的路徑列表,并能夠?qū)⑵湔归_為多個路徑
如:
~]# mkdir -p /tmp/x/{y1{a,b},y2} 相當(dāng)于創(chuàng)建了tmp/x/y1/a,tmp/x/y1/b,tmp/x/y2目錄
~]# mkdir {a,b}_{c,d} 在當(dāng)前目錄下創(chuàng)建了a_c,a_d,b_c,b_d四個目錄
比較復(fù)雜的:
~]# mkdir -p /tmp/mysysroot/{bin,sbin,etc/sysconfig/network-scrpits,usr/{bin,sbin,local/{bin,sbin,etc,lib},lib,lib64},var/{cache,log,run}}

tree命令:
以樹狀結(jié)構(gòu)顯示目錄的層級結(jié)構(gòu)
~]# tree [OPTIONS][directory]
-l: level,指定要顯示的層級

命令的執(zhí)行狀態(tài)結(jié)果:
bash通過狀態(tài)返回值來輸出此結(jié)果:
成功為0,失敗為1-255
命令執(zhí)行完成后,其狀態(tài)返回值保存于bash的特殊變量“$?”中,通過命令~]# ehco $? 調(diào)用
有些命令正常執(zhí)行時還會有命令返回值,但這不是狀態(tài)返回值
根據(jù)命令及其功能不同,結(jié)果各不相同
引用命令的執(zhí)行結(jié)果:
$(COMMAND)或反引號`(COMMAND)`
如:~]# mkdir $(date +%H-%M-%S)
~]# mkdir `date +%H-%M-%S`

bash的引用
強(qiáng)引用:''
弱引用:""
命令引用:``

bash的快捷鍵
ctrl + a:跳轉(zhuǎn)至命令行首
ctrl + e:跳轉(zhuǎn)至命令行尾
ctrl + u:刪除行首至光標(biāo)所在處之間的所有字符
ctrl + k:刪除光標(biāo)所在處至行尾的所有字符
ctrl + l:清屏,相當(dāng)于clear

文本查看類命令:

  • cat
  • tac
  • more命令
    分屏查看文本內(nèi)容,不可向上翻頁
  • less命令
    可通過home鍵,end鍵,PgUP鍵,PgDn鍵,↑鍵,↓鍵實(shí)現(xiàn)翻屏或翻頁
  • head命令
    查看文件的前n行,默認(rèn)為10行
    ~]# head [options] FILE
    -n 20 可以直接寫成-20
  • tail命令
    查看文件末尾n行
    ~]# tail [options] FILE
    -n 用法同head命令
    -f 查看文件尾部內(nèi)容結(jié)束后不退出,跟隨顯示新增的行,其它終端通過追加添加文本內(nèi)容
  • stat命令
    顯示文件或文件系統(tǒng)狀態(tài)(元數(shù)據(jù))
    stat FILE...
    每個文件都有兩類數(shù)據(jù):元數(shù)據(jù)(metadata),數(shù)據(jù)(data)
    時間戳
    • access time:
    • modify time:
    • change tme:
  • touch命令
    修改時間戳
    ~]# touch [POSTION][PATH]
    -c 不創(chuàng)建空文件
    -a 僅修改access time
    -m 僅修改modify time
    -t STAMP [[CC]YY]MMDDhhmm[.ss]

本課視頻教程地址

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容