Linux脚本编程中bash常用的测试类型:
整数测试:
-gt greater than 大于
-le less or equal 小于或等于
-ne not equal 不等
-eq equal 等于
-ge greater or equal 大于或等于
-lt less than 小于
字符测试
== 是否等于
> 是否大于
< 是否小于
!= 是否不等于
=~ 左侧字符串能否被右侧的模式所匹配
-z 判断指定的字符串是否为空,空为真,不空为假
-n 判断指定的字符串是否不空,不空为真,空为假;
文件测试
文件的存在测试
-a
-e
文件的类型测试
-b 是否存在并且为块设备文件
-c 是否存在并且为字符设备文件
-d 是否存在并且为目录设备文件
-f 是否存在并且为普通设备文件
-p 是否存在并且为命名管道文件
-S 是否存在并且为套接字文件
-h 是否存在并且为符号链接文件
文件权限测试
-r 是否存在并且对当前用户可读
-w 是否存在并且对当前用户可写
-x 是否存在并且对当前用户可执行
特殊权限测试
-g 是否存在并且有sgid权限
-u 是否存在且拥有suid权限
-k 是否存在且拥有sticky权限
文件内容测试
-s 文件是否存在且是否有内容
文件时间戳测试
-N 文件自从上一次读取后是否被修改过
从属关系测试
-O 当前用户是否为文件的属主
-G 当前用户是否属于文件属组
压缩与解压缩工具
file-roller
compress/uncompress: .Z
gzip/gunzip: .gz
bzip2/bunzip2: .bz2
xz/unxz: .xz
zip/unzip
tar
cpio
作业
查找/var目录下属主为root,且属组为mail的所有文件
find /var/ -user root -group mail
查找/var目录下不属于root、lp、gdm的所有文件
find /var/ -not \( -user root -o -user lp -o -user gdm \) -ls
查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件
find /var/ -mtime -7 -not \( -user root -o -user postfix \) -ls
查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件
find /var/ -atime -7 -nouser -nogroup
查找/etc目录下大于1M且类型为普通文件的所有文件
find /etc/ -type f -size +1M -exec ls -lh {} \;
查找/etc目录下所有用户都没有写权限的文件
find /etc/ -not -perm /222 -ls
查找/etc/init.d目录下,所有用户都有执行权限,且其它用户有写权限的文件
find /etc/init.d/ -perm /111 -a -perm /002
编写脚本,利用变量RANDOM生成10个随机数字,输出这个10数字,并显示其中的最大者
#!/bin/bash i=1 max=0 until [ $i -eq 10 ] ;do one=`echo $RANDOM` echo $one if [ $one -gt $max ] ;then max=$one else max=$max fi let i=$i+1 done echo "the bigest number is $max"
编写脚本,通过ping命令探测172.16.250.1-254范围内的所有主机的在线状态,统计在线主机和离线主机各多少。
#!/bin/bash # i=0 a=0 b=0 until [ $i -gt 254 ] ; do ping -c 2 -w 2 10.1.252."$i" &> /dev/null if [ $? -eq 0 ] ;then echo "The host 10.1.252.$i on line" let a=$a+1 else echo "The host 10.1.252.$i out of line" let b=$b+1 fi let i=$i+1 done echo "The totol on line host is $a" echo "The totol out of line host is $b"
编写脚本,打印九九乘法表
#!/bin/bash # h=1 s=1 until [ $h -gt 9 ] ; do echo -e " \n" s=1 until [ $s -gt $h ] ; do let sum=$h*$s echo -e "$s*$h=$sum \c" let s=$s+1 done let h=$h+1 done echo -e " \n"
原创文章,作者:317376161,如若转载,请注明出处:http://www.178linux.com/37003
评论列表(1条)
总结的有点简单了哦,下次用点心,作业完成的还可以。