Linux Shell經常使用命令(長期更新)

#判斷某個字段是否匹配指定值
awk  -F","  '{if($4=="value"){print $1} else {print  $0}}' file.txt

#批量修改文件後綴名
find /data/ -name "*.pdf"  |while read name;do na=$(echo $name|sed s'/pdf/PDF/g'); mv $name $na; done
rename .txt .sh *.txt

#在文件內容每一個行首添加內容
sed  s'/^/black_ip_/g' file.txt
sed s'/^/del /g' file.txt

#在文件內容每一個行末追加內容
sed s'/$/del /g' file.txt
#將匹配關鍵字的進程kill掉
ps -ef |grep '關鍵字' |awk '{print $2}' |xarg kill -9

#匹配到某個關鍵字時,輸出某個字段信息
ps -ef |awk '/mongod/{print $2}'

#殺死匹配正則表達式的進程
killall -r 'regular expression'

#生成6位隨機字符串
cat /dev/urandom | head -1 | md5sum | head -c 6

#顯示文件中關鍵詞前三行和後兩行
grep -A 2 -B 3 file.txt

#實時監視一個文件是否改動
watch -d -n 0.01 "cat file.txt"

#同時解壓多個包
     z#使用user帳戶執行一個命令,但不切換到該用戶
sudo -u user cat file.txt

#字符串大寫轉小寫
tr '[a-z]' '[A-Z]' < input.txt >output.txt

fortarin*.tar.gz;  dotarxvf $tar; done

#小寫轉大寫,大寫轉小寫
echo a-z-as-d-a-d-a-a-d-a-sd-asd-A-F-G-H--H-JJ-J-J-S-FSFS-- |tr 'a-zA-Z' 'A-Za-z'
#刪除變量中的"-"字符UUID="131237812-48122908348120-98371209381203";echo ${UUID//1/}#刪除同一目錄下的多個具體文件rm -rf /tmp/{file1.txt,file2.txt}#刪除同一目錄下的多個文件,模糊匹配rm -rf ${SERVICE_PATH}/{nginx*.tar.gz,openssl*.tar.gz,php*.tar.gz}#將文件FILE1的access時間和modify時間同步給FILE2,但此操做將更新FILE2的change時間爲命令執行時間touch -r FILE1 FILE2#使用echo檢查命令,避免誤操做echo rm *.txt#讓執行的命令不被記錄到history裏cat |bash#查看指定PID的進程數量 ps uH PID_of_PROCESS |wc -l#變量自增((x++))#用vim遠程編輯文件/root/bin/10rsh,保存時須要密碼。目錄前面多一個"/"vim scp://172.25.1.1//root/bin/10rsh#將文件複製到多個位置cat file |tee dest1 dest2 >dev/null 2>&1#顯示字符串的同時輸出到文件echo "hello world" |tee -a file.txt#獲取文件或目錄的絕對路徑readlink -f file.txt#請輸入密碼實現read -p"請輸入你的密碼:"      明文顯示你的輸入read -s -p"請輸入你的密碼:"    不顯示你的輸入#追蹤top命令並在vim中打開實時刷新strace top 2>&1 > /dev/null |vim -c ':set syntax=strace -'#打開文件並搜索"關鍵字"vim +關鍵字 file.txt#建立文件備份cp file.txt{,.bak}#關閉文件系統自檢(fsck)tune2fs  -c -1 -i 0  /dev/sdb1#查看系統邏輯處理器個數grep processor /proc/cpuinfo |wc -l
相關文章
相關標籤/搜索