Linux 經常使用命令記錄

以下命令都是在使用Linux類系統中經常使用到的小命令,我記性很差,記錄下來方便往後查詢,這篇文章不按期更新上一些新命令,喜歡的能夠關注。分類是根據我本身的喜愛\經驗來分類的,可能和別人的分類方式略有不一樣。css

更改系統狀態類命令

init

使用這類命令,通常須要root權限;html

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

用於持續觀察日誌文件變化。linux

使用案例:shell

# 語法
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

傳輸文件夾,感受配置方式太麻煩,容易被防火牆或者安全規則阻擋,報超時錯誤。建議使用lrzszbash

$scp -r /tmp root@88.88.88.88:/tmp/filename 
password:

rz sz

參考:https://www.linuxrumen.com/cyml/251.htmlide

// 首先安裝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可使用了。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沒有這個功能。

相關文章
相關標籤/搜索