Linux 命令集合

工作中收集了一些Linux shell命令 便于参考
mpstat用于报告多路CPU主机的每颗CPU活动情况,以及整个主机的CPU情况。
下边的命令可以隔2秒报告一次处理器的活动情况,执行3次
[root@localhost ~]# mpstat 2 3
如下命令每隔1秒显示一次多路CPU主机的处理器活动情况,执行3次

[root@localhost ~]# mpstat -P ALL 1 3
在当前目录下列出所有的扩展名
[root@localhost ~]# find . -type f | awk -F'.' '{print $NF}' | sort| uniq -c | sort -g
批量替换php中的关键字    
for I in `find . -name "*.php"`; do sed -i "s/old name/new name/g" $I; done
 
快速的将当前目录中所有的.php扩展名修改给.html   
[root@localhost ~]# for i in *.php; do mv $i ${i%.php}.html; done
用备份的superblock来挂载文件系统  
[root@localhost ~]# mount -o sb=98340 /dev/sda1 /mnt/data1/
 
删除B目录中与A目录同名的文件   
[root@localhost ~]# for file in A/*; do rm B/`basename $file`; done
找出10个大文件
[root@localhost ~]# du -sh * | sort -rh | head


 
寻找非html的文件 
[root@localhost ~]# find . -type f ! -name "*html"


用脚本获取eth0上的IPv4地址
[root@localhost ~]# ip addr show eth0 |grep 'inet\b' |awk '{print $2}' |sed -r -e 's/\/.*?//g'
 
以html的形式获取服务器的硬件配置报告 
[root@localhost ~]# lshw -html >hardware.html
统计服务器上已经建立的TCP的链接 
[root@localhost ~]# netstat -an | awk '$1 ~ /[Tt][Cc][Pp]/ && $NF ~ /ESTABLISHED/{i++}END{print "Connected:\t", i}'


限制传输速率
[root@localhost ~]# cat /dev/urandom | pv -L 3m | dd bs=1M count=100 iflag=fullblock > /dev/null
 
上一条命令的快捷方式   
[root@localhost ~]# alias foo="!!"


备份制定后缀的文件并且打包到根目录下  
[root@localhost opt]# tar --exclude=".??*" -zcvf ./home_backup_2008.tar.gz my_home
 
替换:将hh文件下的内容192替换成193   
[root@localhost opt]# for I in "hh"; do sed -i "s/192/193/g" $I; done
Linux 限制传输速率    
# cat /dev/urandom | pv -L 3m | dd bs=1M count=100 iflag=fullblock > /dev/null
 
格式化另一个日期  
date --date=yesterday +%Y%m%d
合并多个文件到一个文件中 
cat file1 . . . fileN > NEWFile
 
递归删除所有的htm  
[root@localhost opt]# find . -type f -name '*.htm' -delete
列出并删除一岁的文件  
[root@localhost zhiwen]# find <目录路径> -mtime +365 -and -not -type d -delete


 
查找日志中的所有问题   
[root@localhost opt]# grep -2 -iIr "err\|warn\|fail\|crit" /var/log/*
寻找最大的10个文件夹 
[root@localhost ~]# find . -type d -print0 | xargs -0 du -s | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {} | sort -rn
检查端口是否开放   
[root@localhost ~]#nmap -p 80 hostname
 
显示命令的输出值到file.txt文件中     
[root@localhost opt]# command | sed '/file.txt/q'
保存man页面为pdf文件    
[root@localhost opt]# man -t awk | ps2pdf - awk.pdf
 
列出所有zip压缩包里边的文件并解压    
[root@localhost opt]# find . -name "[i].tgz" -or -name "[/i].zip" | while read file; do echo "$file:"; unzip $file; done
显示所有目录内容   
[root@localhost opt]# while read f;do echo "$f";done < <(find .)
 
Linux 查找指定的某个目录  
[root:/usr/sbin Master] # find / -name 目录名 -type d
在/var/log/secure 里针对某个IP扫描了多少次
[root:~ Slave] # cat /var/log/secure |grep 192.168.83.40 | wc -l
对其中的secure获取其中的ip地址和数量:
[root:~ Slave] # grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' /var/log/secure | sort | uniq -c

2 个评论

不错,每一个小命令,掌握了都很方便,不错的分享。
超赞,实用

要回复文章请先登录注册