基础阶段-第一次考试题
1.创建/root/user /root/logs /root/conf /root/html目录,请用一条命令实现。
mkdir /root/{user,logs,conf,html} -p
1.创建/root/user /root/logs /root/conf /root/html目录,请用一条命令实现。
mkdir /root/{user,logs,conf,html} -p
2.Linux关机重启及注销的命令有哪些 (每种至少两个)?
关机:shutdown -h 0
shutdown -h now
init0
poweroff
重启:shutdown -r o
shutdown -r now
init6
注销:exit
lodout(ctrl+d)
3.Linux中系统网卡的配置文件路径什么?
/etc/sysconfig/network-scripts/ifcfg-eth0
关机:shutdown -h 0
shutdown -h now
init0
poweroff
重启:shutdown -r o
shutdown -r now
init6
注销:exit
lodout(ctrl+d)
3.Linux中系统网卡的配置文件路径什么?
/etc/sysconfig/network-scripts/ifcfg-eth0
4.你知道哪些bash的快捷键呢?请把他写出来,并解释一下他的作用?(至少8个)
ctrl + a #光标跳转到正在输入命令行的首部
ctrl + e #光标跳转到正在输入命令行的尾部
ctrl + u #删除光标到行首所有字符
ctrl + k #删除光标到行尾所有字符
ctrl + y #粘贴
ctrl + d #注销
ctrl + s #锁屏
ctrl + q #解锁
ctrl + c #取消当前操作
ctrl + w #删除一组字符
Esc + . #获取上一组命令最后的单词
ctrl + 左方向键 #光标向左移动一组字符串
ctrl + 右方向键 #光标向右移动一组字符串
Del #从前往后删除一个字符
ctrl + a #光标跳转到正在输入命令行的首部
ctrl + e #光标跳转到正在输入命令行的尾部
ctrl + u #删除光标到行首所有字符
ctrl + k #删除光标到行尾所有字符
ctrl + y #粘贴
ctrl + d #注销
ctrl + s #锁屏
ctrl + q #解锁
ctrl + c #取消当前操作
ctrl + w #删除一组字符
Esc + . #获取上一组命令最后的单词
ctrl + 左方向键 #光标向左移动一组字符串
ctrl + 右方向键 #光标向右移动一组字符串
Del #从前往后删除一个字符
5.网络类型都有哪几种?这几种模式,每个的含义你是怎么理解的?
桥接模式:通过VMnet0网卡进行上网,不需要经过宿主机
NAT模式:通过VMnet8网卡进行上网,需要经过宿主机
仅主机模式:通过VMnet1网卡,只能和主机连接不能上网
桥接模式:通过VMnet0网卡进行上网,不需要经过宿主机
NAT模式:通过VMnet8网卡进行上网,需要经过宿主机
仅主机模式:通过VMnet1网卡,只能和主机连接不能上网
6.找出系统中文件名以oldboy开头的所有文件,要求只能查找到/目录的前三级目录。?
find / -maxdepth 3 -type f -name 'oldboy*'
7.Linux的发行版本都有哪些?(至少6个)
redhat
centos
Fedora
SUSE
Ubuntu
Dibian
Free BSD
redhat
centos
Fedora
SUSE
Ubuntu
Dibian
Free BSD
8.怎样清除你所执行过的命令记录?
history -c
history -c
9.说明下面这几个文件的作用: /etc/resolv.conf、/etc/hosts、/var/log/messages、/var/log/secure。
/etc/resolv.conf:系统DNS配置文件
/etc/hosts:IP地址与主机名映射关系文件
/var/log/messages:系统日志
/var/log/secure:系统用户登录日志
/etc/resolv.conf:系统DNS配置文件
/etc/hosts:IP地址与主机名映射关系文件
/var/log/messages:系统日志
/var/log/secure:系统用户登录日志
10.如何快速返回上一次所在的目录?
cd -
11.欲把当前目录下的file1.txt复制为file2.txt 命令是,如果已存在该名称的文件名,怎么执行不会提示是否覆盖?
cp file1.txt file2.txt
cp file1.txt file2.txt
12.假设超级用户root当前所在目录为:/usr/local,键入cd命令后,用户当前所在目录为?
/root
13.创建/data/test目录,已知/data目录不存在,请给出命令?
mkdir -p /data/test
mkdir -p /data/test
14.在/root/目录下创建文件test.txt test.log test.sh test.conf 请用一条命令创建。
touch /root/test.{txt,log,sh,conf}
touch /root/test.{txt,log,sh,conf}
15.将/etc/passwd文件中的第一列和第七列的位置进行调换,以:号为分隔符。
[root@web01 ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
sed -nr 's#(.*)(:.*:)(.*)#321#gp' /etc/passwd
awk -F: '{print $NR":"$2":"$3":"$4":"$5":"$6":"$1}' /etc/passwd
awk -F '{a=$1;$1=$NR;$NR=a;print}' /etc/passwd
16.如果我在当前在/目录下,之后执行了以下操作,请告诉我,最后我所在的目录位置?
cd /etc/sysconfig/
cd ..
cd ..
cd -
cd ~
cd ..
cd -
普通用户:/home
超级管理员:/root
cd /etc/sysconfig/
cd ..
cd ..
cd -
cd ~
cd ..
cd -
普通用户:/home
超级管理员:/root
17.查看oldboy.txt文件中的内容,并显示行号。(至少两种方法)
cat -n oldboy.txt
grep -n '.*' oldboy.txt
awk '{print NR;$0}' oldboy.txt
18.显示/etc/services文件的第11行到第20行的内容(至少两种方法)?
head -20 /etc/services | tail
sed -n '11,20p' /etc/services
awk 'NR==11,NR==20' /etc/services
awk 'NR>10 && NR<21' /etc/services
19.已知文件123.txt内容如下,请过滤出不包含oldboy字符串的命令
test
OLDBOY
online
oldboy
online
oldboyoldboy
grep -v 'oldboy' 123.txt
sed -n '/oldboy/dp' 123.txt
awk '!/oldboy/' 123.txt
20.接上题,要求过滤出文件123.txt中包含online字符串的行,并统计过滤出来的内容共有多少行。
grep -c 'online' 123.txt
sed -n '/online/p' 123.txt | wc -l
awk '/online/' 123.txt | wc -l
21.调试系统服务时,希望能实时查看系统日志/var/log/messages的更新,如何做?
tail -f /var/log/messages
tailf /var/log/messages
22.如何删除一个非空目录/opt?
rm -rf /opt
23.统计/etc/passwd文件一共有多少行?(两种方法)
wc -l /etc/passwd
grep -c '.*' /etc/passwd
24.已知软件包的链接地址为http://nginx.org/download/nginx-1.16.0.tar.gz,要求将其下载且下载之后的软件包名为nginx.tar.gz,如何执行命令。
wget -o nginx.tar.gz http://nginx.org/download/nginx-1.16.0.tar.gz
wget -o nginx.tar.gz http://nginx.org/download/nginx-1.16.0.tar.gz
25.查找ifconfig命令的绝对路径在哪里?(两种方法)
which ifconfig
whereis ifconfig
locat ifconfig
type -p ifconfig
which ifconfig
whereis ifconfig
locat ifconfig
type -p ifconfig
26.统计文件/etc/services的字节数?(两种方法)
ll /etc/services
wc -c /etc/services
27.执行下面的命令echo "Im qiuzengjia , is QQ 1176494252" >file.txt,要求取出该文件中的姓名和QQ号。(注意逗号前面有一个空格)(两种方法)。
sort -f2,6 file.txt
sed -nr 's#(.*m )(.*)( ,.*QQ )(.*)#24#gp' file.txt
awk '{print $2;$6}' file.txt
sort -f2,6 file.txt
sed -nr 's#(.*m )(.*)( ,.*QQ )(.*)#24#gp' file.txt
awk '{print $2;$6}' file.txt
28执行如下命令,要求去除重复的行,并统计出现的次数?
cat > file.txt <<EOF
abc
123
abc
123
def
EOF
sort file.txt | uniq -c | sort -n
29.过滤出/etc/passwd以nologin结尾的内容,并统计行数。
grep -c 'nologin$' /etc/passwd
sed -nr '/nologin$/p' /etc/passwd | wc -l
awk '/nologin$/' /etc/passwd |wc -l
30.使用cat和echo命令把oldboy oldgirl student三行内容(每个字符串是一行内容)写入到test.txt文件中
cat > test.txt <<EOF
oldboy
oldgirl
student
EOF
oldboy
oldgirl
student
EOF
echo -e 'oldboy
oldgirl
student' >> test.txt
31.以“:”为分隔符,取出/etc/passwd第一行的最后一列的内容?(两种方法)
sed -nr '1s#(.*:)(.*)#2#gp' /etc/passwd
awk -F: 'NR==1{print $NF}' /etc/passwd
head -1 /etc/passwd | cut -d ':' -f 7
32.已知执行ifconfig eth0 结果如下:要求取出IP地址
[root@qiudao ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.19.186.20 netmask 255.255.240.0 broadcast 172.19.191.255 #前面有8个空格
ether 00:16:3e:1a:18:44 txqueuelen 1000 (Ethernet)
[root@qiudao ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.19.186.20 netmask 255.255.240.0 broadcast 172.19.191.255 #前面有8个空格
ether 00:16:3e:1a:18:44 txqueuelen 1000 (Ethernet)
ifconfig eth0 | sed -nr '2s#(.*et )(.*)( ne.*)#2#gp'
ifconfig eth0 | awk 'NR==2{print $2}'
33.删除test.txt文件中的第10行到20行的内容。(两种方法)
sed -n '10,20dp' test.txt
awk 'NR<10 || NR>20' test.txt
ifconfig eth0 | awk 'NR==2{print $2}'
33.删除test.txt文件中的第10行到20行的内容。(两种方法)
sed -n '10,20dp' test.txt
awk 'NR<10 || NR>20' test.txt
34.取出test.txt文件中的第9行和第11行的内容(两种方法)
sed -n '9,11p' test.txt
awk '/NR==9;NR==11/' test.txt
35.统计nginx访问日志access.log中每个访问ip出现次数,显示最多的10个。(已知ip在第一列)
awk '{print $1}' access.log |sort | uniq -c|sort -nr|head
cut -d ' ' -f1 access.log |sort |uniq -c|sort -nr |head
awk '{print $1}' access.log |sort | uniq -c|sort -nr|head
cut -d ' ' -f1 access.log |sort |uniq -c|sort -nr |head
36.过滤出/etc/services 文件包含3306或1521两数字所在的行的内容。(两种方法)
sed -nr '/3306|1521/p' /etc/services
awk '/3306|1521/' /etc/services
sed -nr '/3306|1521/p' /etc/services
awk '/3306|1521/' /etc/services
37.排除/etc/ssh/sshd_config文件中的空行和注释行(以#开头的就是注释行)(两种方法)
sed -nr '/^[ ]*$|^#/p' /etc/ssh/sshd_config
sed -nr '/^s*$|^#/p' /etc/ssh/sshd_config
awk '/^[ ]*$|^#/' /etc/ssh/sshd_config
awk '/^s*$|^#/' etc/ssh/sshd_config
38.将/etc/passwd文件中第一行到第五行的root替换为admin?
sed -n '1,5s#root#admin#gp' /etc/passwd
39.在test.txt文件末尾插入test。(两种方法)
echo 'test' >> test.txt
sed '$atest' test.txt
40.写出redhat 中,配置网卡及dns 的配置文件是什么?并说明区别?
网卡配置:/etc/sysconfig/network-scripts/ifcfg-eth0
DNS配置:/etc/resolv.conf
区别: 在网卡配置中也可以配置DNS文件,网卡配置文件重启生效,DNS配置文件立即生效
41.已知sort.log文件内容如下,请根据文件内容的第二列进行倒序排序。?
cat >>sort.log<<'EOF'
218.65.30.25 68652
218.65.30.53 34326
218.87.109.154 21201
112.85.42.103 18065
112.85.42.99 17164
218.87.109.151 17163
218.87.109.150 17163
218.65.30.61 17163
218.65.30.126 17163
218.65.30.124 17163
EOF
sort -rnk2 sort.log
42.已知文件test.txt内容如下,请给出输出test.txt文件内容时,不包含oldboy字符串的命令。
test
qiudao
oldboy
test
qiudao
oldboy
grep -v 'oldboy' test.txt
sed '/oldboy/d' test.txt
awk '!/oldboy/' test.txt
sed '/oldboy/d' test.txt
awk '!/oldboy/' test.txt
43.找到/backup目录下所有后缀名为.txt的文件?
find /backup -type f -name '*.txt'
44.把/etc/passwd文件中的:替换成# (两种方法)
tr ':' '#' < /etc/passwd
sed 's#:###g' /etc/passwd
tr ':' '#' < /etc/passwd
sed 's#:###g' /etc/passwd
45.rm是个危险的命令,要求使用命令rm删除文件时提示“rm command no bny”,怎么实现?
alias rm = "echo 'rm command no bny'"
alias rm = "echo 'rm command no bny'"
46.取出下列文件的权限如:0644 ?(两种方法)
[root@qls ~]# stat 123.txt
File: ‘123.txt’
Size: 44 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 67160518 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-07-27 16:55:57.055131412 +0800
Modify: 2019-07-27 16:55:50.098131214 +0800
Change: 2019-07-27 16:55:50.101131214 +0800
stat 123.txt | sed -nr '4s#(.*ss: ())(.*)(/-.*)#2#g'
stat 123.txt | awk -F: '[(/]' 'NR==4{print $2}'
47.分别写出GNU和GPL是什么?d
GNU:GUN全称GNU is not Unix,是FSF项目下的组件,由于GNU的内核(hurd)仍在研发中
所以GNU用的是Linux的内核,以及其他相关软件(gcc bash)组成
GPL:通用公共许可协议。指任何人有权取得且有修改软件的自由,但必须给出具体更改的源代码
GNU:GUN全称GNU is not Unix,是FSF项目下的组件,由于GNU的内核(hurd)仍在研发中
所以GNU用的是Linux的内核,以及其他相关软件(gcc bash)组成
GPL:通用公共许可协议。指任何人有权取得且有修改软件的自由,但必须给出具体更改的源代码
48.把/etc/passwd文件中的oldboy替换成oldgirl。
sed -i 's#oldboy#oldgirl#g' /etc/passwd
49.显示/proc/meminfo文件中以s开头的行(忽略大小写)(两种方法)
grep -i /^s/ /proc/meminfo
awk '/^s|^S/' /proc/meminfo
grep -i /^s/ /proc/meminfo
awk '/^s|^S/' /proc/meminfo
50.翻译题
01).command not found #命令找不到
02).No such file or directory #没有这个文件或目录
03).File exists #文件已存在
04).Is a directory #它是个目录