SHELL 常用命令

1、文本内容搜索

1
grep aaa *

2、grep 搜索目录时,怎样排除某些目录?

2.1单个目录示例
1
grep -E "http"  ./ -R --exclude-dir=.git
2.2多个目录示例
1
grep -E "http"  . -R --exclude-dir={.git,res,bin}
2.3多个文件示例
附赠一个,排除扩展名为 java 和 js 的文件
1
grep -E "http"  . -R --exclude=*.{java,js}

4、文件夹操作

1
2
查看文件夹大小   du -h --max-depth=1 /home/ys
查看驱动器空间 df -h

5、压缩命令

1
2
tar zxvf aaa.tar.gz
tar zcvf aaa.tar.gz aaa

6、登陆到其他用户

1
login

7、查看端口的占用

1
lsof -i:8087  查看8087端口的使用

8、批量杀死进程

1
ps -aux|grep name|grep -v grep|cut -c 9-15|xargs kill -9

9、查看当前时间

1
2
3
4
5
date       时间
date +%s 时间戳
date -d "2010-07-20 10:25:30" +%s 指定时间时间戳
date -d "@1279592730" 时间戳转时间
date -d "1970-01-01 14781 days" "+%Y/%m/%d %H:%M:%S"

10、查看进程内存使用情况

1
2
3
4
top -d 1 -p pid [,pid ...]
pmap pid
ps aux|grep process_name
查看/proc/process_id/文件夹下的status文件

11、查看Linux内核版本或发布版本

1
2
lsb_release -a
uname -a

12一句话实现一个HTTP服务,把当前文件夹作为根目录

1
python -m SimpleHTTPServer

13、查看本地网络服务活动状态

1
lsof -i

14、查看自己的外网ip

1
curl ifconfig.me

15、下载整个网站

1
wget --random-wait -r -p -e robots=off -U mozilla http://www.example.com

16、后台运行一段不中止的程序,并可随时查看它的状态

1
screen -d -m -S some_ name ping my_router

17、查看进程执行的时间

1
ps -A -opid,stime,etime,args | grep python

18、创建守护进程

加入守护进程:

1
nohup python /var/www/a.py &

查看守护进程: (只在当前session下有效)

1
jobs

19、杀死进程

1
2
3
kill -9 pid

killall pname

20、查看当前文件夹下文件(文件夹)大小

1
du -h --max-depth=1 .

21、查看所有磁盘大小

1
df -h

22、诊断网络

1
2
3
4
mtr
ping
traceroute
dig

23、列出本机监听的端口号

1
2
netstat –tlnp
netstat -anop

24、在远程机器上运行一段脚本

1
ssh user@server bash < /path/to/local/script.sh

25、端口扫描

1
nc -z -v -n 127.0.0.1 20-100

26、负载测试,30秒内向Google发起20个并发连接

1
siege -c20 www.google.co.uk -b -t30s