第三十二章 Linux常规练习题(一)
一、练习题一
1.超级用户(管理员用户)提示符是____,普通用户提示符是____。
2.linux关机重启的命令有哪些 ?
3.bash是什么?
4.bash特性, 常见的bash特性有哪些?
5.网卡的配置文件路径什么?
6.[root@qiudao ~]# 已知这个是linux命令行,那么请问root表示什么?
7.接第上题,qiudao表示什么?
8.接上题,~的位置表示什么?而~本身又代表了什么?
[root@qiudao ~]# yum install -y net-tools 已知命令行内容,下面几道练习题根据此命令行内容作答。
9.已知当前光标所在位置在最后面,我如果要删除命令行的内容,该怎样操作呢?
10.已知当前光标所在位置在最前面,我如果要删除命令行的内容,该怎样操作呢?
11.已知当前光标所在位置在最后面,我想只删除net-tools,该怎样操作呢?
12.磁盘分区安装系统的时候,你是怎么分区的?
13.网络类型都有哪几种?这几种模式,各个意思你是怎么理解的?
14.快照有什么作用?
15.克隆分哪几种?各表示什么含义?
16.GNU是什么,介绍一下都有哪些内容?
17.GPL是什么,内容是什么?
18.Linux的发行版本都有哪些?
19.创建一个目录,shanghai。
20.创建一个文件,test.txt
21.进入到shanghai这个目录。
22.显示你当前所在的位置。
23.如何快速从当前目录切换到家目录?
24.用ls -a随便查看一个目录,发现每个目录下都会有两个名为“.”和“..”的目录,解释它们分别代表的含义
25.解释linux系统下“绝对路径”和“相对路径”的区别?
26.使用创建文件的命令一次性在oldboy目录下批量创建(oldboy1,oldboy2,oldboy3,oldboy4,oldboy5)这几个文件
27.如何检查当前登录的是什么用户?
28.如何快速返回上一次所在的目录?
29. 假设超级用户root当前所在目录为:/usr/local,键入cd命令后,用户当前所在目录为?
30. 在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是?
31. 在linux中,下面()命令不是针对目录操作的。
A. ps
B. cd
C.pwd
D. ls
32. 建立一个新文件可以使用的命令为?
33. 如果要列出一个目录下的所有文件需要使用命令为?
34.Linux系统习惯将许多设备驱动存储在什么目录中?
35.包含了域名与IP地址的映射关系的文件是?
36.用什么命令来显示当前目录?
37.在类linux操作系统中,哪个用户默认对整个操作系统拥有完全控制权?
38.linux系统管理员创建一个普通oldboy用户,默认会在哪个目录下创建一个用户的主目录
39.使用cd命令进入到/usr/local目录下,然后又执行了cd .. 请问,当前你所在的位置是哪里?
40.已知你在/etc/sysconfig/network-scripts/目录下,你执行了cd /etc/systemd/命令,怎样才能快速的到达/etc/sysconfig/network-scripts/目录下?
41.已知当前位置为/opt,请问,执行cd . ,写出你所在的位置?
42.创建/oldboy目录?
43.创建/data/test目录,已知/data目录不存在,请给出命令?
44.创建/root/user /root/logs /root/conf /root/html目录,请用一条命令实现
45.创建文件oldboy.txt
46.在/root/目录下创建文件test.txt test.log test.sh test.conf 请用一条命令创建。
47.显示/root目录下的目录结构。
48.只显示/目录的两层目录结构。
49.只显示/etc目录下的目录。
50.如果我在当前在/目录下,之后执行了以下操作,请告诉我,最后我所在的目录位置
cd /etc/sysconfig/
cd ..
cd ..
cd -
cd ~
cd ..
51.当前用户是root用户,当前所在位置是/usr/local ,输入cd命令后,当前所在目录是哪里?
52.显示当前所在位置信息
53.显示/oldboy 下面所有文件(包含隐藏文件)的详细信息
54.在/oldboy目录下创建以你名字的目录。(已知oldboy目录不存在,请用一条命令实现)
55.在你名字的目录下面创建两个文件,分别为test.txt,test.log
二、练习题二
1. 欲把当前目录下的file1.txt复制为file2.txt 命令是?
2.批量创建oldboy01,oldboy02,...oldoby05这几个目录
3.显示/oldboy 下面所有文件(包含隐藏文件)的详细信息
4.在/oldboy目录下创建以你名字的目录。(已知oldboy目录不存在,请用一条命令实现)
5.在你名字的目录下面创建两个文件,分别为test.txt,test.log
6.把test.txt文件移动到/tmp目录下面
7.把test.log文件重命名为test.sh
8.删除test.sh这个文件
9.删除oldboy这个目录
10.切换到/tmp目录下,查看当前的工作位置,同时创建data1、data2、data3、共三个目录。
11.接上一题,分别在data1、data2、data3三个目录下创建3个文件,名字为oldboy1、oldboy2、oldboy3.然后查看/tmp目录的整个目录结构情况,最后检查下data1和oldboy1两个对象的属性。
12.把/etc/hosts文件复制到/tmp/data1目录下,然后把data1目录复制到/opt/目录下。
13.将/tmp/data1目录移动到/root目录下,然后删除/opt/data1目录下的hosts文件,最后删除/opt目录下的data1目录。
14.查看oldboy.txt文件中的内容,并显示行号(请使用cat命令)。
15.使用cat命令把oldboy oldgirl student三行内容(每个字符串是一行内容)写入到test.txt文件中
16.查看系统中/etc/services文件中的内容(使用more和less命令,进行上下页查看,并搜索关键字‘ssh’,之后退出。)
17.使用cat命令查看文本文件的内容时要对所有的输出行进行显示行号,怎么实现?
18.使用mv命令,下列说法错误的是?
A.mv命令可以重命名文件
B.mv命令可以移动文件
C.mv命令可以复制文件
D.mv命令可以删除文件
19.删除文件的命令为?
20.显示"I'm a student"到屏幕上面
21.将"I'm a student"追加到hello.txt文件中
22.将/etc/passwd文件复制到/opt目录中
23.将/tmp目录复制到当前用户的家目录下
24.将/opt目录下的hosts文件移动到/root目录下,并将其改名为ip.txt
25.把/var/log/目录下的所有文件拷贝到/opt目录下
26.使用echo命令创建一个非空文件
27.使用echo命令把oldboy oldgirl student三行内容(每个字符串是一行内容)写入到test.txt文件中
28.将/etc/hosts和/etc/passwd两个文件合并为一个新文件,文件名称为test.log
29.将/etc/services文件拷贝到/root目录下
30.分页查看/root/services文件,要求从第10行开始显示
三、练习题三
1.打开这个网站http://nginx.org/download/,下载一个结尾为tar.gz的软件包
2.同样打开上面的网站,下载一个结尾为tar.gz的软件包,要求下载之后的软件包名为nginx.tar.gz
3.打开此网站https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/ 下载一个结尾为rpm的软件包
4.同样打开上面这个网站,下载一个结尾为rpm的软件包,要求下载之后的软件包名为zabbix.rpm
5.在linux中访问qls的博客网站,访问主页就可以
6.在linux中访问qls的博客网站,要求把主页的内容保存到qls.html文件中。
7.在linux中访问百度的首页
8.在linux中访问百度的首页,要求把主页的内容保存到baidu.html文件中
9.把/etc/hosts文件下载到本地电脑桌面
10.把/etc/services文件下载到本地电脑D盘中
11.把你的课堂笔记上传到linux系统中
12.把你的习题笔记上传到linux系统中的/opt目录下面
13.如果我要把本地电脑中的目录上传到linux系统,请问怎么上传?
14.查找ifconfig命令的绝对路径在哪里?你能使用几种方法实现?
15.查找netstat命令的绝对路径在哪里?你能使用几种方法实现?
16.统计文件/etc/hosts的行数?你能使用几种方法实现?
17.改变bash的提示符实际上就是改变变量?
18.显示/etc/passwd文件的前5行内容。
19.显示/etc/passwd文件的最后5行内容。
20.显示/etc/services文件的第11行到第20行的内容
21.查看系统中的cd命令是不是内嵌命令
22.找出系统中文件名为oldboy.txt的所有文件。
23.找出系统中名为oldboy的所有目录。
24.找出系统中文件名以oldboy开头的所有文件。
25.rm是个危险的命令,要求用命令rm删除文件时提示“rm command no bny”,怎么实现?
26.设置rm命令存在别名之后,要删除/oldboy这个目录,怎么实现?
27.实时查看系统日志/var/log/message的更新
28.查找出系统中为s类型的文件
29.查找出系统中为p类型的文件
30.只显示出/etc/passwd文件的第五行
四、练习题四
1.已知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
2.统计系统文件/etc/services有多少行。
3.已知文件内容如下,请对该文件的字符串出现的次数进行统计,并从小到大的进行排序出来。
cat>>uniq.txt<<'EOF'
oldboy
oldgirl
oldboy
egon
student
oldgirl
oldboy
EOF
4.取出系统中的文件/etc/passwd的第七列(以:为分隔符)。
5.已知文件test.txt内容如下,请给出输出test.txt文件内容时,不包含oldboy字符串的命令。
test
qiudao
oldboy
6.只查看/etc/passwd文件内第5到第15行的内容
7.test.txt 的内容如下,要求过滤出不包含oldgirl的行。
oldboy
oldgirl
qiudao
8.请执行命令取出linux中eth0的IP地址分别是ip和ifconfig的命令(请用cut,有能力者也可分别用awk,sed命令答)。
9.删除/etc/passwd文件的前三行内容。
10.统计文件/etc/hosts的行数?你能使用几种方法实现?
11.统计文件/etc/services的字节数。你能使用几种方法实现?
12.执行下面的命令echo "Im qls , is QQ 1176494252" >file.txt,要求取出该文件中的姓名和QQ号。
13.执行如下命令
cat > file.txt <<EOF
abc
123
abc
123
def
EOF
要求去除重复的列
14.接上题,取出每列出现的次数
15.统计/var/log下的文件个数,不统计下级目录。
16.统计/var/log下的所有文件和目录个数,不包含隐藏文件。
17.以“:”为分隔符,取出/etc/passwd第一行的最后一列的内容
18.过滤出/etc/passwd以nologin结尾的内容,并统计行数
19.分析如下日志内容,每个域名被访问次数
cat>catweb.log <<EOF
http://www.oldboy.com/index.html
http://www.oldboy.com/1.html
http://post.oldboy.com/index.html
http://mp3.oldboy.com/index.html
http://www.oldboy.com/3.html
http://post.oldboy.com/2.html
EOF
20.显示/etc/services文件的第11行到第20行的内容
21.已知文件123.txt内容如下,请过滤出包含oldboy字符串的命令
test
OLDBOY
online
oldboy
oldboyoldboy
22.过滤出文件123.txt中不包含test的行,并给其过滤出来的内容加上行号
23.要求过滤出文件123.txt中包含oldboy的字符串,忽略大小写。
24.要求过滤出文件123.txt中包含online字符串的行,并统计共有多少行。
25.要求过滤出文件123.txt中包含oldboy的单词。
写一个文件,文件内容如下,下面几题请用该文件作答?
cat >>test.txt<<EOF
server {
lisTEN 80;
server_nAme www.oldboy.com;
root /code/dOcs
index INDEX.html;
}
EOF
26.过滤www.oldboy.com这段关键字
27.同时过滤出root和index的行,不区分大小写
28.过滤index,区分大小写
29.过滤出带"O"的行,不区分大小写
30.过滤出不带";"的行
31.过滤出以s开头的行
32.统计该文件的行数
33.如果某一天你误操作了"rm -rf *",会发生哪些情况
34.已知123.txt文件内容如下:
linlaoshi
qiulaoshi
oldboy
要求过滤出oldboy这一行的内容?你有几种方法?
35.接上题,要求不显示oldboy这行内容,怎么实现?你有几种方法?
五、练习题五
1.取出系统中的文件/etc/passwd的第七列(以:为分隔符)。
2.已知文件test.txt内容如下,请给出输出test.txt文件内容时,不包含oldboy字符串的命令。
test
qiudao
oldboy
3.只查看/etc/passwd文件内第5到第15行的内容
4.把test.txt文件中的oldboy替换为oldgirl,给出命令
5.test.txt 的内容如下,要求过滤出不包含qiudao的行。有几种方法可以实现
oldboy
oldgirl
qiudao
6.把文件/etc/passwd文件中的/sbin/nologin替换为/bin/bash
7.把/etc/selinux/config文件中的SELINUX=enforcing行中的enforcing替换成disabled
8.现将文件b.txt 中的所有123 替换成def,请问如何实现?
9.将文件的test.txt中的第10行的oldboy改为oldgirl
10.请执行命令取出linux中eth0的IP地址(请用cut,有能力者也可分别用awk,sed命令答)。
11.使用命令调换/etc/passwd文件里 root 位置和/bin/bash 位置? 即将所有的第一列和最后一列位置调换?
12.先拷贝,再删除/etc/passwd文件的前三行内容。
13.使用sed命令打印出/etc/passwd文件的第一行到第三行
14.过滤出/etc/services 文件包含3306或1521两数字所在的行的内容。(三种方法)
15.在linux 系统中,当LAN(局域网)内没有条件记案例DNS 服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配置( )文件(请写全路径)
16.写出redhat中,配置网卡及dns的配置文件是什么?有什么区别?
17.若要将鼠标从VM中释放出来,可按()键完成。
18.如何统计/etc下有多少个目录,不包括隐藏目录,只显示目录个数。
19.统计secure.log文件中每个ip地址破解你用户密码的次数(包含Failed password字符串的行属于破解密码的,日志群里有,文件很大,建议不要使用cat打开)。
20.输入last,统计当前连接本机的每个远程终端IP的连接总次数
21.输入lscpu,取出当前系统的cpu核心数
22.输入df -h,取出当前系统根分区剩余可用磁盘空间
23.显示/proc/meminfo文件中以s开头的行(忽略大小写)
24.执行命令echo "I am qls,myqq is 1176494252">/oldboy/oldboy.txt,
现在需要从文件中过滤出“qls”和“1176494252”字符串,请给出命令?(最少三种方法)
25.接上题,如果需要从文件中过滤出“qls,1176494252”字符串,请再给出命令?
26.我想在/data/oldboyedu目录下面创建 一个oldboy.txt文件,出现了如下报错。
[root@qiudao ~]# touch /data/oldboyedu/oldboy.txt
touch: cannot touch ‘/data/oldboyedu/oldboy.txt’: No such file or directory
问:为何出现这样的错误?该怎么解决?
27.翻译题
01).command not found
02).No such file or directory
03).File exists
04).Is a directory
05).Not a directory
28.在/backup下创建10个.txt的文件,找到/backup目录下所有后缀名为.txt的文件
29.显示/etc/services文件的第10行到第20行的内容?
30.显示文件/etc/services的大小?
31.以“:”为分隔符,取出/etc/passwd第一行的第七列也就是最后一列的内容?(两种方法)
32.找出/var/log目录中以.log结尾的文件,并显示这些文件的属性信息。
33.寻找名称为mytest.log的文件
34.用命令行更改config.txt文件,把里面的“name”更改为“address”
35.把/etc/passwd文件中的:替换成#
36.说明下面这几个文件的作用:/etc/hostname、/etc/resolv.conf、/etc/hosts
37.尝试使用sed命令的后向引用和awk命令取出ip地址,请分别使用ip和ifconfig命令取出。
38.在123.txt文件末尾插入‘test’。(两种方法)
39.将/etc/passwd文件中第一行到第五行的root替换为admin?
40.统计nginx访问日志access.log中每个访问ip出现次数最多的10个。(已知ip在第一列,日志群里有)
41.取出下列文件的权限如:0644 ?(两种方法)
[root@qls ~]# stat qls.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
42.删除qls.txt文件中的第10行到20行。(两种方法)
六、练习题六
#准备文件
[root@qls ~]# cat file.txt
server {
listen 80;
server_name test.oldboy.com;
index index.html;
}
1.跳转到某行时使用
2.复制server{ 到 }结尾的这一行, 粘贴到 } 结尾的下一行
3.删除listen相关的所有行
4.将server_name 替换为SERVER_NAME
5.删除oldboy.com,boy删除
6.撤销一次
7.在编辑模式下修改 test.oldboy.com为test.ett.com
8.在index 最后面,添加index.php
9.在index行下面插入一行内容为:root html;。
10.退出编辑模式。
11.将/etc/passwd 复制到/root/目录下,并重命名为test.txt
12.分别向下、向右、向左、向右移动5个字符,分别向下、向上翻两页
13.把光标移动到第10行,让光标移动到行末,再移动到行首,移动到test.txt文件的最后一行,移动到文件的首行
14.搜索文件中出现的 root 并数一下一共出现多少个
15.把从第一行到第三行出现的root 替换成admin,然后还原上一步操作
16.把整个文件中所有的root替换成admin
17.把光标移动到20行,删除本行,还原上一步操作
18.删除从5行到10行的所有内容,还原上一步操作
19.复制2行并粘贴到11行下面,还原上一步操作(按两次u)
20.复制从11行到15行的内容并粘贴到8行上面,还原上一步操作(按两次u)
21.把13行到18行的内容移动文件的尾部,还原上一步操作(按两次u)
22.将文件中所有的/sbin/nologin为/bin/bash
23.在第一行下面插入新的一行,并输入"# Hello!"
24.保存文档并退出
#根据文件回答下列习题
[root@qls ~]# cat proxy.conf
server {
Listen 8080;
Server_Name vim.OldboyEDU.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $http_host;
proxy_set_header X-Forward-for;
proxy_intercept_errors on;
proxy_next_upstream error timeout;
proxy_next_upstream_timeout 3s;
proxy_next_upstream_tries 2;
error_page 500 502 403 404 = /proxy_error.html;
}
location = /proxy_error.html {
root /code/proxy;
}
}
25.使用vim打开proxy.conf文件
26.修改Listen为listen小写,并将8080修改为80
27.修改Server_Name为server_name小写。
28.修改vim.OldboyEDU.com为vim.oldboy.com
29.在server_name行下插入一行 root /code;
30.复制5-14行的内容,然后将其粘贴到14行下面
31.删除与proxy_set_header相关的两行全部删除
32.如上操作完成后,在13-20行前面加上#号
33.删除21-23的行,然后保存当前文件
七、练习题七
1.什么是用户?
2.Linux与windows系统的用户有什么区别?
3.使用什么命令可以查看用户是否存在?
4.跟用户相关的配置文件都有哪些?分别存放的是什么?
5./etc/passwd文件以':' 为分割符, 分为7个字段,请说明一下每个字段的具体含义?
6./etc/shadow文件以':' 为分割符, 分为9个字段,请说明一下每个字段的具体含义?
7.什么是用户的UID?
8.不同的用户对应UID号范围是多少?
9.新建用户user1、user2,用户user2不允许登陆到系统中。
10.创建普通用户oldboy,其ID号为789.
11.创建虚拟用户test,其ID号为666
12.修改oldboy用户的ID号,修改为777.
13.修改用户test的命令解释器,使其可以登录到系统。
14.删除用户user1.不删除其家目录。
15.删除用户user2,不保留其家目录。
16.给oldboy用户创建一个密码为123,并尝试登录。
批量创建10个用户,前缀是你的姓,后缀为数字序列,比如qiu1等。
17.默认情况下管理员创建了一个用户,就会在()目录下创建一个用户主目录
18.如何检查系统中存在oldboy用户,并且显示用户id信息
19.创建gid为1666,名字为www的用户组
20.创建uid为1666,gid为1666,名字为www的用户
21.创建uid为1888,注释信息为"虚拟用户",不创建家目录,不能登录系统,名字为oldboyedu的用户
22.批量创建10个用户,用户名为oldboy1 oldboy2 oldboy3 .... oldboy10.
23.迁移oldboy8用户的家目录到/tmp/oldboy8
24.oldboy8用户的用户名修改成oldboy888
25.锁定oldboy888用户,解锁oldboy888用户
26.创建普通用户test01、test02、test03,要求UID为2888,2999,2998
27.给test01用户使用交互式设置密码为123456
28.使用test01用户进行登录。
29.使用非交互式给test01设置密码为oldboy123
30.使用修改之后的密码进行登录。
31.有哪些命令可以查看当前用户的登录情况?
32.删除用户test02,要求连家目录一起删除。
33.请问,我删除了test02用户,哪个文件会发生变化?
34.创建一个虚拟用户oldboy01,要求UID为555,不创建家目录。
35.创建用户时,不指定选项设置参数了,系统创建之后的默认参数是根据什么文件来定义的?
36.切换普通用户时,出现这样的命令行"-bash-4.1$",这是什么原因造成的,该怎么解决?
37.登录到test01用户,给其用户test03设置密码,发现报错,请问是什么原因?该怎么解决?
38.登录到test01用户,给其本用户设置密码为123,报错,请问是什么原因?该怎么解决?
39.使用root用户给test01用户设置一个18位的随机密码,并进行登录。
40.创建10个用户,前缀是你的姓,后缀为数字序列,比如qiu1等,并设置随机密码,一条命令实现(能否使用多种方法实现)。
41.创建10个用户,前缀是你的名,后缀为数字序列,比如qls1等,并给其10个用户设置统一密码为123456,最后尝试是否可以登录。
42.创建用户qiudao,并给其用户设置一个24位的随机密码,要求密码包含数字,大小写字母及特殊符号,最后查看是否可以登录。
43.跟组相关的两个配置文件是?
44.创建一个用户基本组,shanghai01.
45.创建一个用户基本组,shanghai02,指定GID为1099.
46.创建一个用户系统组,shanghai03.
47.修改用户基本组shanghai02的GID号为1033.