Linux 面试常考题总结大全【建议收藏】

举报
lxw1844912514 发表于 2022/03/26 23:29:51 2022/03/26
【摘要】 点击上方蓝字关注我们 系统# uname -a   # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本 # cat /proc...

d82f3f9f399a715c6f82c8cb071846bb.png

点击上方蓝字关注我们


   
  1. 系统
  2. # uname -a   # 查看内核/操作系统/CPU信息
  3. # head -n 1 /etc/issue # 查看操作系统版本 
  4. # cat /proc/cpuinfo # 查看CPU信息
  5. # hostname # 查看计算机名
  6. # free -m  # 查看内存使用量和交换区使用量
  7. 资源
  8. # df -h    # 查看各分区使用情况
  9. # du -sh <目录名> # 查看指定目录的大小
  10. # grep MemTotal /proc/meminfo # 查看内存总量 
  11. # grep MemFree /proc/meminfo # 查看空闲内存量 
  12. # uptime # 查看系统运行时间、用户数、负载 
  13. # cat /proc/loadavg # 查看系统负载
  14. 网络
  15. # ifconfig # 查看所有网络接口的属性
  16. # iptables -L  # 查看防火墙设置
  17. # route -n  # 查看路由表
  18. # netstat -lntp  # 查看所有监听端口
  19. # netstat -antp  # 查看所有已经建立的连接
  20. # netstat -s   # 查看网络统计信息
  21. 用户
  22. # w  # 查看活动用户
  23. # id <用户名>  # 查看指定用户信息
  24. # last  # 查看用户登录日志
  25. # cut -d: -f1 /etc/passwd  # 查看系统所有用户 
  26. # cut -d: -f1 /etc/group   # 查看系统所有组
  27. # crontab -l    # 查看当前用户的计划任务
  28. 进程
  29. # ps -ef # 查看所有进程
  30. # ps -ef # 查看所有进程 
  31. # top # 实时显示进程状态
  32. 来源:公众号【码农编程进阶笔记】

2.其中查看文件信息的命令差别:

stat命令一般用于查看文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详 细。

wc命令一般用于统计文件的信息,比如文本的行数,文件所占的字节数。 

du命令一般用于统计文件和目录所占用的空间大小。

ls 命令一般用于查看文件和目录的信息,包括文件和目录权限、拥有者、所对应的组、 文件大小、修改时间、文件对应的路径等等信息。 

df命令用于显示包含每个文件名参数的文件系统上可用的磁盘空间量,默认磁盘空间以 1K块为最小单位。

netstat -ntlp | grep 端口号 查看端口被占用情况 

lsof filename 查看文件被进程占用情况

3.Find grep 命令区别

grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打 印出来。

Find 从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对 之采取相关的操作
简单是:grep是查找匹配条件的行,find是搜索匹配条件的文件

4.Awk 内置变量

变量

用法

$0

当前记录(这个变量中存放着整个行的内容)
       

$1~$n

当前记录的第n个字段,字段间由FS分隔

FS

输入字段分隔符 默认是空格或\t

NF

当前记录中的字段个数,就是有多少列
       

NR

已经读出的记录数,就是行号,从1开始,如果有多个文件话,这个值也是不断累加 中。

FNR

当前记录数,与NR不同的是,这个值会是各个文件自己的行号

RS

输入的记录分隔符, 默认为换行符

OFS

输出字段分隔符, 默认也是空格

ORS

输出的记录分隔符,默认为换行符
       

FILENAME

当前输入文件的名字

5.AWK常用命令:


   
  1. # 打印每一行的第二和第三个字段 
  2. awk '{print $2, $3}' file 
  3. # 统计文件的行数
  4. awk ' END {print NR}' file 
  5. # 对 awk 处理的行做过滤
  6. awk 'NR < 5'  #行号小于5
  7. awk 'NR==1,NR==4 {print}' file  #行号等于14的打印出来
  8. awk '/linux/'  #包含linux文本的行(可以用正则表达式来指定,超级强大) awk '!/linux/'  #不包含linux文本的行
  9. # 使用 -F 来设置定界符(默认为空格)
  10. awk -F: '{print $NF}' /etc/passwd
  11. # awk 实现head 命令
  12. awk 'NR<=10{print}' filename
  13. # 实现tail命令
  14. awk '{buffer[NR%10] = $0;} END{for(i=0;i<11;i++){print buffer[i %10]} } ' filename
  15.  # 查询访问最频繁的100个请求,主要是各种参数都包含了
  16.  grep -v ".php" access.log | awk '{print $7}' | sort |uniq -c |sort -rn | head -n 100
  17. # 查询访问 100 次以上的 ip
  18. awk '{print $1}' access.log | sort -n |uniq -c |awk '{if($1 >100) print $0}'|sort -rn
  19. # 查询指定 ip 访问最多的 100 个页面
  20. grep '112.97.250.255' access.log |awk '{print $7}'|sort |uniq -c |sort -rn |head -n 100
  21. # 查询最近 1000 条请求访问最多的地址
  22. tail -1000 access.log |awk '{print $7}'|sort|uniq -c|sort - nr|less
  23. # 按每秒统计请求数,显示top 100 的时间点 cut是截取 14-21 位,分钟为 14-18 小时为 14-15
  24.  awk '{print $4}' access.log |cut -c 14-21|sort|uniq -c|sort - nr|head -n 100
  25. 来源:公众号【码农编程进阶笔记】

6.查看php进程和cpu占用

Ps -rf | grep "php-fpm" top | grep "php-fpm"
  

7. Which 和 whereis 区别
Which 是用来查找系统PATH目录下的可执行文件。说白了就是查找那些我们已经安装好 的可以直接执行的命令,which 是基于 path 目录查找的。
Whereis这个命令可以用来查找二进制(命令)、源文件、man文件。Whereis 是基于 索引数据库的,locate也是基于数据库的,find 是基于硬盘文件的

af10a383fa0bf68bceb3a52bbcc8f002.png

文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/123038936

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。