linux if file Linux修改时间
大家好,今天小编来为大家解答linux if file这个问题,Linux修改时间很多人还不知道,现在让我们一起来看看吧!
linux test命令
linux系统下test命令是什么呢?下面是test命令的具体介绍:
1、test命令功能:用来检查文件和比较值。
2、test命令使用:
判断表达式:
if test(表达式为真)
if test!表达式为假
test表达式1–a表达式2两个表达式都为真
test表达式1–o表达式2两个表达式有一个为真
判断字符串:
test–n字符串字符串的长度非零
test–z字符串字符串的长度为零
test字符串1=字符串2字符串相等
test字符串1!=字符串2字符串不等
判断整数
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两个文件具有同样的设备号和i结点号
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位
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文件存在并且可执行
3、工作原理:
test命令最短的定义可能是评估一个表达式;如果条件为真,则返回一个 0值。如果表达式不为真,则返回一个大于 0的值—也可以将其称为假值。检查最后所执行命令的状态的最简便方法是使用$?值。出于演示的目的,本文中的例子全部使用了这个参数。
test命令期望在命令行中找到一个参数,当 shell没有为变量赋值时,则将该变量视为空。这意味着在处理脚本时,一旦脚本寻找的参数不存在,则 test将报告该错误。
当试图保护脚本时,您可以通过将所有参数包含在双引号中来解决这个问题。然后 shell将变量展开,如果变量没有值,那么将传递一个空值给 test。另一种方法是在脚本内增加一个额外检查过程来判断是否设置了命令行参数。如果没有设置命令行参数,那么脚本会告诉用户缺少参数,然后退出。
4、test文件运算符
利用这些运算符,可以在程序中根据对文件类型的评估结果执行不同的操作:
-b file如果文件为一个块特殊文件,则为真
-c file如果文件为一个字符特殊文件,则为真
-d file如果文件为一个目录,则为真
-e file如果文件存在,则为真
-f file如果文件为一个普通文件,则为真
-g file如果设置了文件的 SGID位,则为真
-G file如果文件存在且归该组所有,则为真
-k file如果设置了文件的粘着位,则为真
-O file如果文件存在并且归该用户所有,则为真
-p file如果文件为一个命名管道,则为真
-r file如果文件可读,则为真
-s file如果文件的长度不为零,则为真
-S file如果文件为一个套接字特殊文件,则为真
-t fd如果 fd是一个与终端相连的打开的文件描述符(fd默认为 1),则为真
-u file如果设置了文件的 SUID位,则为真
-w file如果文件可写,则为真
-x file如果文件可执行,则为真
Linux里面if -s命令作用是什么
字符串判断
str1= str2当两个串有相同内容、长度时为真
str1!= str2当串str1和str2不等时为真
-n str1当串的长度大于0时为真(串非空)
-z str1当串的长度为0时为真(空串)
str1当串str1为非空时为真
2、数字的判断
int1-eq int2两数相等为真
int1-ne int2两数不等为真
int1-gt int2int1大于int2为真
int1-ge int2int1大于等于int2为真
int1-lt int2int1小于int2为真
int1-le int2int1小于等于int2为真
3文件的判断
-r file用户可读为真
-w file用户可写为真
-x file用户可执行为真
-f file文件为正规文件为真
-d file文件为目录为真
-c file文件为字符特殊文件为真
-b file文件为块特殊文件为真
-s file文件大小非0时为真
-t file当文件描述符(默认为1)指定的设备为终端时为真
3、复杂逻辑判断
-a与
-o或
!非
EXAMPLE:
[-a FILE ]如果 FILE存在则为真。
[-b FILE ]如果 FILE存在且是一个块特殊文件则为真。
[-c FILE ]如果 FILE存在且是一个字特殊文件则为真。
[-d FILE ]如果 FILE存在且是一个目录则为真。
[-e FILE ]如果 FILE存在则为真。
[-f FILE ]如果 FILE存在且是一个普通文件则为真。
[-g FILE ]如果 FILE存在且已经设置了SGID则为真。
[-h FILE ]如果 FILE存在且是一个符号连接则为真。
[-k FILE ]如果 FILE存在且已经设置了粘制位则为真。
[-p FILE ]如果 FILE存在且是一个名字管道(F如果O)则为真。
[-r FILE ]如果 FILE存在且是可读的则为真。
[-s FILE ]如果 FILE存在且大小不为0则为真。
[-t FD ]如果文件描述符 FD打开且指向一个终端则为真。
[-u FILE ]如果 FILE存在且设置了SUID(set user ID)则为真。
[-w FILE ]如果 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 beewww.028x.cn#hanged more recently than FILE2, or如果 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则为真。
[ STRING1== STRING2 ]如果2个字符串相同。“=” may be used instead of“==” for strict POSIX compliance则为真。
[ STRING1!= STRING2 ]如果字符串不相等则为真。
在Linux中-f file是什么意思
判断目标文件是否存在。-f filename如果 filename为常规文件,则为真。filename1-nt filename2如果 filename1比 filename2新,则为真。
filename1-ot filename2如果 filename1比 filename2旧,则为真。
其它文件表达式
-e filename如果 filename存在,则为真
-d filename如果 filename为目录,则为真
-L filename如果 filename为符号链接,则为真
-r filename如果 filename可读,则为真
-w filename如果 filename可写,则为真
-x filename如果 filename可执行,则为真
-s filename如果文件长度不为0,则为真
-h filename如果文件是软链接,则为真
更多更详细的Linux知识可参考《Linux就该这么学》。