linux if 判断文件?shell if 判断多个条件

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的shell 脚本里怎么用if 判断文件大小呀

find有一个参数-size+10000M

你可以定义一个变量它的值为

查找目录下是否满足同时名字叫123.cap并且尺寸大于10000M的

是就赋予var

先执行tcpdump后台运行

然后做一个循环每隔一秒判断这个var

var=$(find.-name"123.cap"-size+10000M)

判断这个var是否不为空

当不为空那么代表文件超出10g了那么就完毕吧 exit

思路这样你自己试试看

linuxshell如何判断一个文件是否存在

答案:在Linux Shell中,可以使用条件语句结合文件测试操作符来判断一个文件是否存在。常用的命令结构为:`if [-f"文件名" ]; then... fi`。其中`-f`表示测试文件是否存在。

详细解释:

1.文件测试操作符:在Linux Shell脚本中,可以使用特定的文件测试操作符来检查文件的属性。对于检查文件是否存在的情况,常用的操作符是`-f`。当该操作符与文件路径结合使用时,如果文件存在,则返回真。

2.使用if语句结合测试:在脚本中判断文件是否存在时,通常使用if语句结合上述的文件测试操作符。具体的命令结构如上所述。在方括号`[]`内,是测试条件`-f"文件名"`,如果文件存在,则执行then后面的语句。

3.脚本示例:下面是一个简单的脚本示例,演示如何判断一个文件是否存在,并根据结果输出不同的信息。

bash

#!/bin/bash

FILE="/path/to/your/file"

if [-f"$FILE" ]; then

echo"文件存在。"

else

echo"文件不存在。"

fi

在上面的脚本中,`/path/to/your/file`是你要检查的文件的路径。如果文件存在,脚本将输出“文件存在。”;如果文件不存在,则输出“文件不存在。”。

4.注意事项:在使用这种判断时,要确保路径和文件名正确,并且脚本具有读取文件属性的权限。另外,对于文件名中的特殊字符或空格,最好使用引号将路径括起来,以避免因解析错误而导致的问题。

通过这种方式,你可以在Linux Shell中轻松地判断一个文件是否存在。

阅读剩余
THE END