linux if -z?linux if判断
老铁们,大家好,相信还有很多朋友对于linux if -z和linux if判断的相关问题不太懂,没关系,今天就由我来为大家分享分享linux if -z以及linux 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 [[ ! -z $1 ]];是什么意思
你可以输入 type [ [[来看下他们的说明
$ type [ [[ test
[ is a shell builtin
[[ is a shell keyword
test is a shell builtin
绝大多数情况下,这个三个功能通用。但是命令和关键字总是有区别的。命令和关键字的差
别有多大呢?
如果是命令,它就和参数组合为一体被 shell解释,那样比如">""<"就被 shell解释为
重定向符号了。关键字却不这样。
在 [[中使用&&和||
[中使用-a和-o表示逻辑与和逻辑或。
[[中可以使用通配符
arch=i486
[[$arch= i*86 ]]&& echo"arch is x86!"
[[中匹配字符串或通配符,不需要引号
if-zlinux
ifconfig是linux下的吗?
是的。
Linux系统拥有一个类似的工具,也就是ifconfig(interfacesconfig)。
通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。依赖于ifconfig命令中使用一些选项属性,ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置。
ifconfig是什么意思?
ifconfig是linux中用于显示或配置网络设备(网络接口卡)的命令,英文全称是networkinterfacesconfiguring。
配置网卡的IP地址语法例:ifconfigeth0192.168.0.1netmask255.255.255.0
安装linux后用ifconfig命令没有显示有eth0网卡,怎么回事?
重新打开eth0就行了第一步:打开terminal,输入cd/etc/sysconfig/network-scripts进入目录,输入ifconfig-a命令,可以看到eth0和lo。
第二步:输入ifconfigeth0up,启用网卡。此时用ifconfig,只能看到inet6的地址,没有ip第三步:输入vi/etc/sysconfig/network-scripts/ifcfg-eth0编辑文件,把ONBOOT=no改为ONBOOT=yes,检查其他信息又没错误。
第四步:输入servicenetworkrestart,重启服务
ipa和ifconfig区别?
linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。
ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。
iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一。
linux中怎么用if比较两个文件之间有重复的?
#includestdio.h>#defineN256intmain(){char*p,buffer,str1,str,str2;FILE*fp;intn,i;if(fp=fopen(data1.txt,r)){n=0;while(!feof(fp)){fgets(buffer,255,fp);sscanf(buffer,%s%s%s%s%s%s%s,str,str,str,str,str1,str,str);n++;if(n>=N)break;}fclose(fp);
}elseprintf(Cannotopendata1.txtn)
;if(fp=fopen(data2.txt,r)){while(!feof(fp)){fgets(buffer,255,fp);sscanf(buffer,%s%s%s%s%s%s%s%s%s%s%s%s%s%s, str,str,str,str,str,str,str,str,str,str,str,str2,str,str);p=str2;while(*p)p++;p--;*p=0;for(i=0;in;i++)if(strcmp(str1,str2+1)==0)puts(buffer);}fclose(fp);
}elseprintf(Cannotopendata2.txtn);return0;}