bash基本特性及基本命令 : 1.命令歷史 : history 環境變量 : $HISTSIZE : 緩存中記錄的命令歷史條數上限 $HISTFILE : 命令歷史文件目錄 : ~/.bash_hisroty $HISTFILESIZE : 命令歷史文件中記錄的命令歷史條數上限 -d offset : 刪除某條命令 -c : 清空緩存中的命令歷史 num : 顯示最近的num條命令 -a : 手動將緩存中的命令歷史追加至命令文件中 調用歷史中的命令的快捷方式 : !! : 調用上一次調用的命令 !num : 調用命令歷史中第num條命令 !str : 調用命令歷史中,最近一次以str開頭的命令 調用上一次命令的最後一個參數 : 1,!$ 2,ESC + . 3,ALT + . -------可能很差用 控制命令歷史的記錄方式 : 環境變量 : $HISTCONTROL ignoredups : 忽略重複出現的命令歷史,但指的是連續出現且徹底相同的命令歷史 ignorespace : 忽略以空白字符開頭的命令歷史 ignoreboth : 以上兩種同時生效 設置環境變量 : export HISTCONTROL = value 注 : 僅對當前shell會話有效,打開新的會話時,仍然採用默認參數 ----------------------------------------------------------------------------------------------------------------------------------------- 2,命令補全 bash執行命令類型 : 內部命令 : 內建與bash內部的命令 外部命令 : bash會根據$PATH保存的路徑依次查找該命令對應的可執行程序 直接補全 : 當字符串對應的命令惟一時,TAB鍵可直接補全,若是用戶給定的字符串對應的命令不惟一,兩次TAB鍵可列出全部以該字符串開頭的命令 ----------------------------------------------------------------------------------------------------------------------------------------- 3,路徑補全 把用戶給定的字符串做用路徑開頭,並在其指定的上級目錄下搜索以指定字符串開頭的文件,若是文件惟一,則TAB直接補全,若是不惟一,再次TAB,列出該目錄下全部以指定字符串開頭的文件 ----------------------------------------------------------------------------------------------------------------------------------------- 目錄管理類命令 : cd : change directory pwd : printing working directory ls : list 綠色字體表有可執行權限 藍色表目錄 黑色表普通文件 mkdir : 在指定路徑下建立新的目錄 注 : 默認狀況下,建立的目錄爲路徑最右側的那個目錄,要求該目錄前的全部目錄都已經實現存在,不然沒法建立 -p : 1,在相同路徑下,重複建立相同目錄不會報錯 2,若是要建立的目錄的父目錄不存在,bash會自動根據建立父目錄以及目標目錄 -v : 顯示被建立的目錄的信息 -m MODE : 建立目錄時,直接指定權限 rmdir : 移除指定路徑下的目錄 -p : 首先判斷指定路徑最右側的目錄是否爲空,若是爲空,則刪除,而後繼續判斷刪除該目錄下的路徑最右側的目錄是否爲空,若是爲空,則刪除,循環往復以上過程,直至某目錄不爲空爲止 -v : 顯示被刪除的目錄信息 ----------------------------------------------------------------------------------------------------------------------------------------- tree : 顯示指定目錄下的目錄層級結構 -d : 只顯示目錄即文件夾,不顯示文件 -L level : 最多顯示的子目錄的層級數 -p PATTREN : 只顯示符合指定模式的目錄 ----------------------------------------------------------------------------------------------------------------------------------------- 4,命令行展開 ~ : bash會自動將其展開爲用戶的主目錄 ~USERNAME : bash會自動將其展開爲指定用戶的主目錄 {} : 可承載一個以","分隔的列表,bash會自動將其和前面路徑以及後面的路徑結合,分別展開爲多個路徑 ----------------------------------------------------------------------------------------------------------------------------------------- 5,命令的執行結果狀態 只有兩種 : 成功或失敗,bash使用特殊變量$?保存最近一次命令的執行結果狀態,0表示成功,1~255表示失敗 程序的執行結果 : 程序的返回值 程序的執行結果狀態 ----------------------------------------------------------------------------------------------------------------------------------------- 文本查看類命令 cat,tac : 將文件鏈接並顯示 more [OPTION] FILE.... -d : 顯示翻頁或退出提示信息 less [OPTION] FILE... 注 : man內部查看幫助手冊便是調用less命令,所以man命令中全部的快捷操做方式都適用於less head : 獲取一個文件的前N行 -c # : 獲取一個文件的前#個字符 -n # : 獲取一個文件的前#行 -# : 默認就是獲取一個文件的前#行 tail : 獲取一個文件的後#行或個字符 -c # : 獲取一個文件的後#個字符 -n # : 獲取一個文件的後#行 -# : 默認就是獲取一個文件的後#行 -f : 獲取一個文件的後十行,但並不當即退出,而是實時監控該文件,一旦該文件尾部附加內容,就會當即顯示,使用^C結束對該文件的監控 ----------------------------------------------------------------------------------------------------------------------------------------- 文件的時間戳管理工具 文件組成 : data + metadata 查看文件元數據 : stat 時間戳 : atime(access time) : 最近一次訪問時間 mtime(modify time) : 最近一次文件內容被修改的時間 ctime(change time) : 最近一次文件的元數據被改變的時間 touch : 改變時間戳 -a : atime only,只改變訪問時間,默認修改成當前時間 -m : modify time,只改變修改時間,默認修改成當前時間 -t STAMP : 將時間戳修改成指定時間,而非當前時間 -c : 若是文件不存在,則不建立文件