1.如何查看8080端口是否被占用?如何提取进程号?
lsof -i:8080 即可看到进程号
netstat -ap| grep ‘8080’
备注:
netstat控制台命令,是一个监控TCP/IP网络的非常有用的工具,
- -a 现实所有选项,默认不现实listen相关
- -t 显示tcp相关选项
- -u 显示udp相关选项
- -n 拒绝现实别名,能显示数字的全部转化为数字
- -l 仅列出有listen的服务状态
- -p 显示简历相关链接的程序名
- -r 显示路由信息、路由表
- -e 显示扩展信息,如uid等
- -s 按各协议进行统计
- -c 每隔一个固定时间,执行该netstat命令
- listen和listening的状态只有-a或者-l才能看到
lsof是一个列出当前系统打开文件的工具
- -a 列出打开文件存在的进程
- -c 列出指定进程所打开的文件
- -g 列出GID号进程详情
- -d 列出占用该文件号的进程
- +d 列出目录下被打开的文件
- +D 递归列出目录下被打开的文件
- -n 列出使用NFS的文件
- -i 列出符合条件的进程 (最常用)
- -p 列出注定进程号所打开的文件
- -u 列出UID号进场的详情
2.查找所有名称包含“Test” 的进程,并且强制终止该进程
ps -ef | grep "Test" | grep -v grep | awk '{print $2}' | xargs -r kill -9
备注:
- grep -v grep 去除包含grep的进程号,避免影响最终数据的正确性
- awk 一行一行读取,打印第二个字段,即进程号
- xargs 给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
- -r 当xargs的输入为空的时候则停止xargs,不再去执行
3.如何查看占用CPU使用率最高的进程
ps -aux | sort -k2nr | head -1
备注:
- ps -aux 显示所有进程。
- sort -k2nr :k排序按照第二列数据排序,按n:按照字符串数值排序,r降序
4.怎么使一个命令在后台运行?哪个命令专门用来查看后台任务?
一般使用& 在命令结尾让程序自动后台运行
jobs -l 查看后台任务
备注:jobs 可以用来查看当前终端放入后台的工作。
5.如何按页查看一个较大的日志文件
cat filename | more
备注:此时使用空格向下翻一页,回车向下翻一行
6.统计文件中某个单词的行数
wc -l | grep "words"
备注:wc 文本统计工具,word count
-l 统计行数 -c统计字节数 -w统计字数 -m统计字符数
7.输入文件中不包含某个单词的行
grep -vn "word" 文件名
8.