以下命令都是在使用Linux類系統中經常使用到的小命令,我記性很差,記錄下來方便往後查詢,這篇文章不按期更新上一些新命令,喜歡的能夠關注。分類是根據我本身的喜愛\經驗來分類的,可能和別人的分類方式略有不一樣。css
使用這類命令,通常須要root權限;html
init 0 # 關機 init 6 # 重啓 reboot #重啓
# vmstat [refresh delay] [refresh frequency] vmstat 1 3 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 2 0 0 2298560 201728 748024 0 0 2 1 29 23 0 0 100 0 0 0 0 0 2298428 201728 748024 0 0 0 0 266 270 0 0 100 0 0 0 0 0 2298428 201728 748024 0 0 0 0 247 236 0 0 100 0 0
# free total used free shared buff/cache available Mem: 4037772 789260 2298740 22276 949772 2952424 Swap: 2094076 0 2094076
用於持續觀察日誌文件變化。linux
使用案例:shell
# 語法 tail -f /log_name_path # Ctrl + C is quit # 只展現和關鍵字相關的日誌記錄 tail -f /log_name_path* | grep 關鍵字 # 查看非權限內的日誌 + sudo sudo tail -f /var/log/cron
單詞速記 zipper 是拉鍊,拉上拉鍊不就是要打包文件嗎。un 有否認含義的前綴,upzipper是解開了拉鍊,不就是要把包好東西都倒出來嗎。安全
# 壓縮並指定目錄 zip -r /home/kms/kms.zip /home/kms/server/kms # 解壓並指定目錄 unzip /home/kms/kms.zip -d /home/kms/server/kms
傳輸文件夾,感受配置方式太麻煩,容易被防火牆或者安全規則阻擋,報超時錯誤。建議使用lrzszbash
$scp -r /tmp root@88.88.88.88:/tmp/filename password:
參考:https://www.linuxrumen.com/cyml/251.htmlide
// 首先安裝lrzsz # yum -y install lrzsz // 上傳文件,執行命令rz,會跳出文件選擇窗口,選擇好文件,點擊確認便可。 # rz # rz -be //傳輸二進制文件時 // 下載文件,執行命令sz # sz
通常用於組合其餘命令來使用;函數
若是有需求是在Linux終端下進行代碼審計時,系統也沒有ide工具,想要搜索在項目目錄內,那些文件裏面寫了調用過當前函數、變量的字符。工具
grep -in "函數/變量" -r ./home/my/www/cms -i 在進行比較時忽略字母的大小寫。 -n 在每一行以前放置文件中相關的行號。每一個文件的起始行號爲 1,在處理每一個文件時,行計數器都將被複位。 - r 從什麼目錄路徑開始搜索
簡單來講就是加強版的命令行,本來的命令行是不能使用正則匹配模式的,經過shopt可使用了。ui
shopt命令用於顯示和設置shell中的行爲選項,經過這些選項以加強shell易用性。
shopt命令若不帶任何參數選項,則能夠顯示全部能夠設置的shell操做選項。
案例:
# 語法 shopt -s extglob #開啓shopt命令 shopt -u extglob #關閉shopt命令 # 開啓以後 # 刪除文件名不以jpg結尾的文件 rm -rf !(*jpg) # 刪除文件名以jpg或png結尾的文件 rm -rf *@(jpg|png) # 刪除當前文件夾下所有文件,除了css、js shopt -s extglob rm -rf !(css | js) shopt -u extglob
能匹配的5種模式:
?(pattern-list) - 所給模式匹配0次或1次
*(pattern-list) - 所給模式匹配0次以上包括0次
+(pattern-list) - 所給模式匹配1次以上包括1次
@(pattern-list) - 所給模式僅僅匹配1次
!(pattern-list) - 不匹配括號內的所給模式
zsh版的shell使用shopt時須要注意:
遇到以下報錯時,
zsh: no matches found: !(js|css)
解決,
# 切換到bash: exec bash # 而後 source ~/.bashrc # 使用完shopt,能夠在切換回zsh模式 exec zsh
由於zsh使用env配置文件~/.zshrc,而不是~/.bashrc,致使zsh沒有這個功能。