Bash shell 相關特性

bash 基礎特性之:命令歷史

命令歷史:shell進程會在會話中保存此前用戶提交執行過的命令;

  • 查看歷史命令:
    • ~]# history
    • 定製history的功能,可通過環境變量來實現
    • HISISIZE:shell進程可保留的命令歷史條數
    • HISIFILE:持久保存命令歷史的文件 (.bash_history)
    • HISIFILESIZE:命令歷史文件的大小
  • 用法:
-c:清空當前歷史命令; 
-a:將歷史命令緩衝區中命令寫入歷史命令文件中; 
-r:將歷史命令文件中的命令讀入當前歷史命令緩衝區; 
-w:將當前歷史命令緩衝區命令寫入歷史命令文件中。
-d:刪除指定命令歷史條目
  • 顯示最近#條歷史命令 (history #)
  • 調用歷史列表中的命令 ( ! number)
  • 再次執行上一條命令 (!!)
  • 再一次執行歷史列表中最近一個以STRING開頭的命令 (!STRING)
  • 調用上一條命令的最後一個參數 (ESC+.、file !$、file alt+.
  • 控制命令歷史的方法
    • 環境變量:HISICONTROL
    • 參數:
      ignorespace:忽略以空白字符開頭的命令
      ignoredups:忽略以空白字符開頭的命令
      ignoreboth:以上兩者同時生效
      echo $HISTCONTROL
    • 修改變量值
      HISICONTROL=Ignorespace

bash 基礎特性之:命令補全

  • 命令補全:
    • shell程序在接收到用戶執行命令的請求,分析完成後,最左側的字符串會被當作命令;
    • 命令查找機制:
    • 根據PATH環境變量中設定的目錄,自左而右逐個搜索目錄下的文件名\
    • 給定的打頭字符串如果能唯一標識某命令程序文件,則直接補全\
    • 不能惟一標識某命令程序文件,再擊打一次tab鍵,會給出列表;
  • 路徑補全:
    • 在給定的起始路徑下,以對應路徑下的打頭字符串來逐一匹配起始路徑下的每個文件 (tab)
    • 如果能惟一標識,則直接補全。否則,再一次tab給出列表;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章