歡迎您光臨本站 註冊首頁

linux幾個有用的命令

←手機掃碼閱讀     火星人 @ 2014-03-26 , reply:0

find主要功能是在系統目錄樹中查找特定的文件名或目錄名。功能強大,內部參數即可支持搭配其它命令和腳本使用,但查詢較耗時間。
常用案例分析:
find . -name
find . -name "*.pdf"
find ./ -name "[0-9]*"
find -type d -name "[0-9]*"
find -type f -name "[a-z]*"
find . -mtime -1
find . -mtime +1
find . -mtime -2 -print -exec cp {} ./root/test/ \;
find . \( -name "a*" -o -name "c*" -o -name "b*" \) -exec ls {} \;
find ./ -name "*.pdf" -exec tar -zcvf /tmp/test.tgz {} \;
find ./ -name "*.pdf" |xargs tar zcvf /tmp/mypdf.tgz

locate 功能較find簡單,速度較快。但需要定期更新文件組織結構庫更新資料庫可使用命令updatedb.也可寫在計劃任務中做自動定期更新。
locate
locate -i

grep在指定文件中或標準輸出中查找與所給關鍵字匹配的項,默認以行的形式輸出。
常用案例分析:
ps -ef|grep net
more size.txt | grep '[a-z]'
more size.txt | grep '[bB]'
grep '^root' /etc/group
grep 'root$' /etc/group
more size.txt | grep -i 'b1'
more size.txt | grep -v 'b1'
grep '\$' /etc/init.d/nfs.server
grep -n ';$' filename
grep '^[A-Z].*?$' filename
grep -n '^' filename
grep -n '$' size.txt

awk的運行過程:
① awk從輸入文件中讀取一行,稱為一條輸入記錄。(如果輸入文件省略,將從標準輸入讀取)
② awk將讀入的記錄分割成欄位,將第1個欄位放入變數$1中,第2個欄位放入$2,以此類推。$0表示整條記錄。欄位分隔符使用shell環境變數IFS或由參數指定。
③把當前輸入記錄依次與每一個awk_cmd中awk_pattern比較,看是否匹配,如果相匹配,就執行對應的actions。如果不匹配,就跳過對應的actions,直到比較完所有awk_cmd。
④ 當一條輸入記錄比較了所有的awk_cmd后,awk讀取輸入的下一行,繼續重複步驟③和④,這個過程一直持續,直到awk讀取到文件尾。
⑤ 當awk讀完所有的輸入行后,如果存在END,就執行相應的actions。
常用案例分析:
more size.txt | awk '/B/'
df -m |awk '$4 < 50'
awk '/0/ {print $1}' /etc/passwd
awk -F ":" '{print $1}' /etc/passwd

awk -F $sep '{print $1}' /etc/passwd

Sed是 個功能十分強大的編輯器,對文本文件流的處理主要以行為單位來進行。
常用案例分析:
sed -e '1,10d'
sed -e 's/yellow/black/g'
sed -n -e '1,10p' /etc/passwd
sed -n -e '1,10p' -e '1d' /etc/passwd
ps -ef |grep http |grep -v grep |awk -F " " '{print $2}' |sed -n -e '1,$p'
ps -ef |grep httpd |grep -v grep|awk -F " " '{print $2}'|xargs kill -9
while true; do cat /etc/passwd |grep 'bash$' |awk -F ":" '{print $1}' > /tmp/users && echo `cat /tmp/users` are the users who can login; sleep 2; clear; done
find /var/ -type f |xargs du -sk |awk -F " " '{print $0}' |awk '$1 > 1024'

[火星人 ] linux幾個有用的命令已經有414次圍觀

http://coctec.com/docs/linux/show-post-186970.html