### test命令
test命令是shell環境中測試條件表達式的實用工具。
#### 語法
test(選項)
#### 選項
~~~
-b<文件>:如果文件為一個塊特殊文件,則為真;
-c<文件>:如果文件為一個字符特殊文件,則為真;
-d<文件>:如果文件為一個目錄,則為真;
-e<文件>:如果文件存在,則為真;
-f<文件>:如果文件為一個普通文件,則為真;
-g<文件>:如果設置了文件的SGID位,則為真;
-G<文件>:如果文件存在且歸該組所有,則為真;
-k<文件>:如果設置了文件的粘著位,則為真;
-O<文件>:如果文件存在并且歸該用戶所有,則為真;
-p<文件>:如果文件為一個命名管道,則為真;
-r<文件>:如果文件可讀,則為真;
-s<文件>:如果文件的長度不為零,則為真;
-S<文件>:如果文件為一個套接字特殊文件,則為真;
-u<文件>:如果設置了文件的SUID位,則為真;
-w<文件>:如果文件可寫,則為真;
-x<文件>:如果文件可執行,則為真。
~~~
#### 實例
linux中shell編程中的test常見用法:
##### 判斷表達式
~~~
if test #表達式為真
if test ! #表達式為假
test 表達式1 –a 表達式2 #兩個表達式都為真
test 表達式1 –o 表達式2 #兩個表達式有一個為真
test 表達式1 ! 表達式2 #條件求反
~~~
##### 判斷字符串
~~~
test –n 字符串 #字符串的長度非零
test –z 字符串 #字符串的長度是否為零
test 字符串1=字符串2 #字符串是否相等,若相等返回true
test 字符串1!=字符串2 #字符串是否不等,若不等反悔false
~~~
##### 判斷整數
~~~
test 整數1 -eq 整數2 #整數相等
test 整數1 -ge 整數2 #整數1大于等于整數2
test 整數1 -gt 整數2 #整數1大于整數2
test 整數1 -le 整數2 #整數1小于等于整數2
test 整數1 -lt 整數2 #整數1小于整數2
test 整數1 -ne 整數2 #整數1不等于整數2
~~~
##### 判斷文件
~~~
test File1 –ef File2 兩個文件是否為同一個文件,可用于硬連接。主要判斷兩個文件是否指向同一個inode。
test File1 –nt File2 判斷文件1是否比文件2新
test File1 –ot File2 判斷文件1比是否文件2舊
test –b file #文件是否塊設備文件
test –c File #文件并且是字符設備文件
test –d File #文件并且是目錄
test –e File #文件是否存在 (常用)
test –f File #文件是否為正規文件 (常用)
test –g File #文件是否是設置了組id
test –G File #文件屬于的有效組ID
test –h File #文件是否是一個符號鏈接(同-L)
test –k File #文件是否設置了Sticky bit位
test –b File #文件存在并且是塊設備文件
test –L File #文件是否是一個符號鏈接(同-h)
test –o File #文件屬于有效用戶ID
test –p File #文件是一個命名管道
test –r File #文件是否可讀
test –s File #文件是否是非空白文件
test –t FD #文件描述符是在一個終端打開的
test –u File #文件存在并且設置了它的set-user-id位
test –w File #文件是否存在并可寫
test –x File #文件屬否存在并可執行
~~~
- 目錄
- Linux目錄結構
- 文件和目錄管理
- 創建文件
- touch命令
- ln命令
- 文件列表
- 查看內容
- ls命令
- ll命令
- stat 命令
- 文件查找
- updatedb命令
- locate/slocate命令
- whereis命令
- which命令
- find命令
- 文件壓縮
- tar命令
- 目錄管理
- mkdir命令
- pwd命令
- tail命令
- 監視文件
- 文件復制
- cp命令
- 壓縮解壓
- zip命令
- unzip命令
- 系統管理
- crontab命令
- crontab問題
- crontab日志
- crontab原理
- 系統計劃任務
- 用戶計劃任務
- 調用ThinkPHP控制器
- ntsysv命令
- chkconfig命令
- export命令
- 修改PATH環境變量
- ps命令
- man
- 主要方法
- pstree命令
- service命令
- kill命令
- ulimit命令
- 綜合命令
- 編譯文件
- make命令
- makefile文件
- 設備管理
- mount命令
- 用戶和工作組管理
- groupadd命令
- passwd命令
- useadd命令
- groups命令
- chage命令
- whoami命令
- 查看用戶組下所有用戶
- 軟件安裝
- rpm命令
- 系統監測
- free命令
- 硬件配置
- 系統監控
- top命令
- ps_mem
- pstree
- 文件傳輸
- web服務
- Nginx
- 文件下載
- wget命令
- 系統幫助
- whatis命令
- man命令
- shell命令
- shell變量
- sh命令
- source命令
- test命令
- 表達式
- 邏輯運算符
- date命令
- declare命令
- 軟件安裝
- yum命令
- 安裝
- 系統服務
- systemctl命令
- service
- 環境變量
- Linux 中環境變量設置
- 網絡管理
- iptables命令
- netstat命令
- 查看端口占用
- 常用端口說明
- 系統安全
- getenforce
- 磁盤空間
- df命令