一、基础
1.1 什么是绝对路径,什么是相对路径(2 分)
- 绝对路径:以根开头直到文件位置
- 相对路径:相对于当前所在目录到文件位置
1.2 简述命令执行的流程(2 分)
- 1.判断命令是否通过绝对路径执行
- 2.判断命令是否存在别名
- 3.判断是内置命令,还是外置命令
- 4.内置命令,执行;外置命令检查hash缓存,有执行,无查找
- 5.通过PATH查找命令,有执行;无,报错(command not found)
1.3 简述软连接与硬连接的区别(2 分)
- 软链接:ln -s 创建软链接,相对于快捷方式,iNode与源文件不同,删除源文件,软链接失效
- 硬链接:ln 创建硬链接,相当于副本,iNode与源文件相同,删除源文件,硬链接依然有效,删除源文件与硬链接,这个文件才被彻底删除
1.4 创建目录/old/boy/(2 分)
- mkdir -p /old/boy
1.5 使用一条命令在/old/boy/目录下创建 bgx1.txt、bgx2.txt、bgx3.txt 三个文件(2 分)
- touch /old/boy/bgx{1..3}.txt
1.6 将/old/boy/目录下所有内容复制到/root/目录下(2 分)
- cp -r /old/boy/* /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 分)
1.10 以下目录的作用(8 分)
- bin 普通用户使用的命令
- boot 系统启动时的引导文件
- dev 设备相关
- etc 系统配置相关
- home 普通用户的家目录
- lib 共享库文件
- mnt 临时文件挂载点
- opt 额外的应用软件包
- proc 虚拟文件,显示系统运行的实时状态
- root root超级管理员的家目录
- run 进程运行时产生的UID以及锁文件
- sbin 超级管理员使用的命令
- tmp 存放临时文件目录,相当于回收站
- usr 应用程序存放目录
- var 可变化的文件
二、awk
2.1 显示 1.txt 文件第 3 到第 10 行的内容?(2 分) - sed -n '3,10p' 1.txt
- awk 'NR==3,NR==10' 1.txt
2.2 取出 IP 地址(2 分)
- ifconfig eth0|awk '/inet /{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 -Ei "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 服务器
2.4.1 统计出该文件 IP 地址(第一列)出现的次数,并按正序对其进行排序(2 分)
- awk '{print $1}' |sort|uniq -c|sort -n
2.4.2 统计该文件内 HTTP 状态返回码出现的次数(例如 200,404,403,在第九列),并按照倒序进行排序(2 分)
- awk '{print $9}'|sort|uniq -c |sort -nr
2.4.3 过滤出所有状态返回码是 200 的行,并将这些返回码为 200 行的全部替换成 300(2 分)
- grep "200" web3_access.log|sed s/200/300/g
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 |awk '/Kernel/ {print $3}'
2.5.2 取出系统名称(2 分)
- hostnamectl |awk -F ":" 'NR==2{print $2}'
2.5.3 取出系统版本信息,只显示"linux 7"(2 分)
- hostnamectl |awk '/System/{print 5}'
三、用户与权限
3.1 在 Linux 系统中,哪个文件保存着用户信息(B:/etc/passwd)(2分)
A:/etc/Profile B:/etc/passwd
C:/usr/bin/env D:/boot
3.3 默认情况下管理员创建了一个用户,就会在(B:/home)目录下创建一个用户主目录(2 分)
A:/usr B:/home C:/root D:/etc
3.4 为脚本程序指定执行权限的命令参数是(A:chmod +x filename.sh)(2 分)
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 , 那么该文件的权限是?(A:rwxr--rw- )(2 分)
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 +x 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
3.10 设置/home/user1/test 文件权限为所有者可读可写可执行,所有组可读可写,其他所有账户可读,并将该文件的所有者和所有组都修改为 root(3 分)
- chmod 764 /home/user1/test
3.11 当用户 zabbix 对/testdir 目录有写和执行权限时,该目录下的只读文件 file1 是否可修改和删除?(3 分)
- 不可修改,不可删除
3.12 把 jacky 的密码设置为 123(3 分)
- echo "123"|pass -stdin jacky
3.13 使用"ls -l /"以长格式查看根目录,写出引号内容所代表的详细含义(4 分)
“dr-xr-xr-x.” 5 “root root” 4096 May 16 01:36 boot
- d:文件类型为目录
r-x:属主权限为读和执行
r-x:属组权限为读和执行
r-x:其他用户的权限位读和执行
第一个root:为属主
第二个root:为属组
3.14 当用户 mysql 对/data/DB 目录无读权限,但是拥有写和执行权限,意味着能做哪些操作,无法做哪些操作?(3 分)
- 可以写入、删除。不可以ls
四、进阶
4.1 如果某一天你误操作了"rm -rf *",会发生哪些情况(3 分)
- 会删除当前目录下所有文件
4.2 用命令行更改 config.txt 文件,把里面所有的"name"更改为"address" (3 分)
- grep "name" config.txt|sed s/name/address/g
4.3 用 awk 获取文件中第三行的倒数第二列字段(2分)
- awk 'NR==3{print $(NF-1)}' config.txt
4.4 删除 file.txt 文件中的空行(3 分)
- grep -v "^$" file.txt
4.5 删除/tmp 目录下所有 a 开头的文件(3 分)
- rm -rf /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’?
- 覆盖'/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'
- 无效的选项---'q'
5.10 [root@test-200 /home]# useradd test
useradd: user 'test' already exists
- 用户'test'已经存在