博客 2015-03-02

Find

find /usr /home /tmp -iname "*.jar"   (1.多个目录 2.不区分大小写)
find /usr/bin -type l -name "z*" -ls  (1.类型 2.执行操作,-ls同 -exec ls -l {} \; 还有-delete)
find / -name "*.txt" -mount            只在本文件系统查找(-mount or -xdev )
find . -name "flick*.png" |xargs tar czf flick.rar
find ~ -name ‘*.log’ -print0 | xargs -0 rm -f    太长的分段(-print0 与 -0 匹配,以NULL代替回车换行)
find . -type f -atime +10 -print0 | xargs -0 -l1 -t rm -f   (-l1 表示 一次处理一行,-t表示看到)


Grep

grep -c/-o/-n/-i/-l/-w/-v/-h    count/only-match/num/ignore/list-name/word/invert-match /不显示文件名
 grep  -B/A/C  n (before/after/context)显示匹配行周围行 (posix 未说明)

egrep --color 'cat|dog' test       cat or dog
grep -E --color 'cat|dog' test       (同上一行)
grep -l -e 'string\.h' -e 'stdlib\.h' /usr/include/*.h
#查看日志的错误信息
grep -irwE  'error|failed|failure' /var/log |less

echo "--shit"|grep -- --shit
echo '--shit' | grep -e '--shit'

Rsync

rsync -e "ssh -p 31415" suse@mreald.com:/home/suse/extensions/ /srv/www/htdocs/extensions/ -avz
(-p 表示端口,rsync 不会覆盖第二个内容 要是都有的话)

节点不够的情况下:
rsync -r -u -v --delete-before -e 'ssh -p 31415' /home/uploader/logistics_system/ test@mreald.com:/share/www/vhosts/make_up/  

快速删除多级目录
mkdir blank
rsync --delete-before -a -H -v --progress --stats blank/ aa/ 

快速删除大文件
touch mreald.txt
rsync --delete-before -a -H -v --progress --stats mreald.txt /aniya/usr.tar.gz
 
同步并删除原文件(不删除原空目录)
rsync IP:/home/*.jpg /share/www/ -avz --remove-sent-files 

同名目录同步覆盖方法:
1.cp -rp dir1/*  dir2/ 
同名不覆盖不提示:
yes no| cp -rp dir1/*  dir2/
同名覆盖不提示:
\cp -rp dir1/*  dir2/ 
2.rsync -avz dir1/ dir2/
or  rsync -avz dir1/*  dir2/ 
 
rsync -azv --partial  --exclude "dir1" --exclude "dir2" --exclude "dir3"  /source/  $HOST:/dest/

Screen (后端开启虚拟终端,退出后仍在后台)

screen -S name (开启一个名为name 的后台)
^a + c/^a/n/p/0-9/d   常用快捷键
screen -ls     (列出打开的虚拟后台 )
screen -r name