Linux 命令(95)—— test 命令
1.命令简介
test 用于检查某个条件是否成立,它可以进行数值、字符串和文件三个方面的测试。本文介绍的是 GNU 版本的 test,其它版本(如 POSIX 版)的实现可能会有所不同。
2.命令格式
test
test EXPRESSION
省略表达式 EXPRESSION 默认为 false。[] 实际上是 Bash 中 test 命令的简写,即所有的 test EXPRESSION 等于 [ EXPRESSION ]。
3.选项说明
--help显示帮助信息并退出
--version显示版本信息并退出# 1.逻辑运算
! EXPRESSION逻辑非,EXPRESSION 为 false 返回 true
EXPRESSION1 -a EXPRESSION2逻辑与,两个表达式均为 true 返回 true
EXPRESSION1 -o EXPRESSION2逻辑或,两个表达式只要有一个为 true 返回 true# 2.数值间的比较
INTEGER1 -eq INTEGER2两整数是否相等
INTEGER1 -ne INTEGER2整数 INTEGER1 是否不等于 INTEGER2
INTEGER1 -gt INTEGER2整数 INTEGER1 是否大于 INTEGER2
INTEGER1 -ge INTEGER2整数 INTEGER1 是否大于等于 INTEGER2
INTEGER1 -lt INTEGER2整数 INTEGER1 是否小于 INTEGER2
INTEGER1 -le INTEGER2整数 INTEGER1 是否小于等于 INTEGER2# 3.字符串的比较
-n STRING字符串不为空返回 true
-z STRING字符串为空返回 true
STRING1 = STRING2字符串相等返回 true
STRING1 != STRING2字符串不相等返回 true# 4.文件的比较与类型判断
FILE1 -ef FILE2两个文件是否为同一个文件。主要看文件设备号与 inode 是否一致
FILE1 -nt FILE2文件 FILE1 是否比 FILE2 新(修改时间新)
FILE1 -ot FILE2文件 FILE1 是否比 FILE2 旧(修改时间旧)
-b FILE文件存在且是块(block)设备文件
-c FILE文件存在且是字符(character)设备文件
-d FILE文件存在且是目录(directory)
-e FILE文件存在(exist)返回 true
-f FILE文件存在且是普通文件
-g FILE文件存在且设置了 SGID
-G FILE文件存在且属于有效组ID
-h FILE文件存在且是软链接。同 -L
-k FILE文件存在且设置了粘着位(Sticky Bit)
-L FILE文件存在且是软链接。同 -h
-O FILE文件存在且属于有效用户ID
-p FILE文件存在且属于命名管道
-r FILE文件存在且可读
-s FILE文件存在且内容不为空
-S FILE文件存在且是一个套接字(socket)
-t FD文件描述符是在一个终端打开的
-u FILE文件存在且设置了 SUID 位
-w FILE文件存在且且可写
-x FILE文件存在且可执行
注意:
(1)test 拥有选项 --help 与 --version,但无法使用。test 将这两个选项当做非空的普通字符串进行处理,并返回 true;
(2)文件的比较与类型判断,除了 -h 与 -L,其它所有的选项都对软链接进行解引用。
4.常用示例
(1)判断数值是否相等。
test 0 -eq 0; echo $?
0
test 退出状态码等于 0 表示条件成立。
(2)判断文件是否存在。
test -e /etc/passwd; echo $?
0
test 退出状态码等于 0 表示文件存在。
(3)判断文件是否是同一个文件。
test /etc/passwd -ef /etc/shadow; echo $?
1
test 退出状态码等于 1 表示不是同一个文件。
参考文献
[1] test manual
Linux 命令(95)—— test 命令相关推荐
- 【Linux】一步一步学Linux——who命令(95)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 who命令用来打印当前登录用户信息,包含了系统的启动时间 ...
- linux取消上一个命令,Linux简介及最常用命令(简单易学,但能解决95%以上的问题)...
Linux是目前应用最广泛的服务器操作系统,基于Unix,开源免费,由于系统的稳定性和安全性,市场占有率很高,几乎成为程序代码运行的最佳系统环境.linux不仅可以长时间的运行我们编写的程序代码,还可 ...
- Linux系统状态查看命令2
2019独角兽企业重金招聘Python工程师标准>>> 10月24日任务 10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 li ...
- linux怎么知道ping命令,教程方法;通过ping命令查看服务器类型(linux还是windows系列)电脑技巧-琪琪词资源网...
琪琪词资源网-教程方法;通过ping命令查看服务器类型(linux还是windows系列)电脑技巧,以下是给大家带来的教程方法;通过ping命令查看服务器类型(linux还是windows系列),大家 ...
- linux公司常用基础命令必知必会一
基础命令分为六部分来介绍,都是一些公司里常用的命令做了下汇总: ◆ 安装和登录命令: login.shutdown.halt.reboot.install.mount.umount.chsh.exit ...
- linux 强制结束p进程的命令,Linux常用命令之性能命令
本文介绍Linux常用性能统计分析命令,监控进程或者系统性能.主要包括CPU(top.mpstat).内存(vmstat.free).I/O(iostat).网络性能(sar).系统日志信息(dems ...
- Linux 后台开发常用命令目录(更新 ing)
文章目录 前言 帮助命令 进程与作业管理 文本查看 文本编辑 编程相关 系统管理 文件传输 网络管理 文件与目录管理 磁盘管理 权限管理 用户与组管理 备份压缩 代码版本控制 性能检测 实用工具 前言 ...
- 【Linux】如何查找命令及历史记录history
如何查找命令及历史记录 文章目录 如何查找命令及历史记录 1.如何找到一个命令 2.命令的历史记录 3.一些实用的快捷键 4.小结 5.参考资料 如何找到一个命令.命令的历史记录.一些实用的快捷键.总 ...
- Linux命令之top命令查看服务器CPU与内存占用
在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况.top命令可以实时动态地查看系统的整体运行情况. [1]top命令 语法格式: top(选项) 选项如下: -b:以批处 ...
- Linux系统使用ss命令查看端口状态
Linux系统使用ss命令查看端口状态 Linux系统使用ss命令查看端口状态 目录 1.可用工具 2.ss帮助 2.1 选项分类说明 2.2 过滤选项family 2.3 过滤选项state 2.4 ...
最新文章
- matlab二值化图像_小白啃骨头之图像识别
- Nature回应南大花120万发特刊!被骂上热搜,南大到底委不委屈?
- UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb0 in position 0: invalid start byte
- 【今晚9点】:对话刘连响——web流媒体开发新变化
- trace与代码跟踪服务
- 浅聊在美找工作以及工作之后的感受
- 诺基亚手机的安全保护。--如何使你的手机丢失,被盗后依然安全。
- Linux系统安全概述-sudo授权-pam认证机制-对称加密-非对称加密-md5-数字证书
- HoloLens 2开发:三种工程部署方式
- 利用k-means算法实现图像自动色彩量化
- mysql 3.23.49,将旧的3.23.49 MySQL数据库转移到5.0.51 MySQL数据库 – 用ANSI和UTF-8编码...
- ThinkPHP 3.1.2 模板中的变量
- FlightGear
- LSTM神经网络图解
- 汉字笔画动图怎么做_隶书基本笔画教程(动态图)
- lldp协议代码阅读_查看链路层发现协议(LLDP)关于交换机的端口状态信息
- Linux下PDF转图片格式
- 如何辨别中标麒麟和银河麒麟
- 锐捷睿易:acl的制定和应用
- HTML + CSS3 基础入门与进阶
热门文章
- 倾斜摄影实景三维建模效果不好?可能有这些原因!
- Android_getevent工具的使用
- OPENCV用户手册之图像处理部分(之四):滤波器与色彩转换(中文翻译)
- 四种有能力取代Cookies的客户端Web存储方案
- C++ 无限for循环的bug
- iOS 播放Gif动画
- mac下安装node.js步骤
- 白话算法(1) for循环不是随便写的
- L3-019 代码排版 (30 分)-PAT 团体程序设计天梯赛 GPLT
- [Python] L1-045 宇宙无敌大招呼-PAT团体程序设计天梯赛GPLT