一、基础
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< 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用户存在