1.shell
shell是操作系统的一个软件,它包在linux内核的外面,为用户和内核之间的交互提供了一个接口,系统中的命令用shell解释,可以接收系统回应的输出并显示到屏幕上.
2.shell脚本
脚本是解释性语言,用shell脚本保存执行动作;判断命令的执行条件;实现动作的批量进行.
3.脚本注释的添加
在脚本开始写上脚本的作者,时间,联系方式,便于对脚本的维护.
vim /etc/vimrc vim的配置文件
map ms:call Scripts-Dest()'s 快捷键F9执行函数Scripts-Dest()加注释
autocmd BUFNewFile *.sh *.script exec “:call Scripts_Dest( )” 自动执行函数加注释
在每次脚本创建时,就会自动加上注释
4.脚本的调试
sh -x linux.sh 适用于所有shell脚本
5.shell脚本的执行
(1)sh linux.sh 指定解释器
(2)chmod +x linux.sh 给执行权限
./linux.sh
6.常用的基本命令
(1)diff和patch
diff 比较两者的不同
a 添加
c 更改
d 删除
如新建两个文件 westos westos1
westos 内容为:hallo
westos1 内容为:第一行 hallo;第二行 111
用 diff 比较两文件内容的不同
yum install patch -y
patch westos1 westos.path 打补丁,把两个文件改成一致的,同时把源文件保留
完成后会生成westos.orig这个文件,这是westos1的原文件
diff还可以用来比较目录
yum install gcc -y
vim linux.c
vim linux1.c
若比较的文件为c语言程序码文件时,显示差异所在的函数名称
cut
cut 命令用于按“列”提取文本字符,格式为“cut [参数] 文本”
-d 指定分隔符
-f 指定截取的列 (-f1,7 第一和第七列;-f1-5 #第一到第5列
-c 指定截取的字符位置
sort:多用于字符排序
-n 纯数字排序
-r 倒序
-u 去掉重复的数字
-o 输出到指定文件
-t 指定分隔符
-k 指定要排序的列
uniq:对重复字符做相应的处理
-u 显示唯一的行
-d 显示重复的行
-c 每行显示一次并统计重复次数
&&和||
&& 正确输出
|| 错误输出
test等同于[ ]:测试工具
Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试
关于两个整数之间的判定,例如 test n1 -eq n2
1)test " a=b" ! 不等于
-eq 两数值相等
-ne 两数值不等
-gt n1 大于 n2
-lt n1 小于 n2
-ge n1 大于等于 n2
-le n1 小于等于 n2
2)两个文件之间的比较,如:test file -nt file1
-nt (newer than)判断 file1 是否比 file2 新
-ot (older than)判断 file1 是否比 file2 旧
-ef 判断 file与 file 是否为同一文件,可用在判断hard link(硬链接) 的判定上。主要意义在判定,两个文件是否均指向同一个 inode
3)关于某个文件名的“文件类型”判断,如 test -e filename 表示存在否
-e 该“文件名”是否存在
-f 该“文件名”是否存在且为文件(file)
-d 该“文件名”是否存在且为目录(directory)
-b 该“文件名”是否存在且为一个 块设备(block device) 设备
-c 该“文件名”是否存在且为一个 字符串(character device) 设备
-S 该“文件名”是否存在且为一个 套接子(Socket) 文件
-L 该“文件名”是否存在且为一个 链接(软链接)文件
tr
tr 大小写的转换