test命令在bash shell脚本中经常以中括号([])的形式出现,而且在脚本中使用字母来表示比符号表示更专业,出错率更低。

测试标志 代表意义
文件名、文件类型
-e 该文件名是否存在
-f 该文件名是否存在且为file
-d 该文件名是否存在且为目录
-b 该文件名是否存在且为一个block
-c 该文件名是否存在且为一个character device设备
-S 该文件名是否存在且为一个socket文件
-p 该文件名是否存在且为一个FIFO(pipe)文件
-L 该文件名是否存在且为一个连接文件
文件权限检测
-r 检测文件名是否存在且具有“可读”权限
-w 检测文件名是否存在且具有“可写”权限
-x 检测文件名是否存在且具有“可执行”权限
-u 检测文件名是否存在且具有“SUID”权限
-g 检测文件名是否存在且具有“SGID”权限
-k 检测文件名是否存在且具有“Sticky bit”权限
-s 检测文件名是否存在且为“非空白文件”
两个文件的比较
-nt (newer than)判断file1是否比file2新
-ot (older than)判断file是否比file2旧
-ef 判断file1与file2是否为同一个文件,可用在判断hard link上
数字之间的判定
-eq equal
-ne not equal
-gt greater than
-lt less than
-ge greater than or equal
-le less than or equal
判断字符串的数据
test -z string 判断字符串是否为0,若为空返回true
test -n string 判断字符串是否为0,若为空返回false
test str1 = str2 判断str1是否等于str2,若相等,返回true
test str1 != str2 判断str1是否等于str2,若相等,返回false
多重条件的判断
-a 两个条件同时成立,eg:test -r file a test -x file,同时成立返回true
-o 任何一个条件成立,eg:test -r file o test -x file,同时成立返回true
反向状态,如test!-x file,当file不具有x时,返回true

【 总结 】linux中test命令详解的更多相关文章

  1. 【转】linux中ifconfig 命令详解详解

    1 概述 ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置.用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在.要想将上述的配置信息永远的存的电 ...

  2. linux中awk命令详解(最全面秒懂)

    一:linux中awk命令 1.awk命令简介 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具. 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinber ...

  3. Linux中rm命令详解

    linux下rm命令使用详解---linux删除文件或目录命令 用户可以用rm命令删除不需要的文件.该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除 ...

  4. linux中top命令详解

    linux的top命令里的cpu信息是什么意思呢? Cpu(s): 62.1% us, 15.9% sy,0.1% ni, 19.4% id,2.0% wa,0.1% hi,0.4% si Mem:  ...

  5. linux中echo命令详解

    linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法 echo命令的功能是在显示器上显示一段文字,一般起到一个提示 ...

  6. linux中ls命令详解 (转)

    -a -- 全部(all).列举目录中的全部文件,包括隐藏文件(.filename).位于这个列表的起首处的 .. 和 . 依次是指父目录和你的当前目录.      -l -- 长(long).列举目 ...

  7. Linux中ls命令详解

    ls命令是linux下最常用的命令之一,ls跟dos下的dir命令是一样的都是用来列出目录下的文件,下面我们就来一起看看ls的用法 英文全名:List即列表的意思,当我们学习某种东西的时候要做到知其所 ...

  8. linux中dd命令详解

    本文转自:https://www.cnblogs.com/yuanqiangfei/p/9138625.html 一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. ...

  9. Linux中 tr 命令详解

    tr - translate or delete characters 主要用于转换和删除字符 带有最常用选项的t r命令格式为:tr -c -d -s [ "string1_to_tran ...

随机推荐

  1. 学习shell script

    摘要:概述.script的编写.test命令.[]判断符号.默认变量($1...).if...then条件判断式. 一.概述 [什么是shell script] 针对shell所写的脚本,将多个命令汇 ...

  2. JAVA_四大代码块_普通代码块、构造代码块、静态代码块、同步代码块。

    普通代码块 在方法或语句中出现的{}里面的内容就被称为普通代码块,普通代码块和一般的语句执行顺序一样,由他们在代码中出现的次序决定,即--"先出现先执行". 但是不同的普通代码块即 ...

  3. R6的压力测试

    VersionCode:{102} VersionName:{1.0.2}

  4. java课程设计——2048

    1.团队介绍 2.项目git地址 [https://gitee.com/SMTwula/java036.git] 3.项目git提交记录截图 沈梦婷 田亚琴 4.项目功能架构图与主要功能流程图 5.项 ...

  5. 如何在自家厨房里制作LSD

    如何在自家厨房里制作LSD -------------------------------------------------------------------------------- D-麦角酸 ...

  6. 【题解】WC2008游览计划

    写的第一道斯坦纳树的题目.斯坦纳树在信息学中的应用一般为:在\(n\)个点之间给定\(k\)条边并相应的边权,求在保证给定\(m\)个点联通的条件下的最小边权和.解决此类问题的方法即为SPFA + 状 ...

  7. [NOIP2018 TG D2T1]旅行

    题目大意:$NOIP\;TG\;D2T1$ 题解:一棵树的很简单,第一个点一定是$1$,只需要对每个节点,找最小的没有访问过的节点访问即可,我写的是$O(n\log_2n)$. 考虑基环树的部分,一个 ...

  8. [LeetCode] decode ways 解码方式

    A message containing letters fromA-Zis being encoded to numbers using the following mapping: 'A' -&g ...

  9. [Leetcode] distinct subsequences 不同子序列

    Given a string S and a string T, count the number of distinct subsequences of T in S. A subsequence ...

  10. 【BZOJ】2453: 维护队列【BZOJ】2120: 数颜色 二分+分块(暴力能A)

    先说正解:把所有相同的数相成一个链在每一个区间里的种数就是不同链的链头,那么记录每个数的上个相同数所在位置,那么只要找出l到r之间前驱值在l之前的数的个数就可以了 本人打的暴力,有一个小技巧,用cha ...