上一个命令的最右半句

1
cd !$

日期

1
date +%Y%m%d%H%M%S

历史命令显示时间

1
export HISTTIMEFORMAT="%F %T  "

ps指定列显示

1
2
ps -ef | grep java | head -n 1 | awk '{print$2}'
ps -eo command,lstart|grep ncss-send-message

jar

1
2
jar -cvf report-intf.war .
jar -xvf report-intf.war

vi

1
2
3
4
5
6
7
:10,50s#abc#def#g(如文件内有#,可用/替换,:%s/abc/def/g)

set ts=4 tab键4个
set bs=4 空格4个
set key= 去除密码
:X 加密
:x 保存

三剑客

1
2
3
4
5
sed -i '1,$s/113.62.127:[0-9]\{4\}/113.62.127:1234/g' index.js

netstat -anlutp|awk '{print $5":"$7}'|awk -F : '{print $4$6}'|sort|uniq -c|sort -n|grep 221

ps -aux|awk '{sum+=$4} END {print "Sum = ", sum}'

xargs

1
find .|xargs grep -r 'k'

位置参数

1
2
3
4
5
6
7
$#    传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数
$$ 脚本运行的当前进程ID号
$! 后台运行的最后一个进程的ID号
$@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。
$- 显示Shell使用的当前选项,与set命令功能相同。
$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

仅显示自己目录

1
ll -d `find /home/clique/ -mtime -1|grep old-dicyun-clique`

curl发送邮件

1
/usr/local/bin/curl --verbose -s --url "smtps://smtp.qq.com" --mail-from "number@qq.com" --mail-rcpt "number@qq.com" --upload-file mail.txt --user "number@qq.com:password"

同步

1
2
3
rsync -av root@domain:/home/clique/test/ kk/

rsync -avzuP

crontab文件锁

1
2
flock -xn /tmp/run.lock -c '/root/s.sh'
flock -w0 /tmp/run.lock -c '/root/s.sh'

nmap扫描端口

1
2
nmap -sT -Pn ip  -p8905-8907
nmap -sU -Pn ip -p8905-8907

yum

1
2
3
yum autoremove
yum history list/undo number
yum install epel-release

更改时区

1
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime