linux系統管理技巧(一)

火星人 @ 2014-03-09 , reply:0


本文來自: allcommands

整理其比較實用的好的程序,並翻譯過來.

一、在當前目錄及子目錄下搜索所有後綴為 .php 的文件,並且將 字元串 baidu.com 替換成 opendoc.com.cn
find -name *.php |xargs perl -pi -e 's|baidu.com|opendoc.com.cn|g';
sed -i "s/baidu.com/opendoc.com.cn/g" `grep baidu.com -rl ./`

二、將當前目錄文件名全部轉換成小寫
for i in *; do mv "$i" "$(echo $i|tr A-Z a-z)"; done

三、查找二個文件相同的內容
grep -Fx -f file1 file2
sort file1 file2 | uniq -d

四、查找file2里 file1里沒有的內容
grep -Fxv -f file1 file2

五、自動更新SVN的一個目錄
for d in $(find . -maxdepth 1 -type d -name '[^.]*'); do cd "$d"; svn up; cd ..; done

六、查找當前文件列表 文件與組沒有修改時間排序
find . -type f | xargs ls -ltrhg
l: 所有信息
t: 修改時間排序
r: 倒序
h: 大小 M K
g: 用戶組

七、找到文件,將其與一個可讀的信息輸出列表
find . -type f | sed 's,.*,stat "&" | egrep "File|Modify" | tr "\\n" " " ; echo ,' | sh | sed 's,[^/]*/\(.*\). Modify: \(....-..-.. ..:..:..\).*,\2 \1,' | sort

find . -type f -exec ls -tr {}

find . -type f | sed 's,.*,stat "&" | egrep "File|Modify" | tr "\\n" " " ; echo ,' | sh | sed 's,[^/]*/\(.*\). Modify: \(...........\).*,\2 \1,' | sort

ls -rl --time-style= %s * | sed '/^$/,/^total [0-9]*$/d' | sort -nk6

八、查找文件和他們按修改時間排序的列表
ls -rl --time-style= %s * | sed '/^$/,/^total [0-9]*$/d' | sort -nk6

九、查找N天前的文件,按時間排序
find . -type f -mtime -14 -exec ls -ltd \{\} \; | less

十、配置PS aliases
export PSOA='user,pid,time,state,command' ; function _ps { /bin/ps $@ ; } ; alias psa='_ps ax -o

$PSOA'
#ps aliases
PSO='user,pid,ppid,%cpu,%mem,time,start,state,command'
PSOA='user,pid,time,state,command'
PSOL='user,pid,ppid,%cpu,%mem,nice,pri,etime,time,tt,state,ucomm'
export PSO PSOA PSOL
function _ps { /bin/ps $@ ; }
alias ps='_ps ax -o $PSO'
alias psa='_ps ax -o $PSOA'
alias psl='_ps ax -o $PSOL'
alias psm='_ps -U $USER -o $PSOA'

十一、逐漸列印各行
awk 'BEGIN{ORS=""}NR!=1&&FNR==1{print "\n"}{print}END{print "\n"}' *.txt





[火星人 via ] linux系統管理技巧(一)已經有176次圍觀

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