`

<转>linux test命令详解

阅读更多
原链接: http://hi.baidu.com/w2341078/item/663016b92dd26c77244b0979

1. 关于某个文件名的『类型』侦测(存在与否),如 test -e filename 
-e 该『文件名』是否存在?(常用) 
-f 该『文件名』是否为文件(file)?(常用) 
-d 该『文件名』是否为目录(directory)?(常用) 
-b 该『文件名』是否为一个 block device 装置? 
-c 该『文件名』是否为一个 character device 装置? 
-S 该『文件名』是否为一个 Socket 文件? 
-p 该『文件名』是否为一个 FIFO (pipe) 文件? 
-L 该『文件名』是否为一个连结档?
2. 关于文件的权限侦测,如 test -r filename 
-r 侦测该文件名是否具有『可读』的属性? 
-w 侦测该文件名是否具有『可写』的属性? 
-x 侦测该文件名是否具有『可执行』的属性? 
-u 侦测该文件名是否具有『SUID』的属性? 
-g 侦测该文件名是否具有『SGID』的属性? 
-k 侦测该文件名是否具有『Sticky bit』的属性? 
-s 侦测该文件名是否为『非空白文件』?
3. 两个文件之间的比较,如: test file1 -nt file2 
-nt (newer than)判断 file1 是否比 file2 新 
-ot (older than)判断 file1 是否比 file2 旧 
-ef 判断 file2 与 file2 是否为同一文件,可用在判断 hard link 的判定上。 主要意义在判定,两个文件是否均指向同一个 inode 哩!
4. 关于两个整数之间的判定,例如 test n1 -eq n2 
-eq 两数值相等 (equal) 
-ne 两数值不等 (not equal) 
-gt n1 大于 n2 (greater than) 
-lt n1 小于 n2 (less than) 
-ge n1 大于等于 n2 (greater than or equal) 
-le n1 小于等于 n2 (less than or equal)
5. 判定字符串的数据 
test -z string 判定字符串是否为 0 ?若 string 为空字符串,则为 true 
test -n string 判定字符串是否非为 0 ?若 string 为空字符串,则为 false。
注: -n 亦可省略 
test str1 = str2 判定 str1 是否等于 str2 ,若相等,则回传 true 
test str1 != str2 判定 str1 是否不等于 str2 ,若相等,则回传 false
6. 多重条件判定,例如: test -r filename -a -x filename 
-a (and)两状况同时成立!例如 test -r file -a -x file,则 file 同时具有 r 与 x 权限时,才回传 true。 
-o (or)两状况任何一个成立!例如 test -r file -o -x file,则 file 具有 r 或 x 权限时,就可回传 true。 
! 反相状态,如 test ! -x file ,当 file 不具有 x 时,回传 true
分享到:
评论

相关推荐

    linux下的test命令详解

    每一种条件语句的基础都是判断什么是真什么是假。是否了解其工作原理将决定您编写的是质量一般的脚本还是您将引以为荣的脚本。 Shell 脚本的能力时常被低估,但实际上其能力的发挥受制于脚本撰写者的能力。...

    Linux mkdir命令用法详解

    Linux mkdir命令 Linux mkdir命令用于建立名称为 dirName 之子目录。 语法 mkdir [-p] dirName 参数说明: -p 确保目录名称存在,不存在的就建一个。 实例 在工作目录下,建立一个名为 AAA 的子目录 : mkdir AAA 在...

    Linux expr命令用法详解

    Linux expr命令 expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。 语法 expr 表达式 表达式说明: 用空格隔开每个项; 用 / (反斜杠) 放在 shell 特定的...

    Linux awk 命令用法详解

    Linux awk 命令 AWK是一种处理文本文件的语言,是一个强大的文本分析工具。 之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。 语法 awk [选项参数]...

    speedtest-go:CLI和Go API使用speedtest.net测试Internet速度

    速度测试 命令行界面和纯Go API使用测试Internet速度您可以比快2倍地进行速度测试,结果几乎相同。...usage: speedtest-go [ &lt; flags&gt; ] Flags: --help Show context-sensitive help (also try --he

    Linux grep 命令用法详解

    Linux grep 命令 Linux grep 命令用于查找文件里符合条件的字符串。 grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来...

    Linux 下rpm命令参数详解

    一、安装 命令格式: rpm -i ( or –install) options file1.rpm … fileN.rpm 参数: file1.rpm … fileN.rpm 将要安装的RPM包的文件名 详细选项: -h (or –hash) 安装时输出hash记号 (“#”...

    Linux下svn命令详解

    本文主要是说明linux下svn命令的使用方法,同时记录自己在使用中遇到的一些疑惑。  1、Linux命令行下将文件checkout到本地目录  svn checkout url(url是服务器上的目录)  例如:svn checkout svn://192.168....

    Linux fbset命令用法详解

    Linux fbset命令 Linux fbset命令用于设置景框缓冲区。 fbset指令可用于设置景框缓冲区的大小,还能调整画面之分辨率,位置,高低宽窄,色彩 深度,并可决定是否启动先卡之各项硬件特性。 语法fbset [-ahinsvVx][-db...

    Linux链接命令的实例详解

    Linux链接命令的实例详解 一 语法 ln -s [源文件] [目标文件] 命令英文含义:link 功能描述:生成链接文件 选项:-s 创建软链接 二 硬链接特征 原文件和硬链接文件删除其中任何一个都没问题。 三 硬链接实战 ...

    Linux mmove命令用法详解

    Linux mmove命令 Linux mmove命令用于在MS-DOS文件系统中,移动文件或目录,或更改名称。 mmove为mtools工具命令,模拟MS-DOS的move命令,可在MS-DOS文件系统中移动现有的文件或目录,或是更改现有文件或目录的名称...

    linux修改目录和文件权限的简单命令解释

    目录的权限表示:dwrxr–r– 其中第一个字符 d代表目录, -代表字符 w代表可写,r代表可读... 您可能感兴趣的文章:Linux中改变文件权限的chmod命令详析修改linux文件权限命令:chmod命令详解Linux 下目录文件权限(命

    lftpget命令 下载指定的文件

    lftp是linux中一款ftp服务器,相比windows中的ftp显得要复杂不少了,下面我来总结一下lftp文件上传,文件下载,及文件查找等等相关命令吧。 语法格式: lftpget [参数] [文件] 常用参数: -c 继续先前的下载 -...

    详解linux中的strings命令简介

    在Linux下搞软件开发的朋友, 几乎没有不知道strings命令的。我们先用man strings来看看: strings - print the strings of printable characters in files.  意思是, 打印文件中可打印的字符。 我来补充一下吧...

    《嵌入式Linux应用程序开发标准教程》(第2版)-第2章、Linux基础命令

    第2章 Linux基础命令   2.1 Linux常用命令   2.1.1 用户系统相关命令   2.1.2 文件相关命令   2.1.3 压缩打包相关命令   2.1.4 文件比较合并相关命令   2.1.5 网络相关命令   2.2 Linux启动...

    Linux spell命令用法详解

    Linux spell命令 Linux spell命令可建立拼写检查程序。 spell可从标准输入设备读取字符串,结束后显示拼错的词汇。 语法spell 实例 检查文件testfile是否有拼写错误,在命令行提示符下输入如下命令: spell test...

    Linux SVN 命令详解

     例如:svn addtest.php(添加test.php)  svn add*.php(添加当前目录下所有的php文件) 3、将改动的文件提交到版本库  svn commit-m LogMessage[-N][–no-unlock]PATH(如果选择了保持锁,使用–no-unl

    Linux paste命令用法详解

    Linux paste命令 Linux paste 命令用于合并文件的列。 paste 指令会把每个文件以列对列的方式,一列列地...使用paste指令将文件”file”、”testfile”、”testfile1″进行合并,输入如下命令: paste file testfil

    Linux uuto命令用法详解

    Linux uuto命令 Linux uuto命令将文件传送到远端的UUCP主机。 uuto为script文件,它实际上会执行uucp,用来将文件传送到远端UUCP主机,并在完成工作后,以邮件通知远端主机上的用户。 语法uuto [文件][目的] 参数: ...

    Linux命令搜索工具linux-command.zip

    Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。   Linux命令分类 这里存放Linux 命令大全并不全,你可以通过linux-command来搜索,它是把 command 目录里面搜集的...

Global site tag (gtag.js) - Google Analytics