Linux 初级面试题目-45题 总结

1、如何快速创建多个相同类型的文件;

如创建名字为admin.py,admin2.py到hadmin100.py的批量文件。

复制代码
touch admin{1..100}.py

2、如何快速生成一个大文件;

有时候需要在本机生成一个大文件,用于测试磁盘的读写能力,可以借助dd命令生成大文件。

复制代码
dd if=/dev/zero of=/root/test.txt bs=1M count=1024

上述命令,在/root/test目录下生成一个文件名为test.txt 大小为 1G 的文件。

3、快速清空一个文件的方法,如清空aabb.py文件;

复制代码
cat /dev/null > aabb.py

复制代码
echo -n "" > aabb2.py

复制代码
true > aabb3.py

复制代码
: >aabb4.py

复制代码
truncate -s 0 aabb5.py

以上5种快速清空文件方法,大家可以选择自己常用的一种,大家知道几种呢!

4、查找当前目录下名字为aabb.py的文件;

复制代码
find . -name aabb.py

5、查找当前目录下名字以.py结尾的文件;

复制代码
find . -name "*.py"

6、查找当前目录下名字以.py结尾的文件,并且指定为文件类型搜索;

复制代码
find . -type f -name "*.py"

7、查找当前目录下名字包含xiaomi的目录;

复制代码
find . -type d -name "xiaomi*"

8、查找当前目录下文件权限为755的对应文件;

复制代码
find . -type f -perm 755

9、查找当前目录下不具有755权限的所有文件;

复制代码
find . -type f ! -perm 755

10、查找当前目录下具有777权限的所有文件,并且将这些权限全部改为755;

复制代码
find . -type f -perm 777  -exec chmod 755 {} \;

11、查找当前目录下文件大小为100MB~1GB的所有文件;

复制代码
find . -type f -size +100M -size -1G

12、查找当前目录下以.py结尾的文件,并且删除;

复制代码
find . -name "*.py" -exec rm -rf {} \;

复制代码
find . -name "*.py" | xargs rm -rf {};

rm -rf $(find . -name "*.py")

以上3种快速删除指定类别文件方法,哪一种更香更好用呢?

13、查找当前目录下30天前修改过的所有文件;

复制代码
find . -mtime 30

14、 **查找当前目录下30天前访问过的所有文件;**​​​​​​​

复制代码
find . -atime 30

15、查找当前目录下过去1个小时内修改过的所有文件;

复制代码
find . -mmin -60

**16、查找当前目录下过去1个小时内访问过的所有文件;**​​​​​​​

复制代码
find . -amin -60

**17、查找当前目录下修改超过10天,但修改不到30天的所有文件;**​​​​​​​

复制代码
find . -mtime +10 -mtime -30

18、查找当前目录下7天前创建的,并且后缀名是以.py结尾的文件,并且进行删除;

复制代码
find . -mtime +7  -name "*.py" | xargs rm -rf {};

19、查找当前目录大于1000M的文件,并将该文件移动到/root/home目录下;

复制代码
find . -size +1000M -exec mv {} /root/home ;

20、查找当前目录下创建于30天前,大小大于1000M,以.py结尾的文件,并且进行删除;

复制代码
find  . -name "*.py" --mtime +30 --type f --size +1000M |xargs rm --rf {};

21、查看有几个逻辑cpu, 包括cpu型号;

复制代码
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

22、查看有几颗cpu,每颗分别是几核;

复制代码
cat /proc/cpuinfo | grep physical | uniq -c

23、后台运行命令,如后台运行ping www.weibo.com命令;

复制代码
 nohup ping www.weibo.com &

以上命令执行时后台运行,并且有nohup.out输出。

复制代码
nohup ping www.weibo.com > /dev/null &

以上命令执行时后台运行, 不输出任何日志。

复制代码
nohup ping www.weibo.com >out.log 2>&1 &

以上命令执行时后台运行, 并将错误信息做标准输出到日志中。

24、强制关闭进程名包含xxx的所有进程;

复制代码
ps aux|grep xxx | grep -v grep | awk '{print $2}' | xargs kill -9

25、/var目录按照目录大小排序展示最前面20个目录或者文件;

复制代码
du -xB M --max-depth=2 /var | sort -rn | head -n 20

26、按照大到小排列出当前文件或者目录最大的10个;

复制代码
du -s * | sort -n | tail

27、查找当前系统内存使用量较高的进程(前20个);

复制代码
ps -aux | sort -rnk 4 | head -20

可以看到输出的第 4 列就是内存的耗用百分比。最后一列就是相对应的进程。

28、 查找当前系统CPU使用量较高的进程(前20个);

复制代码
ps -aux | sort -rnk 3 | head -20

可以看到输出的第 3 列为 CPU 的耗用百分比,最后一列就是对应的进程。

29、后台持续 ping包, 并将结果记录到日志中;

复制代码
ping www.weibo.com | awk '{ print $0 " " strftime("%Y-%m-%d %H:%M:%S",systime()) }' >> /root/pingTest.log &

以上命令实现后台每一秒自动ping www.weibo.com,并将结果记录到/root/pingTest.log文件中;

30、查找 80 端口请求数最高的前 15 个 IP;

复制代码
netstat -anlp|grep 80|grep tcp|awk '{print $5}' |awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n 15

31、查看自己本机系统最常用的10条命令;

复制代码
cat /root/.bash_history |grep -v ^# |awk '{print $1}' |sort |uniq -c |sort -nr |head -10

32、查看2024年7月1日09时这个时间内有多少个IP访问你的tomcat服务器;

复制代码
awk '{print $4,$1}' access.log | grep 1/Jul/2024:09 | awk '{print $2}'| sort | uniq | wc -l

这里只要给出访问日志文件,就可以计算出来,自己可以根据需要计算某个时间点的访问的IP数。

33、查看自己tomcat服务器访问量排在前20 位的IP地址;

复制代码
cat access.log|awk '{print $1}'|sort|uniq -c|sort -nr|head -20

34、查看某一个IP地址访问了tomcat服务器的哪些页面资源;

复制代码
grep ^192.168.30.200 access.log| awk '{print $1,$7}'

35、查看自己tomcat服务器中某一个页面资源被访问的次数;

复制代码
grep "/portal/index.html" access.log | wc -l

36、通过抓包工具tcpdump查看8080端口访问量情况;

复制代码
tcpdump -i ens33 -tnn dst port 8080 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -10

37、如何通过sed命令将文件test.py中的aa全部替换成AA;

复制代码
sed -i "s/aa/AA/g" test.py

38、替换aa.py文件中的目录;

复制代码
sed -i "s:/etc/dhcp:/home:g" aa.py

即表示将aa.py文件中的/etc/dhcp目录替换成/home目录。

39、以下针对aa.py文件举例sed命令常见技巧;

1)去掉行首的#字符,命令为:

复制代码
sed -i "s/^#//g" aa.py

2)在行首添加linux字符,命令为:

复制代码
sed -i "s/^/linux/g" aa.py

3)在行尾添加一个study字符,命令为:

复制代码
sed -i "s/$/study/" aa.py

4)在特定行后,即we love行后添加一个you字符,命令为:

复制代码
sed -i "/we love/ayou" aa.py

5)在特定行前,即root行前添加一个where字符,命令为:

复制代码
sed -i "/root/iwhere" root.py

40、针对网口ens33抓取不限制大小的报文,保存为文件res.cap;

复制代码
tcpdump -i ens33 -s 0 -w res.cap

41、针对网口ens33进行抓包,过滤出 icmp 报文并且源 IP 地址是 192.168.20.231的相关报文;

复制代码
tcpdump icmp and src 192.168.20.231 -i ens33 -n

42、 针对网口ens33进行抓包,过滤出源 IP 地址是 192.168.20.231的相关报文;

复制代码
tcpdump src host 192.168.20.231 -i ens33 -n -c 5

43、 针对网口ens33进行抓包,过滤出目的 IP 地址是 192.168.20.231的相关报文;

复制代码
tcpdump dst host 192.168.20.231 -i ens33 -n -c 5

44、针对网口ens33进行抓包,过滤出端口号是 8080 的相关报文;

复制代码
tcpdump port 8080 -i ens33 -n -c 5

45、针对网口ens33进行抓包,过滤出 80端口到443端口 的相关报文;

复制代码
tcpdump portrange 80-433 -i ens33 -n -c 8
相关推荐
小政同学2 小时前
【NFS故障】共享的文件无法执行
linux·运维·服务器
AI木马人3 小时前
3.【Prompt工程实战】如何设计一个可复用的Prompt系统?(避免每次手写提示词)
linux·服务器·人工智能·深度学习·prompt
ch3nyuyu3 小时前
Ubuntu(乌班图)基础指令
linux·运维·网络
minglie13 小时前
gcc编译器汇总
linux
挽安学长3 小时前
保姆级教程,通过GACCode使用Claude Code Desktop!
运维·服务器
firstacui4 小时前
MGRE实验
运维·服务器·网络
白菜欣5 小时前
Linux —《开发三件套:gcc/g++、gdb、make/Makefile 全解析》
linux·运维
何中应5 小时前
Grafana如何给列表设置别名
运维·grafana·监控
senijusene5 小时前
基于 imx6ull平台按键驱动开发:input子系统+中断子系统+platform总线
linux·驱动开发
MXsoft6185 小时前
运维的尽头,是把“救火”变成“算命”
运维