一、基础
1.1? 什么是绝对路径,什么是相对路径?
相对路径:从当前目录开始的就是相对路径
绝对路径:从根开始的路径就是绝对路径? ? ? ? ? ?
1.2? 简述命令执行的流程? ?
判断命令是否是绝对路径
判断命令是否有别名
判断命令是内置命令还是外置命令
bash的内部命令直接执行,外部命令检查是否有缓存
通过$PATH变量查找命令,有命令执行,没有命令报错'command not found? ? ? ? ? ? ? ? ? ? ? ? ?
1.3? 简述软连接与硬连接的区别?
ln 命令创建硬链接;ln -s 创建软链接
目录不能创建硬链接,硬链接不能跨越分区
目录软链接特别常用,软链接支持跨分区
硬链接文件与源文件inode相同,软链接文件与源文件inode不同
删除软链接对源文件及硬链接文件无影响
删除硬链接对源文件及链接文件无影响
删除源文件,对硬链接无影响,会导致软链接失效
删除源文件及其所有硬链接,文件会被真正删除? ? ? ? ? ? ? ? ? ?
1.4? 创建目录/old/boy/?
? ? ? ? ? ? ? ? ? ? ? mkdir -p /old/boy? ?
1.5使用一条命令在/old/boy/目录下创建bgx1.txt、bgx2.txt、bgx3.txt三个文件?
? ? ? ? ? ? ? ? ? touch /old/boy/bgx{1..3}.txt
1.6将/old/boy/目录下所有内容复制到/root/目录下? ? ? ?
? ? ? ? ? ? ? cp -a /old/boy/* /root/? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
1.7 删除/root 下所有 a 开头的文件及目录? ? ? ?
rm -fr /root/a*
1.8 在/tmp/目录下面创建一个 etc 的软连接 etc-test?
? ? ? ? ? ? ? ? ? ln -s /etc /tmp/etc-test? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
1.9? 写出 20 个学过的命令及含义? ?
awk---取列,取行
grep---筛选,匹配
sed---替换,取行
mkdir---创建目录
touch---创建文件
ln---创建硬链接
ls---查看文件
stat---查看文件的详细属性信息
cat---查看文件内容
less---查看大文件内容
more---查看大文件内容,显示百分比
head---查看文件前几行,默认十行
tail---查看文件后几行,默认十行
file---查看文件类型
tree---以树形结构显示目录和文件mv---移动
cp---拷贝
rm---删除
mv---移动
sort---排序
uniq---去重,与sort组合使用
wc---统计
xargs---将多行排列,分组
cut ---取字符串
cd---切换目录
Pwd---显示当前路径
chmod---修改文件权限
chattr---改变文件权限
lsattr---查看文件是否加锁
chown --设置属主属组
chgrp --设置属组
useradd---新建用户
usermod---修改用户信息
userdel---删除用户
groupadd --添加用户组
groupmod --修改用户组
groupdel --删除用户组
gpasswd --用户组设置密码
passwd---修改密码
mkpasswd --生成随机密码
id---查看用户是否存在
su---切换用户
chage---修改密码属性? ? ? ? ? ? ?
1.10? 以下目录的作用? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
/bin:? ? 二进制可执行文件的保存目录,普通用户命令保存目录(软链接,指向/usr/bin)
/sbin:? ? 管理员可用的系统相关命令存储目录(软链接,指向/usr/sbin)
/lib:? ? 系统启动与运行时所需的库文件(软链接,指向/usr/lib)
/lib64:系统启动与运行时所需的64库库文件(软链接,指向/usr/lib64)
/usr:? ? ? ? ? 系统文件目录(第二层次目录)
/boot:? 存放系统启动的相关文件
/dev:? 设备文件的保存目录,比如硬盘分区 光驱等
/etc:? ? 配置文件的保存目录
/home:? ? 普通用户的家目录
/media:? 可移动媒体的挂载点
/mnt:? ? 临时挂载点
/opt:? ? ? ? 第三方软件程序存储目录
/srv:? ? ? 存储为用户提供服务的数据
/proc:? ? 存放系统正在运行的程序 进程信息
/root :? ? 管理员家目录
/run:? ? ? 正在运行的程序的pid和锁文件存储目录
/sys:? ? ? 虚拟的文件系统,存放进程和内核信息
/tmp:? ? ? 临时文件存储目录
/var:? ? ? ? 存放系统执行过程中经常变化的文件,如日志和邮件等? ? ? ? ?
二、awk
2.1 显示 1.txt 文件第 3 到第 10 行的内容??
? ? awk 'NR==3,NR==10' 1.txt
2.2? 取出 IP 地址? ? ? ? ? ?
? ? ? ? ? ? awk 'NR==3,NR==10' 1.txt
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 这段关键字
grep 'docs' test.txt
2.3.2 同时过滤出 root 和 index 的行,不区分大小写
grep -Ei 'root|index' test.txt
2.3.3 过滤 index,区分大小写
grep -i 'index' test.txt
2.3.4 过滤出带"O"的行,不区分大小写
grep -i 'o' test.txt
2.3.5 过滤出不带";"的行
grep -v ';' test.txt
3.4 将"web3_access.log"上传至你的 linux 服务器
2.4.1 统计出该文件 IP 地址(第一列)出现的次数,并按正序对其进行排序
awk '{print $1}' access.log | sort | uniq -c | sort -n
2.4.2统计该文件内HTTP状态返回码出现的次数(例如200,404,403,在第九列),并按照倒序进行排序
awk '{print $9}' access.log | sort | uniq -c | sort -rn
2.4.3 过滤出所有状态返回码是 200 的行,并将这些返回码为 200行的全部替换成 300
awk '{print $9}' access.log | grep '200' | 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.e17.x86_64
Architecture: x86-64
2.5.1 取出 kernel 内核版本信息
hostnamectl | grep 'Kernel' | awk '{print $3}'
2.5.2 取出系统名称()
hostnamectl | grep 'Operating' | awk '{print 3,4}'
2.5.3 取出系统版本信息,只显示"linux 7"
hostnamectl | grep 'Operating' | awk '{print 4,5}'
三、用户与权限? ? ? ?
3.1 在 Linux 系统中,哪个文件保存着用户信息? B
A:/etc/Profile? ? ? ? ? ? ? ?
B:/etc/passwd
C:/usr/bin/env? ? ? ? ? ?
D:/boot
3.2? 一个用户想要修改 dir 目录下的 file 文件,他需要对 dir 目录以及 file 文件有什么权限A
A:file 的写权限和 dir 目录(以及一直向上到/目录)的执行权限
B:只需要 file 的写权限?
C:只需 file 的读和写权限? ? ?
D:file 的写权限和 dir 目录(以及一直向上到/目录)的写权限? ?
3.3默认情况下管理员创建了一个用户,就会在()目录下创建一个用户主目录 B?
A:/usr? ? ? ? ?
B:/home? ?
C:/root? ? ?
D:/etc?
3.4 为脚本程序指定执行权限的命令参数是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 ,? 那么该文件的权限是? A
A:rwxr--rw-? ? ? ? ? ? ?
B:rw-r--r--? ? ? ? ?
C:–xr—rwx? ? ? ? ? ? ?
D:jrwxr—r—
3.6某文件的权限为:drw--r--r--,用数值形式表示该权限,则该八进制数为(),该文件属性是()
3.7某个服务器有a.sh脚本,用户权限为644,需要执行什么命令,才可以执行./a.sh 命令
chmod a+x a.sh
3.8? 唯一标识每一个用户的是用户的uid_和_id
3.9? 将以下权限翻译成数字,将数字权限用字母表
rw-r-xr-- (654) rw-r--r--(644)? rwx--x--x(711) rw------- (611)? rwxr--r--(744)? rw-rw-r--(664)
751(rwx r-x --x)? 771(rwx rwx --x)? 632(rw- -wx -w-)? 644(rw- r-- r--)
551(r-x r-x --x)? 622(rw- -w- -w-)? 746(rwx r-- rw-)? 755(rwx r-x r-x)
3.10设置/home/user1/test文件权限为所有者可读可写可执行,所有组可读可写,其他所有账户可读,并将该文件的所有者和所有组都修改为 root
chown root.root /home/user1/test
chmod 764 /home/user1/test
3.11? 当用户 zabbix 对/testdir目录有写和执行权限时,该目录下的只读文件file1是否可修改和删除?
可改可删
3.12? 把 jacky 的密码设置为 123?
echo '123' | passwd --stdin jacky
3.13? 使用"ls -l /"以长格式查看根目录,写出引号内容所代表的详细含义
“dr-xr-xr-x.” 5 “root root” 4096 May 16 01:36 boot
文件类型信息
文件权限信息
文件硬链接数
文件所属用户
文件所属组用户(属组)
文件容量大小
文件修改的时间信息
文件名称信息
3.14当用户mysql对/data/DB目录无读权限,但是拥有写和执行权限,意味着能做哪些操作,无法做哪些操作?
不能查看目录可以进入目录,可以创建文件,可以修改删除目录下文件
四、进阶
4.1? 如果某一天你误操作了"rm -rf *",会发生哪些情况
会删除当前目录下的所有文件
4.2? 用命令行更改 config.txt 文件,把里面所有的 "name"更改为"address"?
sed 's#name#address#g' config.txt
4.3? 用 awk 获取文件中第三行的倒数第二列字段
awk 'NR==2 {print $(NF-1)}'
4.4? 删除 file.txt 文件中的空行(3 分)
grep -v '^$' file.txt > file1.txt
4.5? 删除/tmp 目录下所有 a 开头的文件
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
没有mdkir这个命令
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’?
删除空的
5.6 [root@test-200 ~]# cp /tmp/a.txt /root/a.txt
cp: overwrite? ‘/root/a.txt’?
确定覆盖a.txt
5.7 [root@test-200 ~]# id www
id: www: no such user
www用户不存在
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用户存在