一、基础
1.1 什么是绝对路径,什么是相对路径(2 分)
绝对路径:以/开始的都是绝对路劲
相对路劲:相对于当前目录来说
1.2 简述命令执行的流程(2 分)
判断是否通过绝对路径执行;
判断是否存在alias别名;
判断用户输入的是内置命令还是外置命令;
bash内部命令直接执行;外部命令检测是否存在缓存
通过$PATH变量查找命令,有执行,无报错,否则command not found
1.3 简述软连接与硬连接的区别(2 分)
硬链接使用ln来创建,而软链接使用ln -s来创建;
硬链接不能创建目录,且硬链接不能跨越分区系统,软链接可以创建目录,且能跨越分区;
硬链接的inode与源文件的inode相同,软链接与源文件的inode不同;
删除硬链接时,源文件及其他硬链接文件无影响,
删除源文件,硬链接与其他源文件无影响,但软链接失效,
只有删除源文件与硬链接,整个文件才会被彻底的删除。
1.4 创建目录/old/boy/(2 分)
[root@wyw ~]# mkdir /old/boy/ -p
1.5 使用一条命令在/old/boy/目录下创建 bgx1.txt、bgx2.txt、bgx3.txt 三个文件(2 分)
[root@wyw boy]# touch /old/boy/bgx{1..3}.txt
1.6 将/old/boy/目录下所有内容复制到/root/目录下(2 分)
[root@wyw ~]# cp /old/boy/* /root/
1.7 删除/root 下所有 a 开头的文件及目录(2 分)
[root@wyw ~]# rm -rf /root/a*
1.8 在/tmp/目录下面创建一个 etc 的软连接 etc-test(2 分)
[root@wyw ~]# ln -s /etc/ /tmp/etc-test
1.9
ls 查看当前目录的信息
find 查找文件或者目录
wget 联网下载文件
curl 浏览网络资源
rz 上传文件
sz 下载文件
cat 查看文件,从头到尾的查看
less 查看文件,使用空格进行翻页,光标上下移动,q退出
more 查看文件,使用ctrl+f/b进行上下移动,空格翻页,显示百分比,q退出
mount 挂载
grep 过滤文件内容
awk 取列
sed 替换
vim 编辑工具
history 查找执行的命令历史记录
alias 设置别名
unalias 取消别名
man 查看帮助
mkdir 创建一个目录
touch 创建一个文件
tree 以树状结构显示目录
cd 返回当前所在的家目录
rm 删除
mv 移动
tail 查看文件尾部的内容,默认后10行
tailf 查看文件按=尾部的实时变化
head 查看文件头部的内容,默认前10行
pwd 查看当前所在的目录
sort 排序
uniq 去重
cut 截取字段
file 查看文件类型
ln 创建链接文件
echo 输出
wc 统计行号
useradd 添加用户
usermod 修改用户
userdel 删除用户
groupadd 增加用户组
groupmod 修改用户组
groupdel 删除用户组
yum 下载软件包
rpm 安装软件
1.10
/bin 普通用户存放二进制可执行的命令
/boot 存放系统启动时的引导目录 如kernel grub等
/dev 存放设备目录
/etc 系统的配置文件存放路径,包括后续安装的一些服务
/home 普通用户的家目录
/lib 库文件,命令所依赖的库文件(/usr/lib /usr/lib64)
/mnt 挂载点
/opt 第三方厂商安装软件存放的目录
/proc 虚拟系统文件,显示当前系统正在运行进程的实时状态
/root 超级管理员的家目录
/run 存放进程锁文件
/sbin 超级管理员存放二进制可执行的命令
/tmp 系统临时目录
/usr 存放系统文件
/var 存放一些变化的文件,比如/var/log下的日志文件
二、awk
2.1 显示 1.txt 文件第 3 到第 10 行的内容?
方法一:[root@wyw-10 ~]# awk 'NR>2 && NR<=10' 1.txt
方法二:[root@wyw-10 ~]# sed -n '3,10p' 1.txt
方法三:[root@wyw-10 ~]# head 1.txt |tail -8
2.2取出 IP 地址
[root@wyw-10 ~]# ifconfig ens33 |awk '/inet /{print $2}'
[root@wyw-10 ~]# ifconfig ens33 |sed -n '2p'|awk '{print $2}'
[root@wyw-10 ~]# ifconfig ens33 |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.3.2 同时过滤出 root 和 index 的行,不区分大小写
2.3.3 过滤 index,区分大小写
2.3.4 过滤出带"O"的行,不区分大小写
2.3.5 过滤出不带";"的行
1.[root@wyw-10 ~]# awk -F " |;" 'NR==3{print $2}' test.txt
[root@wyw-10 ~]# awk 'NR==3{print $2}' test.txt |awk -F ";" '{print $1}'
2.[root@wyw-10 ~]# grep -Ei "root|index" test.txt
[root@wyw-10 ~]# egrep -i "root|index" test.txt
3.[root@wyw-10 ~]# grep -i "index" test.txt
4.[root@wyw-10 ~]# grep -Ei "o" test.txt
[root@wyw-10 ~]# egrep -i "o" test.txt
5.[root@wyw-10 ~]# grep -v ";" test.txt
2.4 将“access.log”上传至你的Linux服务器
2.4.1统计出该文件IP地址(第一列)出现的次数,并按正序对其进行排序
2.4.2统计该文件内HTTP状态返回码出现的次数(例如200、4.4、4.3,在第九列),并按照倒序进行排序
2.4.3过滤出所有状态返回码是200的行,并将这些返回码为200行的全部替换成300
1.[root@wyw-10 ~]# awk '{print $1}' access.log |sort|uniq -c|sort -n
2.[root@wyw-10 ~]# awk '{print $9}' access.log |sort|uniq -c|sort -nr
3.[root@wyw-10 ~]# awk '{print $9}' access.log |sed 's#200#300#g'
2.5使用hostnamectl查看当前系统信息
2.5.1取出kernel内核版本信息
2.5.2取出系统名称
2.5.3取出系统版本信息,只显示“linux 7”
1.[root@wyw-10 ~]# hostnamectl|awk -F ":" '/Kernel/{print $2}'
[root@wyw-10 ~]# hostnamectl |grep -i "kernel"|awk -F ":" '{print $2}'
2.[root@wyw-10 ~]# hostnamectl|awk -F ":" '/Static/{print $2}'
[root@wyw-10 ~]# hostnamectl|awk '/Static/{print $3}'
[root@wyw-10 ~]# hostnamectl|awk 'NR==1{print $3}'
[root@wyw-10 ~]# hostnamectl|grep -i "static"|awk '{print $3}'
3.[root@wyw-10 ~]# hostnamectl|awk 'NR==7{print $4,$5}'
[root@wyw-10 ~]# hostnamectl|grep -i "operating"|awk '{print $4,$5}'
三、用户与权限
1.在Linux系统中,那个文件保存着用户信息——/etc/passwd
2.一个用户想要修改dir目录下的file文件,他需要对dir目录以及file文件有什么权限
需要有dir目录的读权限和file文件的读写权限
3.默认情况下管理员创建了一个用户,就会在/home目录下创建一个用户主目录
4.为脚本程序指定执行权限的命令参数是——chmod +x filename.sh
5.如果执行命令 #chmod 746 file.txt,那么该文件的权限是——rwxr--rw-
6.某文件的权限为:drw--r--r--,用数值形式表示该权限,则该十进制数为644,该文件属性是目录类型。
7.某个服务器有a.sh脚本,用户权限为644,需要执行什么命令,才可以执行./a.sh命令——chmod 755 a.sh
8.唯一标识每一个用户的是用户的uid和用户名
9.将以下权限翻译成数字,将数字权限用字母表示:
rw-r-x-r-- 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 rw--wx-w- 644 rw-r--r--
551 r-xr-x--x 622 rw--w--w- 746 rwxr--rw- 755 rwxr-xr-x
10.设置/home/user/test文件权限为所有者可读可写可执行,所有组可读可写,其他所有账户可读,并将该文件的所有者和所有组都修改为root
chmod 764 /home/user/test chown root.root /home/user/test
11.当用户zabbix对/testdir目录有写和执行权限时,该目录下的只读文件file1是否可修改和删除——能进入到/testdir下,能修改,但不能删除
12.把Jacky的密码设置为123
echo "123"|passwd --stdin jacky
13.使用ls -l以长格式查看根目录,写出引号内容所代表的详细含义
“dr-xr-xr-x.” 5 “root root” 4096 May 16 01:36 boot
'd'表示文件类型,此类型为目录类型 第一个'r-x'表示属主权限,第二个'r-x'属组权限,第三个'r-x'是其他用户权限。
14.当用户mysql对/data/DB目录无读权限,但是拥有写和执行权限,意味着能做那些操作,无法做哪些操作——能进入目录/data/DB,能创建新文件,也可以编写目录下的文件,但不能使用查看该目录下的文件。
四、进阶
1.如果某一天你误操作了"rm -rf*",会发生哪些情况
如果实在当前目录下操作了rm -rf*,只会删除当前目录下的文
件,如果是在根目录下,操作了rm -rf*,就会造成系统的崩溃。
2.用命令行更改config.txt文件,把里面所有的"name"更改为"address"
grep "name" config.txt|sed 's#name#address#g'
3.用awk获取文件中第三行的倒数第二列字段
awk 'NR==3{print $(NF-1)}'
4.删除file.txt文件中的空行
grep -v "^$" file.txt
grep "^$" file.txt >/dev/null
5.删除/tmp目录下所有a开头的文件
rm -rf /tmp/a*
五、翻译
1.[root@test-200 ~]# cd /rot
-bash: cd: /rot: No such file or directory ——没有这样的文件或目录
2.[root@test-200 ~]# mdkir a
-bash: mdkir: command not found ——找不到命令
3.[root@test-200 ~]# mdkir a
mkdir:cannot create directory ‘a’: File exists——无法创建目录“a”:文件存在
4.[root@test-200 ~]# rm a
rm:cannot remove ‘a’: Is a directory ——无法删除“a”:是一个目录
5..[root@test-200 ~]# rm a.txt
rm: remove regular empty file ‘a.txt’?——删除常规空文件“a.txt”
- [root@test-200 ~]# cp /tmp/a.txt /root/a.txt
cp: overwrite ‘/root/a.txt’? ——是否覆盖'/root/a.txt' - [root@test-200 ~]# id www
id: www: no such user ——没有这样的用户 - [test@test-200 /]$ cd /root
bash: cd: /root: Permission denied ——权限拒绝 - [root@test-200 /tmp]# cp -q a.txt c.txt
cp: invalid option -- 'q' ——无效选项--“q” - [root@test-200 /home]# useradd test
useradd: user 'test' already exists ——用户“test”已存在
网友评论