一、修改命令提示符
1、查看提示符格式:echo $PS1
2、修改提示符格式:
- PS1=“\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]”
- 1 :字體高亮? ? ? ?5 :閃爍? ? ? 41? :紅色背景
- 33 :字體顏色(30黑31紅32綠33黃34藍35紫36青37白)
- \h主機名簡稱? ? ? ? ? ? ? ? \H 主機名全稱
- \w當前工作目錄? ? ? ? ? ?\W當前工作目錄基名
- \$提示字符:#root用戶? ? ?$普通用戶
- \[\e[0m\]提示符顏色到此結束(否則后續輸出的命令也會改變顏色)
3、保存:
- 在/etc/profile.d目錄下創建一個后綴為.sh的文件(例如:/etc/profile.d/env.sh),將對 PS1的修改保存在該文件下,source?/etc/profile.d/env.sh重新讀取配置文件。
二、執行命令(1.內部命令,2.外部命令)
- 區別指定命令是內部或外部:type command,外部命令會顯示路徑。
1、內部命令:由shell自帶
- help command;command –help 可獲得幫助列表
- enable -n cmd 禁用內部命令
- enable cmd 啟用內部命令
- enable -n 查看所有禁用的內部命令
2、外部命令:記錄在hash緩存表中
- 查看路徑:which –skip-alias command;whereis
- hash 顯示hash緩存
- hash -l 顯示hash緩存,可作為輸入使用
- hash -p path name 將命令全路徑path 起別名為name
- hash -t cmd 打印緩存中cmd的路徑
- hash -d cmd 清楚cmd緩存
- hash -r 清除緩存
三、命令別名? alias
- alias 顯示當前shell進程所有可用的命令別名
- alias name=cmd 給cmd定義別名為name
- unalias 撤銷別名
- unalias -a取消所有別名
- 若想永久保存別名,定義在配置文件中:1.僅對當前用戶:~/.bashrc;?2.對所有用戶用戶有效:/etc/bashrc
- bash進程中重新讀取配置文件source 或.
- 如果別名與原命令同名(例aliasname),想要執行原命令,使用:\aliasname 、“aliasname” 、‘ aliasname’ 、command aliasname 、/path/command
四、命令history:記錄歷史的文件~/.bash_history
1、history(管理歷史命令)
- 語法:history? (選項)? (參數)
選項:
n? ? 列出最近的 n條命令
-c? ? 清空所有歷史命令
-d? n? ?刪除歷史命令中指定的編號n的命令
-a? ? 追加本次會話中的新執行的命令歷史列表到歷史文件
-n? ? 讀取歷史文件中未讀過的行到命令歷史列表
-w ? 保存歷史列表到指定的歷史文件,把歷史文件另備份
-p? ? 展開歷史參數成多行,但不存在歷史列表中
-s? ? ?展開歷史參數成一行,附加在歷史列表后
2、運行特定的歷史命令:
- 語法說明: [!number] [!command] [!!]
參數說明:
number :第幾個指令的意思;
command :命令或命令開頭幾個字母 - 用法介紹:
!n? ? ?執行history命令輸出對應序號n的命令
!-n? ? 執行history歷史中倒數第n個命令
!string? ? ?重復前一個以“string”開頭的命令
!?string? ? 重復前一個包含string的命令
!string:p? ?僅打印命令歷史,而不執行
!$:p? ?打印輸出(上一條命令的最后一個參數)的內容
!*:p? ?打印輸出 (上一條命令的所有參數)的內容
^string? ?刪除上一條命令中的第一個string
^string1^string2? ?將上一條命令中的第一個string1替換為string2
!:gs/string1/string2? ?將上一條命令中所有的string1都替換為string2 - 使用up(向上)和down(向下)鍵來上下瀏覽從前輸入的命令
ctrl+r:在命令歷史中搜索命令(reverse-i-search):
ctrl+g:從歷史搜索模式退出
3、調用歷史參數
- 調用前一個命令中最后一個參數:!$
- Esc, .(點擊Esc鍵后松開,然后點擊 . 鍵)
Alt+ .(按住Alt鍵的同時點擊 . 鍵)
command !^? 利用上一個命令的第一個參數做cmd的參數
command !$? ?利用上一個命令的最后一個參數做cmd的參數
command !*? 利用上一個命令的全部參數做cmd的參數
command !:n? ?利用上一個命令的第n個參數做cmd的參數
command !n:^? ?調用第n條命令的第一個參數
command !n:$? ?調用第n條命令的最后一個參數
command !n:m? ?調用第n條命令的第m個參數
command !n:*? ?調用第n條命令的所有參數
command !string:^? ?從命令歷史中搜索以 string 開頭的命令,并獲取它的第一個參數
command !string:$? ?從命令歷史中搜索以 string 開頭的命令,并獲取它的最后一個參數
command !string:n? ?從命令歷史中搜索以 string 開頭的命令,并獲取它的第n個參數
command !string:*? ?從命令歷史中搜索以 string 開頭的命令,并獲取它的所有參數
4、命令歷史相關環境變量:
- HISTSIZE? ? 命令歷史記錄的條數,默認1000
- HISTFILE? ? 指定歷史文件,默認為~/.bash_history
- HISTFILESIZE? ? 命令歷史文件記錄歷史的條數
- HISTTIMEFORMAT=“%F %T “ 歷史記錄顯示時間
- HISTIGNORE=“str1:str2*:… “ 忽略str1命令以及str2開頭的所有命令
- HISTCONTROL環境變量:
ignoredups 默認,忽略重復的命令,連續且相同為“重復”
ignorespace 忽略所有以空白開頭的命令
ignoreboth 相當于ignoredups, ignorespace的組合
history命令相關的配置文件存放在 /etc/profile 或 ~/.bash_profile,更改之后永久有效
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/94194