linux shell if -a 到-z参数含义
[-a file] 如果file存在則為真?
[-b file] 如果file存在且是一個塊特殊文件則為真?
[-c file] 如果file存在且是一個字特殊文件則為真?
[-d file] 如果file文件存在且是一個目錄則為真?
-d前的!是邏輯非?
例如:?
if [ ! -d?lcdpath/par_date ]?
表示后面的那個目錄不存在,則執行后面的then操作?
[-e file] 如果file文件存在則為真?
[-f file] 如果file存在且是一個普通文件則為真?
[-g file] 如果file存在且已經設置了SGID則為真(SUID 是 Set User ID, SGID 是 Set Group ID的意思)?
[-h file] 如果file存在且是一個符號連接則為真?
[-k file] 如果file存在且已經設置粘制位則為真?
當一個目錄被設置為”粘制位”(用chmod a+t),則該目錄下的文件只能由?
一、超級管理員刪除?
二、該目錄的所有者刪除?
三、該文件的所有者刪除?
也就是說,即便該目錄是任何人都可以寫,但也只有文件的屬主才可以刪除文件。?
具體例子如下:
ls -dl /tmp
drwxrwxrwt 4 root root ………?
注意other位置的t,這便是粘連位。?
[-p file] 如果file存在且是一個名字管道(F如果O)則為真?
管道是Linux里面進程間通信的一種方式,其他的還有像信號(signal)、信號量、消息隊列、共享內存、套接字(socket)等。?
[-r file] 如果file存在且是可讀的則為真?
[-s file] 如果file存在且大小不為0則為真?
[-t FD] 如果文件描述符FD打開且指向一個終端則為真?
[-u file] 如果file存在且設置了SUID(set userID)則為真?
[-w file] 如果file存在且是可寫的則為真?
[-x file] 如果file存在且是可執行的則為真?
[-O file] 如果file存在且屬有效用戶ID則為真?
[-G file] 如果file存在且屬有效用戶組則為真?
[-L file] 如果file存在且是一個符號連接則為真?
[-N file] 如果file存在and has been mod如果ied since it was last read則為真?
[-S file] 如果file存在且是一個套接字則為真?
[file1 –nt file2] 如果file1 has been changed more recently than file2或者file1 exists and file2 does not則為真?
[file1 –ot file2] 如果file1比file2要老,或者file2存在且file1不存在則為真?
[file1 –ef file2] 如果file1和file2指向相同的設備和節點號則為真?
[-o optionname] 如果shell選項“optionname”開啟則為真?
[-z string] “string”的長度為零則為真?
[-n string] or [string] “string”的長度為非零non-zero則為真?
[sting1==string2] 如果2個字符串相同。“=”may be used instead of “==”for strict posix compliance則為真?
[string1!=string2] 如果字符串不相等則為真?
[string1
總結
以上是生活随笔為你收集整理的linux shell if -a 到-z参数含义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HttpContext.Cache属性
- 下一篇: linux 其他常用命令