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
相关推荐
402 Payment Required5 分钟前
serv00 ssh登录保活脚本-邮件通知版
运维·chrome·ssh
小柏ぁ10 分钟前
calico/node is not ready: BIRD is not ready: BGP not established with xxx
运维·docker·kubernetes
Mintimate31 分钟前
云服务器 Linux 手动 DD 安装第三方 Linux 发行版:原理与实战
linux·运维·服务器
RussellFans42 分钟前
Linux 环境配置
linux·运维·服务器
拉不动的猪1 小时前
安卓和ios小程序开发中的兼容性问题举例
前端·javascript·面试
高冷的肌肉码喽1 小时前
Linux-进程间的通信
linux·运维·服务器
乖乖是干饭王2 小时前
Linux系统编程中的_GNU_SOURCE宏
linux·运维·c语言·学习·gnu
jekc8682 小时前
禅道18.2集成LDAP
linux·运维·服务器
weixin_434936282 小时前
k8S 命令
linux·容器·kubernetes
weixin_307779132 小时前
Linux下GCC和C++实现统计Clickhouse数据仓库指定表中各字段的空值、空字符串或零值比例
linux·运维·c++·数据仓库·clickhouse