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. XmlAutoGo

    一个基于 Selenium 3.14.0的脚本执行工具,支持自动化解决方案.Github https://github.com/freeol/XmlAutoGo Document https://xm ...

  2. FetchType.LAZY 时属性加上@JsonIgnore,避免返回时报错:Could not write JSON: failed to lazily initialize a collection of role

    [示例] @OneToMany(fetch=FetchType.LAZY) @JsonIgnore @Fetch(FetchMode.SELECT) @Cascade(value={CascadeTy ...

  3. Uuuuuunity

    foreach http://blog.csdn.net/byondocean/article/details/6871881 yield  http://www.cnblogs.com/CareyS ...

  4. PAT 1045 快速排序

    https://pintia.cn/problem-sets/994805260223102976/problems/994805278589960192 著名的快速排序算法里有一个经典的划分过程:我 ...

  5. red入门学习笔记

    删除以name开头的所有键值. 查找开头和结尾相同,中间字符不同

  6. P2574 XOR的艺术

    题目描述 AKN觉得第一题太水了,不屑于写第一题,所以他又玩起了新的游戏.在游戏中,他发现,这个游戏的伤害计算有一个规律,规律如下 1. 拥有一个伤害串为长度为n的01串. 2. 给定一个范围[l,r ...

  7. [codeforces] 17E Palisection

    原题 题目要求相交的回文串对数,这显然非常难,但是要有一种正难则反的心态,求不出来相交的,求出来不相交的不就好了! 对于每以位置i结尾的字符串,在他后面与他不相交的就是以这个位置为结尾的个数和以这个位 ...

  8. Noip2016滚粗记QAQ

    day1 t1 XBG #include<map> #include<cstdio> #include<string> #include<string.h&g ...

  9. tengine的安装

    tengine的安装参考此博文: http://www.cnblogs.com/zlslch/p/6035145.html (1)下载tengine的压缩包 (2)解压缩 (3)进入目录./confi ...

  10. VS2010 VC Project的default Include设置

    在IDE中,打开View->Other Windows->Property Manager.展开树形后,你会发现一个名为“Microsoft.Cpp.Win32.user”的项目(如下图) ...