linux常用运维命令合集
常用命令:
1.文件内容包含指定字符串
find . | xargs grep string #查找当前目录下文件内容包含字符串string的文件
为什么要这样写,因为管道命令符是把上一部的结果传递给下一步来处理,在 find . | grep string中虽然看似和find . | xargs grep string差不多,但是实际上还是有区别的。应为find .得到的结果是一串文件名集合,如果直接传递给grep的话,grep会把这些文件名看作一些无意义的字符串来处理。但是传递给xargs,他会把他当作一个有意义的文件来处理。
2.文件名包含指定字符串
find . -name '*string*' #查找当前目录下文件名包含字符串string的文件
如果要查找文件名中不包含字符串string的文件,可以使用!(取非,也就是取反)。
find . ! -name '*string*'
3.根据进程名查看端口
netstat -nlpt | grep 进程名
4.生成md5
openssl dgst -md5 文件名
5. 查看目录下所占空间
比如查看/var 目录下,所有子目录所占空间,cd /var;du -sh *
6. grep -v:显示不包含匹配文本的所有行。反向查找
7. 根据进程ID查询进程完整路径
1)ps -ef|grep 进程名
拿到进程ID
ps aux | grep 进程ID 根据进程ID查询对应的进程
2) ls -lrt /proc/进程ID 确定进程所在的目录
8. linux查看是物理机器还是虚拟机器
cat /proc/scsi/scsi
9. 停止脚本
pid=`ps -ef|grep 进程名| grep -v grep | awk '{print $2}'`
#kill -9 $pid
echo $pid
10. du-查看文件夹大小-并按大小进行排序
du -s * | sort -nr
du -s * | sort -nr | head -10选出排在前面的10个,
du -s * | sort -nr | tail -10选出排在后面的10个。
du -sh * | grep [MG] | sort -nr 筛选出大小为MB和GB级别的目录和文件,并降序排序
11.查看cpu和内存配置
物理CPU个数: cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
每个CPU物理核数: cat /proc/cpuinfo | grep "cpu cores" | uniq | wc -l
每个CPU逻辑核数: cat /proc/cpuinfo | grep "processor" | uniq | wc -l
查看CPU频率: cat /proc/cpuinfo | grep MHz
按M,按G,按K查看内存大小:free -m, free -g, free -k
查看系统版本:
cat /proc/version
cat /etc/redhat-release
cat /etc/*release*
12.linux删除文件没有释放空间
例如删除了 /tmp 目录下的文件,但是空间没有释放,
首先执行 lsof | grep delete | grep /tmp
查出进程后kill掉,就可以释放空间
原因:使用rm 删除的文件原理:rm命令只是把链接解除(unlink),假设文件是被打开的(有一个进程正在使用),进程仍然可以读取已删除的文件,所以并不释放磁盘空间。
13.查看进程占用内存和cpu: ps aux排序
按内存升序排列;
ps aux --sort=+rss
按内存降序排列;
ps aux --sort=-rss
按cpu升序排列;
ps aux --sort=+%cpu
为按cpu降序排列。
ps aux --sort=-%cpu
14.curl只返回http状态码
命令:curl -sL -w "%{http_code}" "此处填写url" -o /dev/null
例如:curl -sL -w "%{http_code}" "www.baidu.com" -o /dev/null
15.后台启动脚本,并将标准输出和标准错误重定向到log文件
nohup test.sh > /tmp/test.log 2>&1 &
原作者整理的都是比较实用的,转自:https://blog.csdn.net/qq805934132/article/details/82910385