Linux系統中test命令

2021-10-03 08:46:23 字數 1769 閱讀 9154

通過help test命令來看一下test命令可以做哪些操作並簡單翻譯一下什麼作用

檔案運算子:

-a如果檔案存在,則為true。

-b如果檔案是特殊塊,則為true。

-c如果檔案是特殊字元,則為真。

-d如果檔案是目錄,則為true。

-e如果檔案存在,則為true。

-f如果檔案存在並且是常規檔案,則為true。

-g如果檔案是set-group-id,則為true。

-h如果檔案是符號鏈結,則為true。

-l如果檔案是符號鏈結,則為true。

-k如果檔案設定了「sticky」位,則為true。

-p如果檔案是命名管道,則為true。

-r如果檔案是可讀的,則為true。

-s如果檔案存在且不為空,則為true。

-s如果檔案是套接字,則為true。

-t如果終端上的fd開啟,則為真。

-u如果檔案為set-user-id,則為true。

-w如果檔案可由您寫入,則為true。

-x如果檔案可由您執行,則為true。

-o如果該檔案實際上歸您所有,則為真。

-g如果該檔案實際上歸您的組所有,則為真。

-n如果檔案自上次讀取後已被修改,則為true。

file1 -nt file2如果file1比file2新,則為true(根據修改日期)。

file1 -ot file2如果file1早於file2,則為true。

file1 -ef file2 如果file1是到file2的硬鏈結,則為true。

除了-h和-l之外的所有檔案運算子都作用於符號的目標

如果檔案是符號鏈結,則不在符號鏈結本身上。

舉例操作:file1指令碼內容:

執行file1指令碼得到的結果

字串運算子:

-z如果字串為空,則為true。

-n字串如果字串不為空,則為true。

字串1=字串2如果字串相等,則為true。

字串1!=字串2如果字串不相等,則為true。

字串1《字串2如果字串1在字串2之前按字典順序排序,則為true。

字串1>字串2如果字串1在字串2之後按字典順序排序,則為true。

其他運營商:

-o option如果啟用了shell選項,則選項為true。

-v var如果設定了shell變數var,則為true。

-r var如果shell變數var已設定且是名稱,則為true

arg1操作arg2算術測試。op是-eq,-ne,-lt、-le、-gt或-ge。如果

arg1等於或不等於,小於、小於或等於、大於或大於或等於大於arg2。

舉例:f2指令碼內容:

執行指令碼結果:

linux中test命令詳解

測試標誌 代表意義 檔名 檔案型別 e該檔名是否存在 f該檔名是否存在且為file d該檔名是否存在且為目錄 b該檔名是否存在且為乙個block c該檔名是否存在且為乙個character device裝置 s該檔名是否存在且為乙個socket檔案 p該檔名是否存在且為乙個fifo pipe 檔案 ...

linux中shell命令test用法和舉例

shell test命令 和 是同乙個命令的不同名稱。原文 test 命令最短的定義可能是評估乙個表示式 如果條件為真,則返回乙個 0 值。如果表示式不為真,則返回乙個大於 0 的值 也可以將其稱為假值。檢查最後所執行命令的狀態的最簡便方法是使用 值。出於演示的目的,本文中的例子全部使用了這個引數。...

linux中shell命令test用法和舉例

shell test命令 和 是同乙個命令的不同名稱。原文 test 命令最短的定義可能是評估乙個表示式 如果條件為真,則返回乙個 0 值。如果表示式不為真,則返回乙個大於 0 的值 也可以將其稱為假值。檢查最後所執行命令的狀態的最簡便方法是使用 值。出於演示的目的,本文中的例子全部使用了這個引數。...