Shell初识
1.什么是shell
shell也是操作系统中的一个软件,它包含载linux内核的外面,为用户和内核之间的交互提供了一个接口,系统中命令用shell去解释shell接受系统回应的输出并显示其到屏幕中。
bash=GUN Bourne-Again Shell
2.脚本的调用
chmod +x /mnt/test.sh
/mnt/test.sth ##使用脚本内的幻数(指定的环境)运行
sh /mnt/test.sh ##使用sh,不使用脚本的幻术运行
source /mnt/test.sh ##运行时不占用当前shell
示例:使用脚本将多个文件将/etc/.conf文件备份到/mnt/backup,并重命名为.conf.日期
#!/bin/bash
mkdir /mnt/backup
cp /etc/*.conf /mnt/backup
find /mnt -name *.conf -exec mv {} {}.`date +%m-%d` \;
3.设置快捷脚本说明
vim /etc/vimrc
map <F2> ms:call Redhat()<cr>'s ##按F2出现
autocmd BufNewFile *.sh exec "call Redhat()" ##创建.sh结尾文件时自动生成
function Redhat()
call append(0,"####################################")
call append(1,"#Autho: #")
call append(2,"#Create_Date: ".strftime("%Y-%m-%d")." #")
call append(3,"#Mail: #")
call append(4,"#Version: #")
call append(5,"####################################")
endfunction
4.diff命令
-b 不检查空格字符的不同
-B 不检查空白行
-c 显示哦全部内文,并标出不同之处
-i 不检查大小写的不同
-p 若比较的文件为c语言程序码文件时显示差异锁在的函数名称
-q 仅显示有无差异,不显示详细的信息
-r 比较目录中的文件
-u 以合并的方式来显示文件内容的不同
5.cut命令
cut 命令多用与字符截取
cut -d 指定分隔符
cut -f 1,7|1-7 指定截取的列
cut -c 1,4|1-4 指定截取的字符位置
6.sort命令
多用于字符排序
sort -n 纯数字排序
sort -r 倒序
sort -u 去掉重复数字
sort -o 输出到指定文件中
sort -t 指定分隔符
sort -k 指定要排序的列
统计重复的个数
去除没有重复的
7.&& 和 ||
&& 用来执行条件成立后执行的命令
|| 用来执行条件不成立后执行的命令
8.test 命令
test 命令和 [] 等同
test "$A" == "$B" 等同 [ "$A" == "$B" ]
[ "$A" = "$B" ]
[ "$A" != "$B" ] ##A,B不相等
[ "$A" -eq "$B" ] ##A,B相等
[ "$A" -ne "$B" ] ##A,B不等
[ "$A" -le "$B" ] ##A小于等于B
[ "$A" -lt "$B" ] ##A小于B
[ "$A" -ge "$B" ] ##A大于等于B
[ "$A" -gt "$B" ] ##A大于B
[ "$A" -ne "$B" -a "$A" -gt "$B" ]
[ "$A" -ne "$B" -o "$A" -gt "$B" ]
[ -z "$A" ] A为空
[ -n "$A" ] A非空
[ "file1" -ef "file2" ] ##两个为同一个文件
[ "file1" -nt "file2" ] ##file1比file2新
[ "file1" -ot "file2" ] ##file1比file2旧
a=1,b=1