- find使用
find / -name install.log 搜索全盘的install.log
find / -user root 按照所有者(用户名)搜索
find / -nouser 查找没有所有者(用户)的文件
find / -mtime +10 查找10天前修改的文件
-10 查找10天内修改的文件
10 查找10当天修改的文件
find / -size 25k 查找等于25k的文件
+25K 查找大于25k的文件
-25k 查找小于25k的文件
find / -size +20k -a size -size -50 查找大于20k并且小于50K的文件
-a and逻辑与,两个条件都满足
-o or逻辑或,两个条件满足一个
find / -size +20k -a size -50k -exec ls -lh{} \; 查找大于20k并且小于50k的文件,并显示详细信息
-exec/ -ok命令{}\对搜索结果执行操作,使用-exec命令之后必须加{}\
- 通配符
? 匹配任意一个字符
*匹配0个或多个字符,也就是可以匹配任意字符
[] 匹配括号中任意一个字符
[-] 匹配括号中任意一个字符,-代表一个范围;咧如[a-x],代表匹配a和x中间的任意小写字母
[^] 逻辑非,表示匹配不是括号内的一个字符
特殊符号
'' 单引号。在单引号中所有的特殊字符都没有特别的意思
"" 双引号。在双引号中特殊字符都没有特别的含义,但是$,`反引号,\ 是例外。拥有调用变量的值,引用命令,和转移符的特殊含义
$() 是引用系统中命令,和反引号`的作用是一样的,都是调用系统中的命令
\ 转移符,跟在\之后的特殊符号将失去特殊意义,变为普通的字符
-
shell变量
-
位置变量
bash $n n为数字,$0代表命令的本身,$1-$9代表第一和第九个参数,十个以上的参数需要用大括号包含,如${10} $* 代表命令行中所有的参数,$*把说有的参数看成一个整体 $@ 也是代表命令行中所有的参数,不过$@把每个参数分区对待 $ 这个变量代表命令行中所有的参数个数
-
正则表达式
bash * 前一个支付匹配0次或任意多次 . 匹配除了换行符外的任意字符 ^ 匹配行首 $ 匹配行尾 [] 匹配中括号中指定的任意一个字符,只匹配一个字符 [^] 匹配括号以外的任意字符 \ 转义符用于取消特殊符号的含义 \{n\} 表示前面的字符出现了N次 \{n,m\} 表示前面的字符出现了N次,最多出现M次 ^$ 匹配空格行
-
shell判断
按照文件类型进行判断
-b:判断该文件是否存在,并且是否为块设备文件(是快设备文件为zhen)
-c:判断该文件是否存在,并且是否为字符串设备文件
-d:判断该文件是否存在,并且是否为目录文件
-e:判断该文件是否存在,(存在为真)
-f:判断该文件是否存在,并且是普通文件
-L:判断该文件是否存在,并且是否为符号链接文件
-P:判断该文件是否存在,并且是否为管道文件
-s:判断该文件是否存在,并且是否为非空
-S:判断该文件是否存在,并且是否为套接字文件
按照文件权限进行判断
-r:判断文件是否存在,并且是否拥有读权限
-w:判断文件是否存在,并且是否拥有写权限
-x:判断文件是否存在,并且是否拥有执行权限
-u:判断文件是否存在,并且是否拥有SUID权限
-g:判断文件是否存在,并且是否拥有SGID权限
-k:判断文件是否存在,并且是否拥有SBit权限
- 两个文件之间进行比较
[
if [条件判断式];then
程序
fi
或者
if [条件判断式]
then
程序
fi
双分支if条件语句格式
if [条件判断式];then
程序
else
程序
fi
多分支if条件语句格式
if [条件判断式];then
当条件判断式1成立时,执行程序1
elif [条件判断式2];then
当条件判断式2成立时,执行程序2
else
当所有条件不成立时最后执行此程序
fi
多分支case条件语句 case语句和if elif else 语句一样都是多分支语句,不过和if语句不同的是case语句只能判断一种条件关系,而if语句可以判断多种条件关系
case $变量名 in
"值1")
如果变量的值等于1,则执行程序一
;;
"值2")
如果变量的值等于2,则执行程序二
;;
*)
如已上的值都不是的话,则执行次程序
;;
esac
for循环
for 变量 in 值1 值2 值3……;do
程序
done
s=0
for(( i=1;i<=100;i=i+1));do 循环一百次
s=$(($s+$i))
done
echo $s
while循环 while循环是不定循环,也称作条件循环。只要条件判断式成立,循环就会一直继续,直到条件判断式不成立,循坏才会停止
while [条件判断式];do
程序
done
while read -r line
do
echo $line
done < name.txt
until循环 until循环时只要条件判断式不成立则进行循环,并执行循环程序。一但循环条件成立,则终止循环
until [条件判断式];do
程序
done
发表评论
共 0 条评论
暂无评论