您现在的位置是:主页 > news > 推荐 官网 潍坊网站建设/bing搜索引擎下载
推荐 官网 潍坊网站建设/bing搜索引擎下载
admin2025/4/28 16:24:03【news】
简介推荐 官网 潍坊网站建设,bing搜索引擎下载,网站建设工作计划表,最火爆的网络游戏排行榜1.diff 对比不同 【1】实验环境 vimdiff westos westos.new此时不同的地方就会高亮(在排错的过程中可能会使用) man diff查询(以下只截取了部分内容) 在不知道命令的使用方法时,可以man 查询。这是一个非常实用的做…
1.diff 对比不同
【1】实验环境
vimdiff westos westos.new
此时不同的地方就会高亮(在排错的过程中可能会使用)
man diff查询(以下只截取了部分内容)
在不知道命令的使用方法时,可以man 查询。这是一个非常实用的做法,在下面一道练习中,印证了其有效性
【2】用法:
【3】输出信息:
[num1,num2][a|c|d][num3,num4]
内容 | 作用 |
---|---|
num1,num2 | 第一个文件中的行 |
a | 添加 |
c | 更改 |
d | 删除 |
> | 第二个文件中的内容 |
< | 第一个文件中的内容 |
num3,num4 | 第二个文件中的行 |
练习:
【4】常用参数:
参数 | 作用 |
---|---|
-b | 忽略空格 |
-B | 忽略空行 |
-i | 忽略大小写 |
-c | 显示文件所有内容分并表示不同 |
-r | 对比目录 |
-u | 合并输出 |
练习:
- 忽略空格
- 忽略空行
- 忽略大小写
- 显示文件所有内容分并表示不同
- 对比目录
- 合并输出(生成补丁的时候可使用)
2.patch
yum install patch -y
命令 | 作用 |
---|---|
patch 原文件 补丁文件 | 给原文件打补丁 |
patch -b 原文件 补丁文件 | 备份原文件 |
练习:
- patch 原文件 补丁文件
在原文件上打补丁,原来的lyq就变为了LINUX
- -b 备份原文件
直接使用上述命令后,原文件就不见了。所以使用参数备份原文件就很重要了。westos.orig就是原文件
注意:当orig文件已经存在时,就不要再次使用-b去备份了
3.cut
参数 | 作用 |
---|---|
-d : | 指定:为分隔符 |
-f | 指定显示的列 |
-c | 指定截取的字符(用法同-f) |
-f与-c用法相同,所以此处只写了一种,大家可以替代理解
-f用法 | 作用 |
---|---|
-f 5 | 显示第5列 |
-f 2,5 | 显示第2列和第5列 |
-f 2-5 | 显示2到5列 |
-f 5- | 显示第5列以后 |
-f -5 | 显示到第5列 |
练习:
-
cp /etc/passwd .
准备好练习文件
-
-f 指定显示的列
-
-c 指定显示的字符
学员命令测试:
- ifconfig 网卡 可以显示此网卡的信息
- 显示信息中包含此网卡使用的ip地址
- 请用命令过滤此ip并在输出时只显示ip其他信息不显示
脚本编写:
结果:
反思:在练习的过程中,我才真正的理解了-d 指定分隔符是如何使用的。在写脚本的过程中要是可注意到自己想要实现的作用是什么:“ 如果网卡名称为空,要提示网卡名称;如果网卡名称正确,则得到正确的结果;如果网卡名称错误,报错即可”
4.sort
参数 | 作用 |
---|---|
-n | 纯数字排序 |
-r | 倒叙 |
-u | 去掉重复 |
-o | 输出到指定文件 |
-t | 指定分隔符 |
-k | 指定排序的列 |
练习:
学员命令测试:
- ls -l 目录 可以显示目录中所有文件案的属性
- 请按照文件大小进行排序并找出最大的2个文件并显示其名称
方法一:
方法二:
使用man ls查询ls的使用方法可以发现,直接使用ls -S即可进行排序!!
5.uniq
参数 | 作用 |
---|---|
-c | 合并重复并统计重复个数 |
-d | 显示重复的行 |
-u | 显示唯一的行 |
练习:
6.tr
命令 | 作用 |
---|---|
tr ‘a-z’ ‘A-Z’ | 小写转大写 |
tr ‘A-Z’ 'a-z | 大写转小写 |
练习:
7.&& ||
-
&& 符合条件做动作
-
|| 不符合条件做动作
练习:
可以当作‘与’和‘非’来理解
8.test
test = [] ##[] 就相当于test命令
"test $a = $b" = [ "$a" = "$b" ]
【1】test数字对比
命令 | 作用 |
---|---|
-eq | 等于 |
-ne | 不等于 |
le | 小于等于 |
-lt | 小于 |
-ge | 大于等于 |
-gt | 大于 |
练习:
注意:这两种的判断次数不相同
[root@xixi mnt]# [ "$a" -eq "$b" ] && echo yes || echo no
no 一次判断,效率高
[root@xixi mnt]# [ ! "$a" -eq "$b" ] && echo yes || echo no
yes 两次判断:1.条件是否成立;2.条件不成立的时候 可以理解为条件判断后取非
[root@xixi mnt]#
【2】test的条件关系
参数 | 作用 |
---|---|
-a | 并且 |
-o | 或者 |
练习:
-
-a 并且
-
-o 或者
【3】test对空的判定
参数 | 作用 |
---|---|
-n | nozero 判定内容不为空 |
-z | zero 判定内容为空 |
【4】test对于文件的判定
软链接和硬链接的作用和区别
参数 | 作用 |
---|---|
-ef | 文件节点号是否一致(硬链) |
-nt | 文件1是不是比文件2新 |
-ot | 文件1是不是比文件2老 |
-d | 是否为目录 |
-S | 套接字 |
-L | 软链接 |
-f | 普通文件 |
-b | 块设备 |
-c | 字符设备 |
练习:
- 对比哪个文件更新
- 文件节点号一致
- 软连接
- -s 套接字
套接字Socket=(IP地址:端口号),套接字的表示方法是点分十进制的IP地址后面写上端口号,中间用冒号或逗号隔开。每一个传输层连接唯一地被通信两端的两个端点(即两个套接字)所确定。
套接字可以看成是两个网络应用程序进行通信时,各自通信连接中的一个端点。通信时,其中的一个网络应用程序将要传输的一段信息写入它所在主机的Socket中,该Socket通过网络接口卡的传输介质将这段信息发送给另一台主机的Socket中,使这段信息能传送到其他程序中。因此,两个应用程序之间的数据传输要通过套接字来完成。
- -b块设备 -c 字符设备
学员检测:
file_check.sh 在执行时
- 如果脚本后没有检测文件报错“未指定检测文件,请指定”
- 如果脚本后指定文件不存在报错“此文件不存在”
- 当文件存在时请检测文件类型并显示到输出中
一开始(没有完成单纯的显示文件类型)
修改后
反思:编写脚本的时候,“没有检测文件”和“指定文件不存在”这两部分当时除了点问题。错误原因是使用了[ -f "$1" -o -d "$1" ]
来查验是否存在文件或目录,但是这样就与[ -e "$1" ]
的作用相重复后,后来仔细思考了一下其中的逻辑关系:
- 文件是否存在 [ -e “$1”]
- "$1"是否为空 [ -z “$1”]