按照文件类型进行判断

'-b 文件'
判断该文件是否存在,并且是否为块设备文件(是块设备文件为真)
'-c 文件'
判断该文件是否存在,并且是否为字符设备文件(是字符设备文件为真)
'-d 文件'
判断该文件是否存在,并且是否为目录文件(是目录文件为真)
'-e 文件'
判断该文件是否存在(存在为真)
'-f 文件'
判断该文件是否存在,并且是否为普通文件(是普通文件为真)
'-L 文件'
判断该文件是否存在,并且是否为符号链接文件(是符号链接文件为真)
'-p 文件'
判断该文件是否存在,并且是否为管道文件(是管道文件为真)
'-s 文件'
判断该文件是否存在,并且是否为非空(非空为真)
'-S 文件'
判断该文件是否存在,并且是否为套接字文件(是套接字文件为真)

判断格式

*)test -e /root/install.log
*) [ -e /root/install.log ]

实例:
[ -d /root ] && echo "yes" || echo "no"
第一个判断命令如果正确执行,则打印yes,否则打印no

按照文件权限进行判断

'-r 文件'
判断该文件是否存在,并且是否该文件拥有读权限(有读权限为真)
'-w文件'
判断该文件是否存在,并且是否该文件拥有写权限(有写权限为真)
'-x 文件'
判断该文件是否存在,并且是否该文件拥有执行权限(有执行权限为真)

'-u 文件'
判断该文件是否存在,并且该文件拥有SUID权限(有SUID权限为真)
'-g文件'
判断该文件是否存在,并且是否该文件拥有SGID权限(有SGID权限为真)
'-k 文件'
判断该文件是否存在,并且是否该文件拥有SBit权限(有SBit权限为真)
[ -w /root/intall.log] && echo "yes" || echo "no"
只要有写权限即可,并不会判断是所有者或是所属组是否有权限

两个文件比较

'文件1 -nt 文件2'
判断文件1的修改时间是否比文件2的新(如果新则为真)
'文件1 -ot 文件2'
判断文件1的修改时间是否比文件2的旧(如果旧则为真)
'文件1 -ef 文件2'
判断文件1是否和文件2的Inode号一致,可以理解为两个文件是否为同一个文件。
这个判断用于判断硬链接是很好的方法
ln /root/student.txt /tmp/stu.txt
创建一个硬链接

[/root/student.txt -ef /tmp/stu.txt] && echo "yes" || echo "no"
yes
用test测试下,果然很有用

shell 文件条件判断的更多相关文章

  1. shell中条件判断if中的-z到-d的意思

    shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 ...

  2. Linux shell if条件判断2

    前面介绍linux shell的if判断的语法,现在再补充一点. Linux shell if条件判断1 分支判断结构     if , case   下面两个结构语法,已经在前面有过示例. 结构1: ...

  3. shell中条件判断if中的-z到-d

    shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真.[ -c FILE ] 如果 ...

  4. 我们一起来学Shell - shell的条件判断

    文章目录 Shell 条件测试语法 符号说明 Shell 测试表达式 文件测试表达式 字符串测试表达式 整数操作符 逻辑操作符 测试表达式的区别总结 Shell 条件判断之if语句 单分支 IF 条件 ...

  5. shell中条件判断语法与判断条件小结

    1. IF条件判断语法: if Athen   dosthelif B   dosthelse   dosthfi 2. 判断条件:   2.1 字符串判断   str1 = str2 当两个串有相同 ...

  6. Shell IF条件判断解析

    IF条件判断 1.基本语法: if [ command ]; then #符合该条件执行的语句 fi2.扩展语法: if [ command ];then #符合该条件执行的语句 elif [ com ...

  7. shell脚本条件判断if中-a到-z的意思

    [ -a FILE ]  如果 FILE 存在则为真.  [ -b FILE ]  如果 FILE 存在且是一个块特殊文件则为真.  [ -c FILE ]  如果 FILE 存在且是一个字特殊文件则 ...

  8. 【shell】条件判断式

    条件判断式的表示格式: 文件判断式: [root@andon ~]# [ -e /root/1 ] && echo yes || echo no #注意[]里面的空格,第一个命令为真打 ...

  9. 第十三章、学习 Shell Scripts 条件判断式

    利用 if .... then 单层.简单条件判断式 if [ 条件判断式 ]; then 当条件判断式成立时,可以进行的命令工作内容: fi <==将 if 反过来写,就成为 fi !结束 i ...

随机推荐

  1. web自动化测试与Appuim自动化测试对比

    web自动化测试-打开浏览器: from selenium import webdriver driver = webdriver.Chrome() #定义chrome驱动 driver.maximi ...

  2. Could not open ServletContext resource [/WEB-INF/xxx-servlet.xml]

    Could not open ServletContext resource [/WEB-INF/xxx-servlet.xml] 造成这个问题的原因很多,网上的解决思路也很多,比如以下的: http ...

  3. JS添加/移除事件

    事件的传播方式 <div id="father"> <div id="son"></div> </div> &l ...

  4. 最全的SpringCloud视频教程

    史上最全的SpringCloud视频教程 转自:https://blog.csdn.net/itmayeidu/article/details/79426589 史上最全的SpringCloud视频教 ...

  5. JavaScript学习第一天(一)

    JavaScript介绍 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本 ...

  6. m_Orchestrate learning system---三十六、如何修改插件的样式(比如ueditor)

    m_Orchestrate learning system---三十六.如何修改插件的样式(比如ueditor) 一.总结 一句话总结:所有的js,html插件,修改样式无非是两种,一是直接修改css ...

  7. WCF开发框架形成之旅--个人图片信息的上传保存

    WCF开发框架形成之旅--个人图片信息的上传保存 http://www.cnblogs.com/wuhuacong/archive/2011/12/23/2299614.html 一般在业务系统里面, ...

  8. You Don't Know JS: Scope & Closures (第2章: Lexical Scope)

    2种主要的models for how scope work. 最普遍的是Lexical Scope. 另一种 Dynamic Scope.(在Appendix a中介绍.和Lexical Scope ...

  9. p1460 Healthy Holsteins

    列举所有的子集找最优就行. #include <iostream> #include <cstdio> #include <cmath> #include < ...

  10. android -------- 解决NDK开发中的 Method 'NewStringUTF' could not be resolved

    创建NDK项目时, .cpp文件中出现错误, Method 'NewStringUTF' could not be resolved 如图: 网上看了很多解决方式 项目右键->属性->c/ ...