目錄
echo 打印命令? :?? ? ?
?顯示字符串??:
?顯示轉(zhuǎn)義字符 :?
?顯示顏色? :?
?顯示命令執(zhí)行結(jié)果? :?
history 歷史命令 :?
修改默認(rèn)記錄歷史命令條數(shù) :?? ? ? ? ? ?
歷史命令的調(diào)用? :?
命令別名? ?
查看命令別名? :?
命令的執(zhí)行順序? :
echo 打印命令? :?? ? ?
?顯示字符串??:
[root@server ~]# echo this is SHELL language
this is SHELL language
[root@server ~]# echo 'this is SHELL language'
this is SHELL language
[root@server ~]# echo "this is SHELL language"
this is SHELL language
?顯示轉(zhuǎn)義字符 :?
? 選項(xiàng)? :? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-n? ?:? 不換行輸出?? ? ? ? ? ? ? ??
[root@server ~]# echo -n "Huan Hang"
Huan Hang[root@server ~]#
? ? ? ? ? ? ? ? ? ? ? ? ? ?
????????????????????????????? -e? ?:? ? ?啟用反斜線轉(zhuǎn)義解釋?? ? ? ? ? ?
? 比如 : 現(xiàn)在我就是想讓 echo 輸出帶引號的字符,那怎么辦呢 ???
? ? ? ? ? ? ? ?===>>>
[root@server ~]# echo " I want to print \" \" "
I want to print " "
? ? 顯然,這個時候就需要用到 轉(zhuǎn)義字符 \ ,? ? \ "? , 之后, 那 " 就會被當(dāng)做一個普通的字符
? ?\t? ?:? ? 一個 tab 鍵??
[root@server ~]# echo "name\tJames"
name\tJames
[root@server ~]# echo -e "name\tJames"
name James
? ? 這個時候就需要 在前面 加 -e? 生效 轉(zhuǎn)義字符, 而后的 \t? 便意味? tab鍵?
?
?顯示顏色? :?
echo -e "\033[字體控制選項(xiàng);字背景顏色;文字顏色m字符串\033[0m"
? 常見的字體顏色? : 重置=0,黑色=30,紅色=31,綠色=32,黃色=33,藍(lán)色=34,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 紫色=35,天藍(lán)色=36, 白色=37
? ? ? ?????????????????????????????????
? 常見的背景顏色? :重置=0,黑色=40,紅色=41,綠色=42,黃色=43,藍(lán)色=44,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?紫色=45,? ? ?天藍(lán)色=46,白色=47
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? 字體控制選項(xiàng)? ?:??1表示高亮,4表示下劃線,5表示閃爍等
? ===>>>
??
?顯示命令執(zhí)行結(jié)果? :?
??===>>>
[root@server ~]# echo `whoami`
root
[root@server ~]# echo $(whoami)
root
? ? ?????????
?
history 歷史命令 :?
? ? ? ? ? 格式 :? history? [參數(shù)]? [歷史命令保存文件]
? ? ? ? ? 參數(shù) :??
? ? ? ? ? ? ? ?*? ?-c? :? 清空歷史命令記錄?
? ? ? ? ? ? ?? *? ?-w? : 把緩存中的歷史命令寫入歷史命令保存文件。 如果不手工指定歷史保存文件,則
? ? ? ? ? ? ? ? ? ? ? ? ? ? 放入默認(rèn)歷史命令保存文件 ~/.bash_history 中?? ? ?
? ? ? ? ?
修改默認(rèn)記錄歷史命令條數(shù) :?? ? ? ? ? ?
[root@server ~]# vim /etc/profile
? ?===>>>?
? HISTSIZE=1000 就是說 我們 History 歷史命令 最多可以記錄 1000 條命令 ~!!
? 這個參數(shù) 也是可編輯的, 你也可以修改 1000 , 修改保存后, 重啟( reboot )?
? 重啟之后,文件生效 ~?。。?!??
? 拓展 :? 面試題?
? ?顯示 history 歷史命令出現(xiàn)次數(shù)最高的 TOP 10?
===>>>
[root@server ~]# history | tr -s " " | cut -d " " -f3 | sort | uniq -c | sort -nr | head -10
對上述 代碼進(jìn)行解釋 :?
# 瀏覽歷史命令 | 壓縮為 1 個空格 | 截取以空格作為間隔符的第三部分 | 排序 | 統(tǒng)計并去重 | 降序排列 | 顯示前10
拓展 :? 面試題
增加 history 顯示的信息,如 : 歷史命令執(zhí)行的時間?
?我們知道 history 命令,一般執(zhí)行完就顯示 序號 及 命令?
?===>>>
? ? ? ? 并沒有 這個命令是啥時候執(zhí)行的顯示 ,所以,也就是說需要我們對 History 這個命令去
? ? ? ? 做一些基本的操作;?
????????那就需要重新編輯配置文件,就是說需要對 History 這個命令的配置文件需要進(jìn)行改變。?
? ? ? ? History 命令 的配置文件?
? ? ? ? ===>>>? ??/root/.bashrc? ( 是個隱藏文件,? 是 Bash SHELL 解釋器的相關(guān)基礎(chǔ)配置 )
? ? ? ??
? ?我們編輯 /root/.bashrc 這個文件??
? ? ===>>>
[root@server ~]# vim /root/.bashrc
? ? ?===>>>
????????
? ? ? ?我們定位到最后一行 :?
? ? ? ?===>>>
? ? ??
? ? ? ?保存,退出
? ? ? ?執(zhí)行配置腳本,刷新配置?
? ? ? ?===>>>
[root@server ~]# source ~/.bashrc
? ? ? ??
? ? ?我們使用 History 命令 測驗(yàn)下 :?
? ? ? ?
? ? ? ? 顯然,滿足題目要求 ~?。?!
歷史命令的調(diào)用? :?
如果想要使用原先的歷史命令,可以采用如下方法
?1.? 可以使用 鍵盤 方向鍵的? 上 下鍵
?2. 使用 !n? 就是? 執(zhí)行第n 條命令? ?( 注意 ! 和 n 之間沒有空格 )?
?3.? 使用 !!? 就是 調(diào)用上一條 執(zhí)行的命令?
? 4. 使用 !字符串? ?就是 執(zhí)行最后一條 以該字符串開頭的命令?
? 5. 使用 !$? ?重復(fù)上一條命令的最后一個參數(shù)?
? ? ? ?
命令別名
? ? ??
查看命令別名? :?
[root@server ~]# alias
??
? ?上示會把所有的命令別名 列舉出來 ~??!?
定義一個 命令別名 :?
===>>>
[root@server ~]# alias ld='ls -ld'
我們再使用 alias 查看下 當(dāng)前的別名有哪些 ( 看看有沒有 剛才新加的別名 )
? ? ?
顯然,有我們剛才添加的 新別名?
? ? ? 注 :? 當(dāng)我們在? 命令行 新加了 別名時, 你會發(fā)現(xiàn)只能在當(dāng)前的環(huán)境中生效 ,要是換個環(huán)境
? ? ? ? ? ? ? ? ?新增的別名就又不起作用了~??!
? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ?因此,為了我們寫的別名能夠永久生效,我們就得把別名寫到配置文件里面
? ? ? ? ? ? ? ? ?只有寫到配置文件里才能永久生效~!??!?
? ? ? ? ? ? ? ? ?一般情況下,我們寫命令別名就是針對當(dāng)前用戶來寫的,所以,我們寫配置文件,也是
? ? ? ? ? ? ? ? ?針對當(dāng)前用戶的家目錄下的隱藏文件?
? ? ? ? ? ? ? ? ?===>>>
? ? ? ? ? ? ? ? ? ~/.bashrc???
? ? ? ? ? ? ? ? ?===>>>
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? 按照前面文件所展示的三行的格式, 編輯你要寫入的別名 ~??!1
? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? 只是在配置文件里編輯了,并不能生效,要 斷開再重新連接即可生效 ~!!
? ? ? ? ? ? ? ? ===>>>
? ? ? ? ? ? ???
? ? ? ? ? ? ? ?顯然,我們剛才在配置文件里編輯的內(nèi)容也并沒有生效;?
? ? ? ? ? ? ? ?因此,我們得斷開鏈接,重新連接后,配置文件才會生效?
? ? ? ? ? ? ? ?===>>>
? ? ? ? ? ? ??
? ? ? ? ? ? ? 顯然,重新加載配置文件,我們新添的命令別名也就生效了~??!
?注? :??
? ? ? ? ? ? ? ? ?如果為了? ?所有用戶? 都可以使用這個 命令別名,那就得寫在?
? ? ? ? ? ? ? ? ?===>>>
? ? ? ? ? ? ? ???/etc/bashrc?
? ? ? ? ? ? ? ? ?就在上示配置文件里,最后一行 加上 別名即可 ~!?
命令的執(zhí)行順序? :
? ? ? ? ? ? ? ? ?
??????別名的優(yōu)先級比命令高,那么 命令執(zhí)行時具體的順序是什么呢 ?? ?
? ? ??===>>>
1.? 第一順位執(zhí)行? 用絕對路徑或相對路徑執(zhí)行的命令?
2.? 第二順位執(zhí)行? 別名?
3.? 第三順位執(zhí)行? Bash的內(nèi)置命令?
4.? 第四順位執(zhí)行? 按照 $PATH 環(huán)境變量定義的目錄查找順序找到的第一個命令文章來源:http://www.zghlxwxcb.cn/news/detail-662545.html
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?為了讓這個別名永久生效,可以把別名寫入環(huán)境變量配置文件 ~/.bashrc??文章來源地址http://www.zghlxwxcb.cn/news/detail-662545.html
到了這里,關(guān)于SHELL 基礎(chǔ) 顯示字符顏色, 修改歷史命令,Linux里的命令 執(zhí)行順序的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!