`

<转>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
分享到:
评论

相关推荐

    svn linux下命令详解

    svn linux下命令详解 svn 是 Subversion 的缩写,是一个开源的版本控制系统。它可以帮助开发者更好地管理代码的修改、更新和协作。svn 命令是使用svn系统的核心命令,下面将详细介绍 svn 命令在 linux 平台下的使用...

    linux grep命令详解

    ### Linux 下 `grep` 命令详解 `grep` 是 Linux 下一款强大的文本搜索工具,可以在文件中搜索固定字符串或者使用正则表达式搜索,是日常开发、运维工作中非常实用的一个命令。本文将详细介绍 `grep` 的常用选项及其...

    rar_linux命令详解

    ### rar_linux命令详解 在Linux系统中,`rar`命令是一个功能强大的压缩工具,用于创建、管理和解压RAR格式的压缩文件。以下是对`rar_linux`命令及其各种选项的详细解析,帮助用户深入理解并掌握其用法。 #### 命令...

    linux下svn的使用

    **命令**: `svn merge -r &lt;m&gt;:&lt;n&gt; &lt;path&gt;` - **功能**: 将两个版本之间的差异合并到当前文件。 - **参数**: - `&lt;m&gt;` 和 `&lt;n&gt;`: 版本号。 - `&lt;path&gt;`: 需要合并差异的文件路径。 - **示例**: `svn merge -r 200:...

    linux 下查找文件或者内容常有命令

    ### Linux 下查找文件或内容常用命令详解 #### 一、`whereis` 命令 `whereis` 命令主要用于查找已安装的软件的相关文件位置,如可执行文件、帮助文件以及源代码等。 **基本用法:** ```bash whereis &lt;程序名称&gt; ``...

    关于consul的单机部署与集群

    &lt;module&gt;consul-test-server1&lt;/module&gt; &lt;module&gt;consul-test-client&lt;/module&gt; &lt;module&gt;consul-test-zuul&lt;/module&gt; &lt;/modules&gt; &lt;parent&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-...

    svn 命令详解

    ### SVN 命令详解 #### 一、将文件checkout到本地目录 - **命令格式**:`svn checkout &lt;path&gt; (path是服务器上的目录)` - **示例**:`svn checkout svn://192.168.1.1/pro/domain` - **简写**:`svn co` **解释*...

    Linux基本命令的使用

    ### Linux基本命令使用详解 #### 一、实验背景与目的 本实验旨在通过一系列实际操作加深学生对于Linux操作系统中常用命令的理解与应用能力。实验覆盖了时间与日期管理、用户与组管理、文件与目录操作等多个方面,...

    Linux Shell 命令详解.doc

    ### Linux Shell 命令详解 #### 变量与引用 在Linux Shell中,变量的引用和设置至关重要。使用`${变量名}`来引用变量的值,值得注意的是,在声明或赋值时无需使用`$`作为前缀。例如,你可以设置本地变量通过`变量...

    symantec nbu 命令手册

    #### 三、关键命令详解 ##### 1. `bpstart` - **功能**:启动 NetBackup 服务器、客户端或媒体服务器组件。 - **语法**:`bpstart [-server &lt;servername&gt;] [-type &lt;component&gt;]` - **参数**: - `-server ...

    linux之centos7打包与压缩命令详解

    ### Linux之CentOS 7 打包与压缩命令详解 #### 一、概述 在Linux环境中,文件管理和数据处理是一项非常重要的技能。特别是在系统管理、软件开发等领域,掌握高效的文件打包与压缩技巧对于提高工作效率至关重要。...

    Linux之find命令详解

    ### Linux之find命令详解 #### 一、find命令概述 `find`命令是Linux系统中最常用的文件搜索工具之一,能够帮助用户根据不同的条件查找文件或目录。这些条件包括但不限于文件名、类型、大小、权限、拥有者等。通过...

    Linux精品学习资料2

    - **示例**: `[root@liulinuxhome]# groupmod -n linuxtest1 linuxtest`,将`linuxtest`组名更改为`linuxtest1`。 7. **groupdel** - **功能**: 删除用户组。 - **语法**: `groupdel 组名` 以上介绍了用户管理...

    Linux常用命令

    ### Linux常用命令详解 在日常工作中,掌握一系列基础且实用的Linux命令对于系统管理员、开发者以及其他与Linux系统打交道的专业人士来说至关重要。以下是一些常用的Linux命令及其应用示例,旨在帮助用户更好地理解...

    自用maven-3.8.4,内含maven配置环境变量保姆级教程.doc

    ** Maven详解及环境变量配置指南 ** Maven是Java开发中的一个项目管理和综合工具,它极大地简化了构建、依赖管理以及项目的生命周期。本教程将详细讲解如何安装与配置Maven 3.8.4,包括环境变量的设置,旨在帮助...

    maven第三方仓库配置

    &lt;scope&gt;test&lt;/scope&gt; &lt;/dependency&gt; &lt;/dependencies&gt; &lt;/project&gt; ``` 其中,`&lt;groupId&gt;`、`&lt;artifactId&gt;`和`&lt;version&gt;`是Maven用来唯一标识一个项目的三个坐标。例如,上述配置文件中的坐标为`...

    hadoop-2.7.2-bin-x64

    《Hadoop 2.7.2在Windows平台的开发环境搭建与使用详解》 Hadoop是Apache软件基金会的一个开源框架,主要用于处理和存储大规模数据。Hadoop 2.7.2是其一个重要的版本,提供了许多性能优化和新特性。在Windows平台上...

    flash乱码解决方法

    &lt;/test&gt; &lt;test qual="all" name="family" compare="not_eq"&gt; &lt;string&gt;serif&lt;/string&gt; &lt;/test&gt; &lt;test qual="all" name="family" compare="not_eq"&gt; &lt;string&gt;monospace&lt;/string&gt; &lt;/test&gt; &lt;edit name="family" ...

Global site tag (gtag.js) - Google Analytics