linux基础巩固之试题01

2021年5月5日 67点热度 0人点赞 0条评论

文章描述

五一假期时间,做了点练习题,巩固一下Linux的基础知识点

第一套练习题

第一章   选择题(每题2分)

1.1设超级用户root当前所在目录为:/usr/local,键入cd命令后,用户当前所在目录为(B)

A:/home           B:/root           C:/home/root           D:/usr/local

1.2 Linux有三种查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用命令(C)

A:cat           B:more           C:less           D:me

1.3 在Linux系统中,用来存放系统所需要的配置文件和子目录是(A)

A:/etc           B:/var           C:/root           D:/home

1.4 Linux文件系统的文件都安其作用分门别类地放在相关目录中,对于外部设备文件,一般应将其放在(C)目录中

A:/bin           B:/etc           C:/dev           D:/lib

1.5 除非特别指定,cp假定要拷贝的文件在下面那个目录下(D)

A:用户目录           B:home目录           C:root目录           D:当前目录

1.6 在vi编辑器中的命令模式下,键入(B)可在光标当前所在行下添加一新行。

A:a           B:o           C:I           D:A

1.7 (D)命令可以从文本文件的每一行中截取指定内容的数据。

A:cp            B:dd            C:fmt          D:cut

1.8 按下(A)键能终止当前运行的命令

A:ctrl -c           B:ctrl -f           C:ctrl -b           D:ctrl -d

1.9 在给定文件中查找与条件相符字符串的命令及查找某个目录下相应文件的命令为:(A\C)

A:grep           B:gzip           C:find

1.10 下列关于链接描述,错误的是(B)

A:硬链接就是让链接文件的i节点号指向被链接文件的i节点

B:硬链接和符号连接都是产生一个新的i节点

C:链接分为硬链接和符号链接

D:硬链接不能链接目录文件

第二章   原理题

2.1 bash常用快捷键(2分)

ctrl+a ctrl+d ctrl+c ctrl+e ctrl+z ctrl+l ctrl+k ctrl+u ctrl+r

2.2 常见的bash特性有哪些?(2分)

1)补全功能

2)快捷键

3)历史记录

4)别名

5)帮助手册

 

2.3 什么是GNU,什么是GPL(3分)

GNU是一个自由的操作系统,GPL是通用版权许可证协议,它是GNU组织下的一个项目

 

2.4 以下目录的作用(7.5分)

Bin             存放普通用户使用的命令

boot           存放系统启动相关的文件夹

dev             存放设备的文件夹

etc              存放配置文件的文件夹

Tmp           存放临时文件的文件夹

home         存放普通用户的家目录

mnt            临时挂载文件夹

opt             第三方应用程序的安装目录

proc           用于输出内核与进程信息相关的虚拟文件系统

usr             存放系统默认安装软件的目录

root             root用户的家目录

run             存放系统运行时需要的程序运行文件的目录

sbin            存放管理员使用的程序

lib               存放系统依赖的共享库文件的目录

var              存放可变的文件的目录

 

2.5 简述命令执行的流程(2分)

先读取到内存中,然后在内存中读取执行

 

2.6 什么是绝对路径,什么是相对路径(2分)

开头是/的为绝对路径,相对于当前目录来说的路径为相对路径

 

2.7 简述软连接与硬连接的区别(2分)

1)创建软链接的命令是ln -s ,创建硬连接的命令是ln

2)目录不能创建硬连接,并且硬连接不可以跨越分区系统

3)软链接支持对目录创建,同时也支持跨越分区创建

4)硬连接文件与源文件的inode相同,软链接文件与源文件inode不同

5)删除软链接文件,对源文件及硬连接文件无任何影响

6)删除文件的硬连接文件,对源文件及链接文件无任何影响

7)删除链接文件的源文件,对硬连接无影响,会导致软链接失效

8)删除源文件及其硬连接文件,整个文件会被真正的删除

 

2.8 vim的几种模式,每种模式都是做什么的(2分)

普通模式、输入模式、末行模式

普通模式:查看、删除、查找文本内容

输入模式:直接修改文本内容

末行模式:保存和退出,执行命令

 

2.9 写出15个学过的命令(15分)

ls

cat

more

cut

vim

less

head

tail

awk

sed

grep

sort

uniq

wget

curl

 

2.10 以下特殊符号所代表的含义(2.5分)

.    代表当前目录

..     代表当前目录的上一级目录

/      文件目录的根

#     命令提示符,当前登陆的用户为管理员

$     命令提示符,当前登陆的用户是普通用户

 

第三章   命令题

3.1 创建目录/old/test/(2分)

mkdir -p /old/test

3.2 使用一条命令在/old/test/目录下创建bgx1.txt、bgx2.txt、bgx3.txt三个文件(2分)

touch /old/test/bgx{1,2,3}.txt

3.3 将/old/test/目录下所有内容复制到/root/目录下(2分)

cp -r /old/test/* /root/

3.4 将/old目录移动到/tmp/下(2分)

cp -r /old /tmp/

3.5 将I am student输入到/root/bgx1.txt中(2分)

echo "I am student" >> /root/bgx1.txt

3.6 查看/root/bgx1.txt文件的内容(四种方法)(4分)

cat /root/bgx1.txt

less /root/bgx1.txt

more /root/bgx1.txt

vim /root/bgx1.txt

3.7 查看/tmp/old/属于哪种文件类型(2分)

file /tmp/old/

3.8 删除/tmp目录下所有内容(2分)

rm -rf /tmp

3.9 删除/root下所有a开头的文件(2分)

rm -f /root/a*

3.10 查看/etc/passwd文件的第7、8行(3分)

head -8 /etc/passwd | tail -1

3.11 清除命令历史记录(3分)

history -c

3.12 将文件从Windows上传到centos系统中使用什么命令(3分)

rz

3.13 如何将/root/bgx1.txt文件下载到windows系统中(3分)

sz

3.14 如何比较两个文件内容有什么区别(2种方式,并简述2种方式的区别)(6分)

diff 和 vimdiff

diff直接在终端打印出不同的地方

vimdiff会打开vim窗口并打开2个文件,高亮不同的地方

 

3.15 已知阿里源地址为http://mirrors.aliyun.com/repo/Centos-7.repo将其下载到etc/yum.repos.d目录下并命名为Centos-7.repo(3分)

wget -O etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3.16 如何安装vim(3分)

yum -y install vim

3.17 在/tmp/目录下面创建一个etc的软连接etc-test(3分)

ln -s etc /tmp/etc-test

3.18 如何查看家目录下的所有文件(3分)

ls ~

3.19 给hello设置别名,使每次使用hello就输出“你好”(3分)

alias hello='echo “你好”'

3.20 取消hello命令的别名(3分)

unlias hello

第四章   面试题

4.1 显示1.txt文件第3到第10行的内容(3分)

sed -n '3,10p' 1.txt

4.2 写出查询file.txt以abc结尾的行(3分)

grep -E "*abc$" file.txt

4.3 删除file.txt文件中的空行(3分)

sed -i '/^$/d' file.txt

4.4 找出ifconfig命令结果中的1-255之间的数值(3分)

ifconfig | grep -E "[1-2][0-5][0-5]"

4.5 统计出apache的access.log 中访问最多的5个ip(IP为第一列)(4分)

awk -F '{print $1}' access.log | sort -nr | uniq -c | head -5

4.6 在/var/ sync/log/cef_watchd-20080424.1og文件中查找大小写不敏感“mysql"字符串中的命令是(3分)

grep -i "mysql" /var/ sync/log/cef_watchd-20080424.1og

4.7 用命令行更改config.txt文件,把里面所有的"name"更改为"address" (4分)

sed -i 's#name#address#g' config.txt

4.8 用awk获取文件中第三行的倒数第二列字段(3分)

 

4.9 显示file文件里匹配foo字串那行及前5行、匹配foo及后5行(4分)

grep -C5 "foo" file

4.10 查找file.log文件中的包含关键字“helloworld”的内容,及其上下两行的内容从定向保存到1.txt。请写出命令(4分)

grep -C2 "helloworld" file.log >> 1.txt

 

 

第二套练习题

一、基础

1.1 什么是绝对路径,什么是相对路径(2分)

从/开始表示的是绝对路径,对当前目录来描述的是相对路径

 

1.2 简述命令执行的流程(2分)

先读取到内存中,再进行执行

 

1.3 简述软连接与硬连接的区别(2分)

1)创建软链接的命令是ln -s , 创建硬连接的命令是ln

2)目录不能创建硬连接,并且硬连接不可以跨越分区系统

3)软链接支持对目录创建,同时也支持跨分区创建

4)硬连接文件与源文件的inode相同,软链接文件与源inode不同

5)删除软链接文件,对源文件及硬连接文件无任何影响

6)删除文件的硬连接文件,对源文件及链接文件无任何影响

7)删除链接文件的源文件,对硬连接无影响,会导致软链接失效

8)删除源文件及其硬连接文件,整个文件会被真正的删除

 

1.4 创建目录/old/test/(2分)

mkdir -p /old/test

 

1.5 使用一条命令在/old/test/目录下创建bgx1.txt、bgx2.txt、bgx3.txt三个文件(2分)

touch /old/test/bgx{1,2,3}.txt

 

1.6 将/old/test/目录下所有内容复制到/root/目录下(2分)

cp -r /old/test/* /root/

 

1.7 删除/root下所有a开头的文件及目录(2分)

rm -rf /root/a*

 

1.8 在/tmp/目录下面创建一个etc的软连接etc-test(2分)

ln -s etc /tmp/etc-test

 

1.9 写出20个学过的命令及含义(20分)

 

ls          路径下的文件及文件夹

cat        查看文件内容,打印到屏幕上

less       查看文件内容,可以翻页显示

more     查看文件内容,可以翻页显示

head      查看文件头部内容

tail        查看文件尾部内容

cut        以列的形式剪切文件内容

awk       处理内容的命令

grep      搜索文件内的关键字

find       查找文件或文件夹

mkdir    创建文件夹

touch    创建文件

ftail       动态显示文件尾部变化

sed        替换文件内容

ln          创建链接文件

df          查看分区使用信息

free       查看内存使用信息

lsblk     查看硬盘分区信息

mkfs      格式化硬盘

mount   挂载分区

 

 

1.10 以下目录的作用(8分)

bin         存放普通用户使用的命令

boot       存放系统启动相关文件

dev        存放设备文件

etc         存放系统配置文件

home     存放普通用户的家目录

lib      存放库文件

mnt    挂载文件夹

opt         存放第三方应用程序安装文件

proc    程序启动后存放程序状态的文件夹

root        root用户的家目录

run    是一个临时文件系统,存储系统启动以后的信息

sbin       存放管理员使用的命令

tmp        存放临时文件的文件夹

usr         存放系统文件

var         存放变化文件

 

二、awk

2.1 显示1.txt文件第3到第10行的内容?(2分)

 

2.2 取出IP地址(2分)

ifconfig | grep "inet " | awk '{print $2}'

 

2.3 写一个文件,文件内容如下

cat >>test.txt<<EOF

server {

lisTEN 80;

server_nAme docs.xuliangwei.com;

root /code/dOcs

index INDEX.html;

}

EOF

2.3.1过滤docs.xuliangwei.com这段关键字(2分)

grep "docs.xuliangwei.com" test.txt

 

2.3.2同时过滤出root和index的行,不区分大小写(2分)

grep -E "root|index" test.txt

 

2.3.3过滤index,区分大小写(2分)

grep "index" test.txt

 

2.3.4过滤出带"O"的行,不区分大小写(2分)

grep -i "O" test.txt

 

2.3.5过滤出不带";"的行(2分)

grep -v ";" test,txt

 

3.4 将"web3_access.log"上传至你的linux服务器

rz 后选中web3_access.log

 

2.4.1统计出该文件IP地址(第一列)出现的次数,并按正序对其进行排序(2分)

awk '{print $1}' web3_access.log | uniq -c | sort -n

 

2.4.2统计该文件内HTTP状态返回码出现的次数(例如200,404,403,在第九列),并按照倒序进行排序(2分)

awk '{print $9}' web3_access.log | uniq -c | sort -nr

 

2.4.3过滤出所有状态返回码是200的行,并将这些返回码为200行的全部替换成300(2分)

sed -i 's#200#300#g' web3_access.log

 

3.5 使用hostnamectl查看当前系统信息

[root@test-200 /home]# hostnamectl

Static hostname: test-200

Icon name: computer-vm

Chassis: vm

Machine ID: 955d9cf9777d49748690808a0b38096b

       Boot ID: 9565d1bd772543beb49d178479e7c94f

Virtualization: vmware

Operating System: CentOS Linux 7 (Core)

       PE OS Name: cpe:/o:centos:centos:7

                Kernel: Linux 3.10.0-957.el7.x86_64

Architecture: x86-64

 

2.5.1取出kernel内核版本信息(2分)

hostnamectl | grep "Kernel" | awk -F ":" '{print $2}'

 

2.5.2取出系统名称(2分)

hostnamectl | grep "Static hostnam" | awk -F ":" '{print $2}'

2.5.3取出系统版本信息,只显示"linux 7"(2分)

hostnamectl |grep "Operating System" | awk '{print $4" "$5}'

 

三、用户与权限

3.1 在Linux系统中,哪个文件保存着用户信息(2分)(B)

A:/etc/Profile       B:/etc/passwd       C:/usr/bin/env       D:/boot

 

3.2 一个用户想要修改dir目录下的file文件,他需要对dir目录以及file文件有什么权限(2分)(A)

A:file的写权限和dir目录(以及一直向上到/目录)的执行权限

B:只需要file的写权限

C:只需file的读和写权限

D:file的写权限和dir目录(以及一直向上到/目录)的写权限

 

3.3 默认情况下管理员创建了一个用户,就会在(B)目录下创建一个用户主目录(2分)

A:/usr       B:/home       C:/root       D:/etc

 

3.4为脚本程序指定执行权限的命令参数是(2分)(A)

A:chmod +x filename.sh       B:chown +x filename.sh       C:chmod +w filename.sh       D:chown +r filename.sh

 

3.5 如果执行命令 # chmod 746 file.txt , 那么该文件的权限是?(2分)(A)

A:rwxr--rw-             B:rw-r--r--

C:–xr—rwx                D:jrwxr—r—

 

3.6 某文件的权限为:drw--r--r--,用数值形式表示该权限,则该八进制数为(644),该文件属性是(文件夹)(2分)

 

3.7 某个服务器有a.sh脚本,用户权限为644,需要执行什么命令,才可以执行./a.sh命令(2分)

chmod 645 a.sh

 

3.8 唯一标识每一个用户的是用户的_用户名_和UID_(2分)

 

3.9 将以下权限翻译成数字,将数字权限用字母表示(14分)

rw-r-xr--              654

rw-r--r--               644

rwx--x—x           711

rw-------              600

rwxr--r--              744

rw-rw-r--             664

751                      rwxr-x—x

771                      rwxrwx--x

632                      r-x-wx-w-

644                      rw-r--r--

551                      r-xr-x--x

622                      rw--w--w-

746                      rwxr--rw-

755                       rwxr-x-r-x

 

3.10 设置/home/user1/test文件权限为所有者可读可写可执行,所有组可读可写,其他所有账户可读,并将该文件的所有者和所有组都修改为root(3分)

chmod 764 /home/user1/test

chown root:root /home/user1/test

 

3.11 当用户zabbix对/testdir 目录有写和执行权限时,该目录下的只读文件file1 是否可修改和删除?(3分)

可以

 

3.12 把jacky的密码设置为123(3分)

echo "123" | passwd –stdin jacky

 

3.13 使用"ls -l /"以长格式查看根目录,写出引号内容所代表的详细含义(4分)

“dr-xr-xr-x.” 5 “root root” 4096 May 16 01:36 boot

第一个引号内的含义为:该文件是目录,权限是属主可读可执行,属组可读可执行,其他人可读可执行

第二个引号内的含义为:属主和属组为root

 

3.14 当用户mysql对/data/DB目录无读权限,但是拥有写和执行权限,意味着能做哪些操作,无法做哪些操作?(3分)

往文件夹内复制文件

删除文件夹下的文件及文件夹

 

四、进阶

4.1 如果某一天你误操作了"rm -rf *",会发生哪些情况(3分)

删除当前目录下所有文件及文件夹

 

4.2 用命令行更改config.txt文件,把里面所有的"name"更改为"address" (3分)

sed -i 's#name#address#g' config.txt

 

4.3 用awk获取文件中第三行的倒数第二列字段(2分)

awk '{print $3}'

 

4.4 删除file.txt文件中的空行(3分)

sed -i '/^$/d' file.txt

 

4.5 删除/tmp目录下所有a开头的文件(3分)

rm -f /tmp/a*

 

五、翻译(每个2分)

5.1 [root@test-200 ~]# cd /rot

-bash: cd: /rot: No such file or directory

没有该文件或目录

 

5.2 [root@test-200 ~]# mdkir a

-bash: mdkir: command not found

没有该命令

 

5.3 [root@test-200 ~]# mkdir a

mkdir: cannot create directory ‘a’: File exists

不能创建文件夹a:文件夹已存在

 

5.4 [root@test-200 ~]# rm a

rm: cannot remove ‘a’: Is a directory

不能移除a 它是文件夹

 

5.5 [root@test-200 ~]# rm a.txt

rm: remove regular empty file ‘a.txt’?

确认要删除 a.txt文件?

 

5.6 [root@test-200 ~]# cp /tmp/a.txt /root/a.txt

cp: overwrite ‘/root/a.txt’?

是否覆盖该文件

 

5.7 [root@test-200 ~]# id www

id: www: no such user

没有该用户

 

5.8 [test@test-200 /]$ cd /root

bash: cd: /root: Permission denied

权限不足

 

5.9 [root@test-200 /tmp]# cp -q a.txt c.txt

cp: invalid option -- 'q'

参数有误

 

5.10 [root@test-200 /home]# useradd test

useradd: user 'test' already exists

用户test已存在

 

第三套练习题

一、基础(每题2分)

1.1 阐述绝对路径与相对路径的区别

开头是/的为绝对路径,相对于当前目录来说的路径为相对路径

 

1.2 简述软连接与硬连接的区别

1) ln命令创建硬连接,ln -s 命令创建软链接

2) 目录不能创建硬连接,并且硬连接不可以跨越分区系统

3) 软链接支持对目录创建,同时也支持跨越分区系统

4) 硬连接文件于源文件的inode相同,软链接文件与源文件inode不同

5) 删除软链接文件,对源文件及硬连接文件无任何影响

6) 删除文件的硬连接文件,对源文件及链接文件无任何影响

7) 删除链接文件的源文件,对硬连接无影响,会导致软链接失效

8) 删除源文件及其硬连接文件,整个文件会被真正的删除

 

1.3 简述命令执行的流程

先读取到内存中,再执行

 

1.4 写出查询file.txt以abc结尾的行

grep "abc$" file.txt

 

1.5 查找file.log文件中的包含关键字“helloworld”的内容,及其上下两行的重定向到1.txt

grep -C2 "helloworld" file.log >> 1.txt

 

 

1.6 假设公司研发部的用户David和Peter属于组A

1.6.1 建立相应的用户和组,并设置相应的对应关系

groupadd A

useradd -G A David

useradd -G A Peter

 

1.6.2 建立目录yf_a,该目录里面的文件只能由研发部人员读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何操作

mkdir yf_a

chgrp A yf_a

chmod g+rwx,o-rwx yf_a

 

 

1.6.3 建立目录yf_b,该目录里面的文件只有研发部的David拥有所有权限,研发部的其他人只有查看权限,其他部门不能进行任何操作

mkdir yf_b

chown David:A yf_b

chmod 740 yf_b

 

1.7 有一用户test,及用户组test,在code目录下创建的所有文件自动归属于test组所有

chomd +s code

 

 

1.8 有两个用户组python及Linux,python组可以修改读取/hom/python/目录下所有内容,但不能让Linux组读取;Linux组可以修改读取/home/linux/目录下所有文件,但不能让python组读取。给出配置命令。

 

chgrp python /hom/python

chown g+rwx,o-rwx /hom/python

chgrp Linux /home/linux

chown g+rwx,o-rwx /home/linux

 

 

二、find相关(每题3分)

2.1 找出/tmp目录下,属主不是root的文件

find /tmp -type f ! -user root

 

2.2 查找/var目录下属主为old,且属组为test的文件

find /var -type f -user old -a -group test

 

2.3 查找/var目录下7天以前修改、且属组为root的文件

find /var -type f -mtime +7 -user root

 

2.4 查找/etc目录下大于1M且类型为普通文件的所有文件

find /etc -type f -size +1M

 

2.5 查找/etc/目录下大于100k,小于1M的文件

find /etc -type f -size +100k -a -size -1M

 

2.6 查找/目录下文件名包含txt的文件

find / -type f  -name "*txt*"

 

2.7 查找/目录下属主是test或者属主是oldgirl的文件

find / -type f -user test -o -user oldgirl

 

2.8 删除/tmp目录下15天前的文件

find /tmp -type f -mtime +15 | xargs rm -f

 

2.9 查找根下名为1.txt或2.txt的文件

find / -type f -name 1.txt -o -name 2.txt

 

2.10 查找/tmp目录下所有文件并删除

find /tmp -type f | xargs rm -f

 

三、tar相关(每题3分)

3.1 使用zip打包/etc目录。

zip etc.zip /etc

 

3.2 用zip打包/opt目录,要求不显示打包过程。

zip opt.zip /opt

 

3.3 解压/data/etc.zip到当前目录

unzip /data/etc.zip

 

3.4 已知文件test.zip,在不解压的情况下,如何查看该文件的内容。

unzip -l test.zip

 

3.5 将/data/old.tar.gz解压到/opt目录下

tar -xf /data/old.tar.gz -C /opt/

 

3.6 不解压的情况下,查看/data/old.tar.gz压缩包中都有什么内容

tar -t /data/old.tar.gz

 

3.7 打包/etc/目录,要求不打包/etc/hosts这个文件。

tar -cf etc.tar /etc -exclude=/etc/hosts

 

3.8 打包/etc/目录,要求不打包/etc/hosts和/etc/passwd这两个文件。

tar -cf etc.tar /etc -exclude=/etc/hosts /etc/passwd

 

3.9 打包/etc/目录,命令以ip地址方式的压缩包: 比如: 10.0.0.200_etc.tar.gz

tar -zcf 10.0.0.200_etc.tar.gz /etc

 

3.10 打包/etc/目录,要求以.bz2格式

tar -cjf etc.tar.bz2 /etc

 

四、软件安装相关(每题3分)

4.1 使用rpm命令安装tree软件。

rpm -ivh tree*

 

4.2 查看你的服务器中是否安装httpd这个软件。

rpm -qa | grep httpd

 

4.3 查看httpd软件包里面的内容。

rpm -ql | grep httpd

 

4.4 查看httpd软件包的详细信息。

rpm -qi | grep httpd

 

4.5 查看一下netstat这个命令属于哪个软件包

rpm -qf `which netstat`

 

4.6 卸载sl这个命令

rpm -e sl

 

4.7 已知服务的mongodb的版本为3.0,现将mongodb这个软件版本升级为4.0,请给出rpm升级命令

rpm -Uvh mongodb

 

4.8 yum安装rsync这个软件。

yum -y install rsync

 

4.9 yum安装多个软件,例如sl、lsof、net-tools、nmap等

yum -y install sl lsof net-tools nmap

 

4.10 查看你的服务器中有哪些可用的yum源仓库。

yum repolist

 

五、进阶(每题4分)

5.1 将“I am student”重定向到/root/bgx1.txt中

echo "I am student" >> /root/bgx1.txt

 

5.2 简述源码编译的流程

5.3 查找/etc/目录下以.conf结尾、修改时间为最近七天的文件,打包压缩为/tmp/conf.tar.gz

find /etc -type f -name "*.conf$" -mtime -7 | xargs tar -czf /tmp/conf.tar.gz

 

5.4 查找/目录下以a开头的目录,打包压缩为zip结尾的压缩包

find / -type d -name "^a*" -exec zip {}.zip {} \;

 

5.5 查找/目录下,属主为test的文件,复制到/home/test/目录下

find / -type f -user test -exec /bin/cp {} /home/test/ \;

 

六、翻译(每题2分)

6.1 [root@test-200 ~]# cd /rot

-bash: cd: /rot: No such file or directory

没有找到文件或目录

 

6.2 [root@test-200 ~]# mdkir a

-bash: mdkir: command not found

命令没有找到

 

6.3 [root@test-200 ~]# mkdir a

mkdir: cannot create directory ‘a’: File exists

不能创建文件夹a,文件已存在

 

6.4 [root@test-200 ~]# rm a

rm: cannot remove ‘a’: Is a directory

不能删除a,它是一个文件夹

 

6.5 [root@test-200 ~]# rm a.txt

rm: remove regular empty file ‘a.txt’?

确定要删除a.txt文件吗?

 

6.6 [root@test-200 ~]# cp /tmp/a.txt /root/a.txt

cp: overwrite ‘/root/a.txt’?

覆盖/root/a.txt?

 

6.7 [root@test-200 ~]# id www

id: www: no such user

没有找到该用户

 

6.8 [test@test-200 /]$ cd /root

bash: cd: /root: Permission denied

权限不足

 

6.9 [root@test-200 /tmp]# cp -q a.txt c.txt

cp: invalid option -- 'q'

错误的选项 q

 

6.10 [root@test-200 /home]# useradd test

useradd: user 'test' already exists

用户test已经存在

 

第四套练习题

一、基础(每题2分)

1.1 什么是绝对路径,什么是相对路径

绝对路径是以/开始的路径

相对路径是相当于当前目录来说的路径

 

1.2 简述命令执行的流程

先加载到内存中,再执行

 

1.3 简述软连接与硬连接的区别

1)创建软链接的命令是ln -s , 创建硬连接的命令是 ln

2)目录不能创建硬连接,并且硬连接不可以跨越分区系统

3)软链接支持对目录创建,同时也支持跨越分区系统

4)硬连接文件与源文件的inode相同,软链接文件与源文件inode不同

5)删除软链接文件,对源文件及硬连接无任何影响

6)删除文件的硬连接文件,对源文件及链接文件无任何影响

7)删除链接文件的源文件,对硬连接无影响,会导致软链接失效

8)删除源文件及其硬连接文件,整个文件会被真正的删除

1.4 /tmp/目录下面创建一个etc的软连接etc-test

ln -s etc /tmp/etc-test

 

1.5 统计出apache的access.log 中访问最多的5个ip

 

1.6 用awk获取文件中第三行的倒数第二列字段

 

1.7 筛选出/var/log/mysql.log文件中带有MySQL的行(不区分大小写)

grep -i "MySQL" /var/log/mysql.log

 

1.8. 将"web3_access.log"上传至你的linux服务器

1.8.1 统计出该文件IP地址出现的次数,并按正序对其进行排序

 

1.8.2 统计该文件内HTTP状态返回码出现的次数(例如200,404,403,在第九列)并按照倒序进行排序

awk '{print $9}' web3_access.log  | sort -nr | uniq -c

 

1.8.3 过滤出所有状态返回码是200的行,并将这些返回码为200行的全部替换成300

sed -i 's#200#300#g' web3_access.log

 

1.9 出30个学过的命令及含义(30分)

ls        查看当前目录下的内容
cat       查看文件内容
less      以翻页的形式查看文件内容
more      以翻页的形式查看文件的内容
cut       以列截取文件内容
awk       以列截取文件内容,处理文本
grep      搜索关键字
find      搜索命令
tail      查看文件尾部内容
head      查看文件头部内容
tailf     动态查看文件尾部内容
sed       替换文件内容
vim       文本编辑器
rpm       管理rpm软件包
yum       管理软件包
ln        创建链接文件
diff      对比文件不同
vimdiff   对比文件不同并高亮不同处
nmcli     配置网卡
ip        查看ip地址
ifconfig  查看ip地址
top       查看系统程序占用资源
df        查看已挂载文件系统信息
lsblk     查看系统内硬盘信息
blkid     查看分区的uuid
free      查看内存使用情况
swapon    激活swap分区
mkfs      格式化分区
fdisk     对2T以下硬盘进行分区
gdisk     对硬盘进行分区

 

二、用户权限(每题2分)

2.1 把jacky的密码设置为123

echo 123 | passwd --stdin jacky

 

2.2 创建组distro,其GID为2019

groupadd -G 2019 distro

 

2.3 创建用户testdir,其ID号为1005,基本组为distro

useradd -U 1005 -g distro testdir

 

2.4 给用户testman添加密码,密码为testedu

echo testedu | passwd --stdin testman

 

2.5 设某文件myfile的权限为-rw-r--r--,若要增加所有人可执行的权限,应该怎么做

chmod a+x myfile

2.6 假设公司研发部的用户David和Peter属于组A,财务部的用户life和laowang属于组B

2.6.1 建立相应的用户和组,并设置相应的对应关系

groupadd A
groupadd B

useradd -G A David
useradd -G A Peter

useradd -G B life
useradd -G B laowang

 

2.6.2 建立目录office_a,该目录里面的文件只能由研发部人员读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何操作

mkdir office_a
chgrp A office_a
chmod g+rwx,o-rwx office_a

2.6.3 建立目录office_b,该目录里面的文件只能由财务部人员读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何操作

mkdir office_b
chgrp B office_b
chmod g+rwx,o-rwx office_b

 

2.6.4 建立目录office_c,该目录里面的文件研发部人员可以读取、增加、删除、修改以及执行,其他部门只能做查看操作

mkdir office_c
chgrp A office_c
chmod g+rwx,o=r-- office_c

 

2.6.5 建立目录office_d,该目录里面的文件只有研发部的经理David拥有所有操作权限,研发部的其他人只有查看权限,其他部门不能进行任何操作

mkdir office_d
chown David:A office_d
chmod 740 office_d

 

三、查找压缩(每题3分)

3.1 查找/var目录下属主为root,且属组为mail的所有文件

find /var -type f -user root -a -group mail

 

3.2 查找/etc目录下大于100k且创建时间在7天前的以.conf结尾的文件

find /etc -type f -name "*.conf$" -mtime +7 -size +100K

 

3.3 查找/tmp目录下15天以前的文件删除

find /tmp -type f -mtime +15 | xarg rm -f

 

3.4 使用tar打包/var/log/目录到/tmp/下。

tar -cf /tmp/log.tar /var/log

 

3.5 使用zip打包/etc目录到/tmp/下。

zip /tmp /etc

 

3.6 解压/tmp/etc.tar.gz目录到/root目录中。

tar -xf /tmp/etc.tar.gz -C /root/

 

3.7 使用tar打包/etc/目录但是要排除/etc/passwd

tar -cf etc.tar -exclude=/etc/passwd

 

3.8 已知文件test.tar.gz,在不解压的情况下,怎样查看该文件的内容

tar -t test.tar.gz

 

3.9 查找/etc目录下所有以.conf结尾的文件打包压缩到/tmp/目录下

find /etc -type f -name "*.conf$" | xarg zip -d /tmp/

 

3.10 查找/var目录下所有以.log结尾的文件复制到/tmp/下

find /var -type f -name "*.log$" -exec /bin/cp {} /tmp/ \;

 

四、磁盘管理(每题3分)

4.1 查看当前系统磁盘使用情况,然后查看root用户家目录所使用磁盘空间的总大小

df -h | grep root

 

4.2 linux系统在创建时,至少创建哪两个分区

/

/boot

 

4.3 阐述RAID 0,RAID 1,RAID 5和RAID 10的详细信息

RAID 0 : 条带式存储,可用空间为100%,最大化利用硬盘空间,没有冗余功能,坏1块硬盘后阵列数据会丢失
RAID 1 :镜像式存储,可用空间为50%(N>2),减少1块硬盘的空间,但有冗余功能,坏1块硬盘后阵列数据不会丢失
RAID 5 :校验式存储,可用空间为(N-1)/N (N>3)较少1块硬盘的空间,有冗余功能,坏1块硬盘后阵列数据不会丢失,但读取速度会变慢
RAID 10 : 镜像阵列条带式存储,可用空间为50%,有冗余功能,只要1对镜像盘中有1块坏盘数据就不会丢失。

 

4.4如下容量的磁盘:4块500G,1快600G磁盘组成RAID 5,容量是多少。

2000G

 

4.5如下容量的磁盘:500G,600G,组成RAID 0,容量是多少,如果组成RAID 1,容量又是多少

1100G

500G

 

4.6如下容量的磁盘:2块500G,1快600G磁盘组成RAID 5,容量是多少。

1000G

 

4.7 给虚拟机添加两块300G的磁盘

4.7.1一块磁盘建立两个分区,每个分区可用空间150G,另一块磁盘建立一个分区并分配所有磁盘容量

fdisk /dev/sdb
n
p


+150G
w

-----

fdisk /dev/sdb
n
p


w

-----

fdisk /dev/sdc
n
p



w

 

4.7.2 查看已完成分区的磁盘设备,将已创建的磁盘分区格式化为xfs的文件系统

lsblk
mkfs.xfs /dev/sdb1
mkfs.xfs /dev/sdb2
mkfs.xfs /dev/sdc1

 

4.7.3 新建目录/data/test1,/data/test2,/data/test3,将已完成格式化的磁盘设备分别临时挂载到这三个目录下(可随意挂载)

mkdir -p /data/test{1,2,3}
mount /dev/sdb1 /data/test1
mount /dev/sdb2 /data/test2
mount /dev/sdc1 /data/test3

 

4.7.4 查看当前系统磁盘使用情况,是否挂载成功

df -h

 

五、软件相关(每题2分)

5.1 查看你的服务器中是否安装httpd这个软件

rpm -qa | grep httpd

 

5.2查看httpd这个软件包里面的内容

rpm -ql httpd

 

5.3 卸载虚拟机中安装的ls命令

rpm -e $(rpm -qf `which ls`)

 

5.4 查看一下ping这个命令属于哪个软件包

rpm -qf `which ping`

 

5.5 安装多个软件,例如sl、lsof、net-tools、nmap等

yum -y install sl lsof net-tools nmap

 

5.6 查看你的服务器中有哪些可用的yum源仓库。

yum repolist

 

5.7 显示系统中已经安装过得软件包

rpm -qa

 

5.8 查看一下nginx这个软件包都依赖哪些软件

rpm -ivh nginx

 

5.9 查看yum的历史记录

yum history

 

5.10 自主搭建一个本地yum仓库,书写好操作过程,rpm包可以使用磁盘镜像中的rpm包

 

#1.挂载镜像文件到/mnt目录下,并将里面的Packages目录内文件拷贝到/iso_repo文件夹内

mkdir /iso_repo
mount /dev/sr0 /mnt
cp /mnt/Packages/* /iso_repo


#2.安装createrepo rpm包,并使用该工具创建索引文件

rpm -ivh /iso_repo/createrepo*
createrepo /iso_repo/


#3.增加一个repo文件

cat >> /etc/yum.repos.d/iso.repo <EOF
[iso]
name = iso repo
baseurl = file:///iso_repo
enabled = 1
gpgcheck = 0
EOF

#4.创建yum缓存文件并确认是否配置成功

gzip /etc/yum.repos.d/C*
yum clean all && yum makecache
yum repolist
yum -y install tree &> /dev/null && echo $?



 

小李

学无止境,勇攀高峰。