• (十)条件判断


    3、 条件判断

    1:按照文件类型进行判断

    -b 文件  判断该文件是否存在,并且是否为块设备文件(是块设备文件为真)

    -c 文件  判断该文件是否存在,并且是否为字符设备文件(是字符设备文件为真)

    -d 文件  判断该文件是否存在,并且是否为目录文件(是目录为真)

    -e 文件  判断该文件是否存在(存在为真)

    -f 文件  判断该文件是否存在,并且是否为普通文件(是普通文件为真)

    -L 文件  判断该文件是否存在,并且是否为符号链接文件(是符号链接文件为真)

    -p 文件  判断该文件是否存在,并且是否为管道文件(是管道文件为真)

    -s 文件  判断该文件是否存在,并且是否为非空(非空为真)

    -S 文件  判断该文件是否存在,并且是否为套接字文件(是套接字文件为真)

     

    2: 按照文件权限进行判断

    -r 文件  判断该文件是否存在,并且是否该文件拥有读权限(有读权限为真)

    -w 文件  判断该文件是否存在,并且是否该文件拥有写权限(有写权限为真)

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

    -u 文件  判断该文件是否存在,并且是否该文件拥有 SUID 权限(有 SUID 权限为真)

    -g 文件  判断该文件是否存在,并且是否该文件拥有 SGID 权限(有 SGID 权限为真)

    -k 文件  判断该文件是否存在,并且是否该文件拥有 SBit 权限(有 SBit 权限为真)

     

    特殊权限特殊权限 SUID、SGID、Sticky

    (1)为什么要使用特殊权限?

    特殊权限可以扩展系统基础权限的功能,使得linux权限更加强大灵活.

     

    (1) 进程和文件权限的关系

    进程有属主和属组;文件有属主和属组;

    (1)  任何一个可执行程序文件能不能启动为进程:取决于发起者对程序文件是否拥有执行权限。

    (2) 启动为进程之后,其进程的属主为发起者;进程的属组为发起者所属的组。

    (3) 进程访问文件时的权限,取决于进程的发起者。

    (a) 进程的发起者,同文件的属主:则应用文件属主权限。

    (b) 进程的发起者,属于文件的属组;则应用文件属组权限。

    (c) 应用文件“其它”权限。

     

     

    3:文件的比较

    文件 1 -nt 文件 2 判断文件 1 的修改时间是否比文件 2 的新(如果新则为真)

    文件 1 -ot 文件 2 判断文件 1 的修改时间是否比文件 2 的旧(如果旧则为真)

    文件 1 -ef 文件 2

    判断文件 1 是否和文件 2 的 Inode 号一致,可以理解为两个文件是否为同一个文件。这个判断用于判断硬链接是很好的方法

     

    4:两个整数之间比较

    整数 1  -eq 整数 2 判断整数 1 是否和整数 2 相等(相等为真)

    整数 1  -ne 整数 2 判断整数 1 是否和整数 2 不相等(不相等位置)

    整数 1  -gt 整数 2 判断整数 1 是否大于整数 2(大于为真)

    整数 1  -lt 整数 2 判断整数 1 是否小于整数 2(小于位置)

    整数 1  -ge 整数 2 判断整数 1 是否大于等于整数 2(大于等于为真)

    整数 1  -le 整数 2 判断整数 1 是否小于等于整数 2(小于等于为真)

     

    5: 字符串的判断

    -z字符串       判断字符串是否为空(为空返回真)

    -n字符串       判断字符串是否为非空(非空返回真)

    字串 1==字2    判断字符串 1 是否和字符串 2 相等(相等返回真)

    字串 1!=字串2  判断字符串 1 是否和字符串 2 不相等(不相等返回真

     

    6:多重条件判断

    判断 1 -a 判断 2  逻辑与,判断 1 和判断 2 都成立,最终的结果才为真

    判断 1 -o 判断 2  逻辑或,判断 1 和判断 2 有一个成立,最终的结果就为真

    !判断  逻辑非,使原始的判断式取反.

  • 相关阅读:
    mysql外键(FOREIGNKEY)使用介绍
    MYSQL数据库-约束
    mysql探究之null与not null
    爬虫
    http://blog.csdn.net/w_e_i_/article/details/70766035
    Python 3.5安装 pymysql 模块
    Python 3.5 连接Mysql数据库(pymysql 方式)
    hdu Bone Collector
    hdu City Game
    hdu Largest Rectangle in a Histogram
  • 原文地址:https://www.cnblogs.com/love-life-insist/p/11668818.html
Copyright © 2020-2023  润新知