如下命令都是在使用Linux類系統中常用到的小命令,我記性不好,記錄下來方便日后查詢,這篇文章不定期更新上一些新命令,喜歡的可以關注,分類是根據我自己的喜好\經驗來分類的,可能和別人的分類方式略有不同,
更改系統狀態類命令
init
使用這類命令,一般需要root權限;
init 0 # 關機
init 6 # 重啟
reboot #重啟
查看系統資源類命令
vmstat
# 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
# free
total used free shared buff/cache available
Mem: 4037772 789260 2298740 22276 949772 2952424
Swap: 2094076 0 2094076
操作檔案類命令
tail
用于持續觀察日志檔案變化,
使用案例:
# 語法
tail -f /log_name_path
# Ctrl + C is quit
# 只展示和關鍵字相關的日志記錄
tail -f /log_name_path* | grep 關鍵字
# 查看非權限內的日志 + sudo
sudo tail -f /var/log/cron
zip
單詞速記 zipper 是拉鏈,拉上拉鏈不就是要打包檔案嗎,un 有否定含義的前綴,upzipper是解開了拉鏈,不就是要把包好東西都倒出來嗎,
# 壓縮并指定目錄
zip -r /home/kms/kms.zip /home/kms/server/kms
# 解壓并指定目錄
unzip /home/kms/kms.zip -d /home/kms/server/kms
通信類命令
scp
傳輸檔案夾,感覺配置方式太麻煩,容易被防火墻或者安全規則阻擋,報超時錯誤,建議使用lrzsz
$scp -r /tmp [email protected]:/tmp/filename
password:
rz sz
參考:https://www.linuxrumen.com/cyml/251.html
// 首先安裝lrzsz
# yum -y install lrzsz
// 上傳檔案,執行命令rz,會跳出檔案選擇視窗,選擇好檔案,點擊確認即可,
# rz
# rz -be //傳輸二進制檔案時
// 下載檔案,執行命令sz
# sz
查找類命令
一般用于組合其他命令來使用;
grep
如果有需求是在Linux終端下進行代碼審計時,系統也沒有ide工具,想要搜索在專案目錄內,那些檔案里面寫了呼叫過當前函式、變數的字符,
grep -in "函式/變數" -r ./home/my/www/cms
-i 在進行比較時忽略字母的大小寫,
-n 在每一行之前放置檔案中相關的行號,每個檔案的起始行號為 1,在處理每個檔案時,行計數器都將被復位,
- r 從什么目錄路徑開始搜索
shopt
簡單來說就是增強版的命令列,原本的命令列是不能使用正則匹配模式的,通過shopt可以使用了,
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沒有這個功能,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/162457.html
標籤:Linux
上一篇:Ubuntu中shell腳本無法使用source命令的原因與解決方法
下一篇:Linux 命令之 chmod
