Linux面试题--1

本文主要介绍了Linux面试中涉及的多项技能和知识点,包括文件操作、网络配置、系统信息获取、日志分析等。通过具体的例子展示了如何使用awk、grep等工具进行数据处理,如文件内容排序、过滤、统计等。此外,还涵盖了Linux命令的执行流程、软硬链接的区别、文件系统的目录结构等核心概念。同时,文章提供了多种解答Linux面试题目的方法,适合备考Linux相关职位的读者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.编辑一个1.txt文件,内容如下

cat >>1.txt <<EOF
10.0.3.1 00:0F:AF:81:19:1F
10.0.3.2 00:0F:AF:85:6C:25
10.0.3.3 00:0F:AF:85:70:42
10.0.2.20 00:0F:AF:85:55:DE
10.0.2.21 00:0F:AF:85:6C:09
10.0.2.22 00:0F:AF:85:5C:41
10.0.0.151 00:0F:AF:85:6C:F6
10.0.0.152 00:0F:AF:83:1F:65
10.0.0.153 00:0F:AF:85:70:03
10.0.1.10 00:30:15:A2:3B:B6
10.0.1.11 00:30:15:A3:23:B7
10.0.1.12 00:30:15:A2:3A:A1
10.0.1.1 00:0F:AF:81:19:1F
10.0.2.2 00:0F:AF:85:6C:25
10.0.3.3 00:0F:AF:85:70:42
10.0.2.20 00:0F:AF:85:55:DE
10.0.1.21 00:0F:AF:85:6C:09
10.0.2.22 00:0F:AF:85:5C:41
10.0.0.151 00:0F:AF:85:6C:F6
10.0.1.152 00:0F:AF:83:1F:65
10.0.0.153 00:0F:AF:85:70:03
10.0.3.10 00:30:15:A2:3B:B6
10.0.1.11 00:30:15:A3:23:B7
10.0.3.12 00:30:15:A2:3A:A1
EOF

(1)对该文件输出内容进行排序(提示:通过第三列的第一个字符,以及第4列的所有字符进行排序)
  sort -t "." -k3.1,3.1 -n  -k4.1,4.3 -n 1.txt 
(2)过滤该文件所有的字母,不区分大小写
  grep -i '[a-z]' 1.txt
(3)过滤出以数字3结尾的行
  grep -n '3$' 1.txt
2.将"web3_access.log"上传至你的linux服务器
(1)统计出该文件IP地址出现的次数,并按正序对其进行排序
awk '{print $1}' access.log |sort -n |uniq -c |sort -n
(2)统计该文件内HTTP状态返回码出现的次数(例如200,404,403,在第九列),并按照倒序进行排序
awk '{print $9}' access.log |sort -n |uniq -c |sort -nr
(3)过滤出所有状态返回码是200的行,并将这些返回码为200行的全部替换成300
 [root@yinwucheng ~]# grep '200' access.log |sed 's#200#300#gp'
3.匹配/etc/passwd里包含root关键字的行(要求至少两种方法,分别使用awk和grep)
 grep -n 'root' /etc/passwd
 awk '/root/' /etc/passwd
4.以“:”为分隔符,取出/etc/passwd第一行的最后一列的内容
 awk -F ":" 'NR==1{print $NF}' /etc/passwd
5.取出以“:”为分隔符,第三列(用户UID)以0结尾的
 [root@yinwucheng ~]# awk -F ":" {'print $3'} /etc/passwd |grep '0$'
0
1000
6.使用hostnamectl查看当前系统信息,取出kernel内核版本信息
方法1:
[root@yinwucheng ~]# hostnamectl |awk 'NR==9{print $3}'
3.10.0-957.21.3.el7.x86_64
方法2:
[root@yinwucheng ~]# hostnamectl |sed -n 9p |awk '{print $3}'
3.10.0-957.21.3.el7.x86_64
方法3:
[root@yinwucheng ~]# hostnamectl |grep 'Kernel' |awk -F "[: ]+" '{print $4}'
3.10.0-957.21.3.el7.x86_64:
方法4:
[root@yinwucheng ~]# hostnamectl |sed -nr '9s#^.*Kernel: Linux (.*)$#\1#gp'
3.10.0-957.21.3.el7.x86_64
7.使用hostnamectl查看当前系统信息,取出系统名称
[root@yinwucheng ~]# hostnamectl |grep 'CPE' |awk '{print $4}'
8.使用hostnamectl查看当前系统信息,取出系统版本信息,要求只显示"linux 7"
方法1:
 [root@yinwucheng ~]# hostnamectl |awk 'NR==7{print $4,$5}'
Linux 7
方法2:
hostnamectl |grep 'Operating' |awk '{print $4,$5}'
9.取出当前linux操作系统的DNS /etc/sysconfig/network-scripts/ifcfg-*。
awk -F "=" 'NR==19 {print $2}' /etc/sysconfig/network-scripts/ifcfg-eth0
10.复制/etc/passwd到当前root用户家目录
(1)只查看头3行,并将“:”替换为“#”
  head -n 3 passwd | sed -n 's@:@\#@gp'
(2)查看该文件全部内容,将匹配到的每一行的第一个"bin"替换成"test".
  [root@yinwucheng ~]# cat /etc/passwd |xargs -n1|sed -n 's#bin#test#p' |grep  -n 'test'
(3)查看该文件全部内容,将匹配到的所有"bin"全部替换成"test"
 cat passwd |sed -n 's#bin#test#gp'
11.使用ifconfig查看网卡信息,筛选出包含127.0.0.1的行(不少于三种方法)
[root@yinwucheng ~]# ifconfig |grep '127'
    inet 127.0.0.1  netmask 255.0.0.0
root@yinwucheng ~]# ifconfig |awk 'NR==11'
    inet 127.0.0.1  netmask 255.0.0.0
root@yinwucheng ~]# ifconfig |sed -n '11p'
    inet 127.0.0.1  netmask 255.0.0.0
12.使用awk取出/etc/passwd第一列数据也就是取出用户名
  [root@yinwucheng ~]# awk -F ":" '{print $1}' /etc/passwd
13.写一个文件,文件内容如下

cat >>test.txt<<EOF
server {
lisTEN 80;
server_nAme docs.xuliangwei.com;
root /code/dOcs
index INDEX.html;
}
EOF

(1)过滤docs.xuliangwei.com这段关键字
awk  'NR==3{print $2}' test.txt |sed 's#;##g'
(2)同时过滤出root和index的行,不区分大小写
[root@yinwucheng ~]# egrep -i 'root|index' test.txt 
root /code/dOcs
index INDEX.html;
(3)过滤index,区分大小写
[root@yinwucheng ~]# grep 'index' test.txt 
index INDEX.html;
(4)过滤出带"O"的行,不区分大小写
 [root@yinwucheng ~]# grep -i 'O' test.txt 
 server_nAme docs.xuliangwei.com;
 root /code/dOcs
(5)过滤出不带";"的行
 [root@yinwucheng ~]# grep -v ';' test.txt 
 server {
 root /code/dOcs
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值