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

网友投稿 633 2022-05-28

点击上方蓝字关注我们

系统

# uname -a   # 查看内核/操作系统/CPU信息

# head -n 1 /etc/issue # 查看操作系统版本

# cat /proc/cpuinfo # 查看CPU信息

# hostname # 查看计算机名

# free -m  # 查看内存使用量和交换区使用量

资源

# df -h    # 查看各分区使用情况

# du -sh <目录名> # 查看指定目录的大小

# grep MemTotal /proc/meminfo # 查看内存总量

# grep MemFree /proc/meminfo # 查看空闲内存量

# uptime # 查看系统运行时间、用户数、负载

# cat /proc/loadavg # 查看系统负载

网络

# ifconfig # 查看所有网络接口的属性

# iptables -L  # 查看防火墙设置

# route -n  # 查看路由表

# netstat -lntp  # 查看所有监听端口

# netstat -antp  # 查看所有已经建立的连接

# netstat -s   # 查看网络统计信息

用户

# w  # 查看活动用户

# id <用户名>  # 查看指定用户信息

# last  # 查看用户登录日志

# cut -d: -f1 /etc/passwd  # 查看系统所有用户

# cut -d: -f1 /etc/group   # 查看系统所有组

# crontab -l    # 查看当前用户的计划任务

进程

# ps -ef # 查看所有进程

# ps -ef # 查看所有进程

# top # 实时显示进程状态

来源:公众号【码农编程进阶笔记】

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

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

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

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

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

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

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

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

3.Find grep 命令区别

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

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

简单是:grep是查找匹配条件的行,find是搜索匹配条件的文件

4.Awk 内置变量

变量

用法

$0

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

~$n

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

FS

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

NF

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

NR

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

FNR

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

RS

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

OFS

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

ORS

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

FILENAME

当前输入文件的名字

5.AWK常用命令:

# 打印每一行的第二和第三个字段

awk '{print , }' file

# 统计文件的行数

awk ' END {print NR}' file

# 对 awk 处理的行做过滤

awk 'NR < 5'  #行号小于5

awk 'NR==1,NR==4 {print}' file  #行号等于1和4的打印出来

awk '/linux/'  #包含linux文本的行(可以用正则表达式来指定,超级强大) awk '!/linux/'  #不包含linux文本的行

# 使用 -F 来设置定界符(默认为空格)

awk -F: '{print $NF}' /etc/passwd

# awk 实现head 命令

awk 'NR<=10{print}' filename

# 实现tail命令

awk '{buffer[NR%10] = 

awk '{buffer[NR%10] = $0;} END{for(i=0;i<11;i++){print buffer[i %10]} } ' filename

;} END{for(i=0;i<11;i++){print buffer[i %10]} } ' filename

# 查询访问最频繁的100个请求,主要是各种参数都包含了

grep -v ".php" access.log | awk '{print }' | sort |uniq -c |sort -rn | head -n 100

# 查询访问 100 次以上的 ip

awk '{print }' access.log | sort -n |uniq -c |awk '{if( >100) print 

awk '{print $1}' access.log | sort -n |uniq -c |awk '{if($1 >100) print $0}'|sort -rn

}'|sort -rn

# 查询指定 ip 访问最多的 100 个页面

grep '112.97.250.255' access.log |awk '{print }'|sort |uniq -c |sort -rn |head -n 100

# 查询最近 1000 条请求访问最多的地址

tail -1000 access.log |awk '{print }'|sort|uniq -c|sort - nr|less

# 按每秒统计请求数,显示top 100 的时间点 cut是截取 14-21 位,分钟为 14-18 小时为 14-15

awk '{print }' access.log |cut -c 14-21|sort|uniq -c|sort - nr|head -n 100

来源:公众号【码农编程进阶笔记】

6.查看php进程和cpu占用

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

7. Which 和 whereis 区别

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

Which 是用来查找系统PATH目录下的可执行文件。说白了就是查找那些我们已经安装好 的可以直接执行的命令,which 是基于 path 目录查找的。

Whereis这个命令可以用来查找二进制(命令)、源文件、man文件。Whereis 是基于 索引数据库的,locate也是基于数据库的,find 是基于硬盘文件的

grep Linux

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:LaTeX 之软件TeX Live2020 安装与配置教程
下一篇:「数据游戏」:使用 ARIMA 算法预测三日后招商银行收盘价
相关文章