2021-05-12 14:32:11
Linux上bash的部分基礎特性
命令補全: tab
shell程式在接收到使用者執行命令的請求,分析完成後,最左側的字串會被當做命令
命令查詢機制:
查詢內部命令:
根據PATH環境變數中設定的目錄,自左而右逐個搜尋目錄下的檔名
給定的打頭字元如果能唯一標識某命令檔案程式,則直接補全
給定的打頭字元如果不能唯一標識某命令檔案程式,在一次tab,會給出列表
路徑補全:tab
在給定的起始路徑下,以對應路徑下的打頭字串來逐一匹配其實路徑下的每個檔案
如果能唯一標識,則直接補全
否則,再一次tab,給出列表
雙擊Tab:
/2Tab 顯示所有根目錄下一級目錄,包括隱藏目錄
./2Tab 當前目錄下子目錄,包括隱藏目錄
*2Tab 當前目錄下子目錄,不包括隱藏目錄
~2Tab 所有使用者列表
$2Tab 所有變數
@2Tab /etc/hosts記錄 (CentOS7不支援)
=2Tab 相當於ls –A (CentOS7 不支援)
mkdir:新建一個目錄
mkdir -p:自動按需建立父目錄
-v:顯示詳細過程
-m:直接給定許可權
注意:路徑基名方為命令的作用物件,基名之前的路徑必須得存在
rmdir: 刪除目錄
rmdir -p:刪除某目錄後,如果其父目錄為空,則一併刪除
-v:顯示過程
命令列展開:
~:自動展開為使用者的家目錄,或指定的使用者的家目錄
{}: 可承載一個以逗號分隔的路徑列表,並能夠將其展開多個路徑
例如:/tmp/{a,b}相當於 /tmp/a /tmp/b
命令的執行狀態結果:
bash通過狀態返回值來輸出次結果
成功:0
失敗:1-255
命令執行完成後,其狀態返回值儲存於bash的特殊變數$?中
參照:
強參照:''
弱參照:""
命令參照:``
bash快捷鍵:
Ctrl + l 清屏,相當於clear命令
Ctrl + c 終止命令
Ctrl + s 鎖定螢幕
Ctrl + q 解鎖
Ctrl + a 游標移到命令列首,相當於Home
Ctrl + e 游標移到命令列尾,相當於End
Ctrl + u 從游標處刪除至命令列首
Ctrl + k 從游標處刪除至命令列尾
cp命令:copy
單源複製:cp [OPTION]... [-T] SOURCE DEST
如果DEST不存在:則事先建立次檔案,並複製原始檔的資料流至DEST中
如果DEST存在:
如果DEST是非目錄檔案:則覆蓋目標檔案
如果DEST目錄檔案:則先在DEST目錄下建立一個與原始檔同名的檔案,並複製其資料流
多源複製:cp [OPTION]... SOURCE... DIRECTORY
如果DEST不存在: 錯誤
如果DEST存在:
如果DEST是非目錄檔案:錯誤
如果DEST是目錄檔案:分別複製每個檔案至目錄中,並保持原名
cp [OPTION]... -t DIRECTORY SOURCE...
常用選項:
-i:互動式複製,即覆蓋前提醒使用者確認
-f:強制覆蓋目標檔案
-r:遞回複製目錄
history:命令列歷史
命令歷史一般記錄在.bash_history檔案中,預設記錄1000條
當前shell中的歷史記錄會被記錄在記憶體中,只有退出之後才會儲存在.bash_history中
-c:清空命令歷史
-d offset:刪除歷史中指定的第offset個命令
n:顯示最近的第n條歷史
-a:追加本次對談新執行的命令歷史列表至歷史檔案
-n:讀歷史檔案中未讀過的行到歷史列表
-r:讀歷史檔案附加到歷史列表
-w:儲存歷???列表到指定的歷史檔案
-p:展開歷史引數成多行,但不存在歷史列表中
-s:展開歷史引數成一行,附加在歷史列表後
HISTSIZE 修改history儲存條數
HISTFILE 指定歷史檔案的存放位置,預設為~/.bash_history
HISTFILESIZE 指定歷史檔案的命令的儲存條數
HISTTIMEFORMAT="%F %T" 顯示每條命令的具體執行時間
HISTIGNORE="str1:str2" 把某些命令敏感的字串給遮蔽掉不予顯示
控制命令歷史記錄方式:
環境變數:HISTCONTROL
ignoredups 預設,忽略重複的命令,連續且相同為“重複”
ignorespace 忽略所有以空白開頭的命令
ignoreboth 相當於ignoredups, ignorespace的組合
erasedups 刪除重複命令
!n:執行history命令歷史輸出對應序號n的命令
!n:執行history歷史中倒數第n個命令
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-05/143550.htm
相關文章