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中轻松地判断一个文件是否存在。