一、基础
1.1什么是绝对路径,什么是相对路径
绝对路径:以根开始的路径
相对路径:相对于当前路径来说的
1.2简述命令执行流程
查看是否是绝对路径---->查看是否有alisa别名---->看是内置还是外置命令---->查看是否有缓存---->执行或者报错(command not found)
1.3简述软连接与硬链接的区别
软连接:ln -s 删除源文件软连接则失效,软连接相当于一个快捷方式
硬链接:ln 删除源文件对硬链接无影响,硬链接可相当于一个副本
1.4创建目录/old/boy/
mkdir /old/boy/ -p
1.5使用一条命令在/old/boy/目录下创建bgx1.txt,bgx2.txt,bgx3.txt三个文件
touch /old/boy/bgx{1..3}.txt
1.6 将/old/boy/目录下所有内容复制到/root/目录下 (2 分)
cp /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 分)
mkdir:创建目录
touch:创建文件
cd:进入某个目录下
grep:过滤
cat:查看文件内容
less:查看文件内容以页的单位显示
more:查看文件内容
tail:默认查看文件尾部十行内容
head:默认查看文件首部十行
yum:下载
rpm:下载
find:根据条件筛选
wget:下载
cut:过滤
sort:排序
unip:去重
rz:上传
sz:下载
file:查看文件类型
vim:文件编辑
1.10 以下目录的作用(8 分)
bin:普通用户二进制命令存放位置
boot:系统启动时产生的文件存放的目录
dev:设备目录
etc:存放配置文件
home :普通用户的家目录
lib:存放库文件的目录
mnt:临时挂载点
opt:第三方软件安装的默认路径
proc:虚拟目录
root :超级管理员的家目录
run:进程产生的pid存放目录
sbin:超级管理员使用的二进制命令存放目录
tmp:存放临时文件的目录
usr:软件安装时的默认路径
var:存放可变的文件
二、awk
2.1 显示 1.txt 文件第 3 到第 10 行的内容?(2 分)
head -10 1.txt |tail -8
awk 'NR==3,NR==10' 1.txt
2.2 取出 IP 地址(2 分)
ifconfig |awk 'NR==2 {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" -o test.txt
awk 'NR==3 {print $2}' test.txt
head -3 test.txt |grep "docs.xuliangwei.com" -o
2.3.2 同时过滤出 root 和 index 的行,不区分大小写 (2 分)
egrep -i "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
2.4 将"web3_access.log"上传至你的 linux 服务器
2.4.1 统计出该文件 IP 地址(第一列)出现的次 数,并按正序对其进行排序(2 分)
awk '{print $1}' access.log |sort|uniq -c|sort -n
2.4.2 统计该文件内 HTTP 状态返回码出现的次数 (例如 200,404,403,在第九列),并按照倒序进行排 序(2 分)
awk '{print $9}' access.log |sort|uniq -c|sort -nr
2.4.3 过滤出所有状态返回码是 200 的行,并将这些 返回码为 200 行的全部替换成 300(2 分)
awk '{print $9}' access.log |sed 's#200#300#g'
2.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 -F ":" 'NR==9{print 2}'
2.5.2 取出系统名称(2 分)
hostnamectl |awk -F ":" 'NR==2{print $2}'
2.5.3 取出系统版本信息,只显示"linux 7"(2 分)
hostnamectl |awk 'NR==7{print 5}'
hostnamectl |grep "Linux 7" -o
三、用户与权限
3.1 在 Linux 系统中,哪个文件保存着用户信息(2 分) B
A:/etc/Profile B:/etc/passwd C:/usr/bin/env D:/boot
3.2 一个用户想要修改dir目录下的file文件,他需要对 dir 目录以及 file 文件有什么权限(2 分)C
A:file 的写权限和 dir 目录(以及一直向上到/目 录)的执行权限
B:只需要 file 的写权限
C:只需 file 的读和写权限
D:file 的写权限和 dir 目录(以及一直向上到/目 录)的写权限
3.3 默认情况下管理员创建了一个用户,就会在 ()目录下创建一个用户主目录(2 分)C
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 +x a.sh
3.8 唯一标识每一个用户的是用户的(用户组)和(uid)(2 分)
3.9 将以下权限翻译成数字,将数字权限用字母表 示(14 分)
rw-r-xr-- 645
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 rw--wx-w-
644 rw-r--r--
551 r-xr-x--x
622 rw--w--w-
746 rwxr--rw-
775 rwxrwxr-x
3.10 设置/home/user1/test 文件权限为所有者可读可 写可执行,所有组可读可写,其他所有账户可读, 并将该文件的所有者和所有组都修改为 root(3 分)
chmod 564 /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
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 分)
sed 's#name#address#g' config.txt
4.3 用 awk 获取文件中第三行的倒数第二列字段(2 分)
awk 'NR==3{print $(NF-1)}' +文件名
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
文件已存在
5.4 [root@test-200 ~]# rm a
rm: cannot remove ‘a’: Is a directory
这是一个目录
5.5 [root@test-200 ~]# rm a.txt
rm: remove regular empty file ‘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
这个用户已存在