linux判断文件是否存在?
两个方式:find命令或者shell脚本。
1、find命令(1)find是linux下用于查找文件的通用方法。(2)find语法:find (3)例如:find /tmp -namewa*-typel,是在/tmp下查找名为wa开头且类型为符号链接的文件。找到就表示存在。
2、shell脚本(1)在进行文件的自动处理中常常需要自动判别,下面的脚本判断test.log是否存在,存在则显示文件存在,否则显示文件不存在。(2)例子:编辑一个脚本判断文件是否存在。vi t.sh#!/bin/bashif ;then //这里是判断语句,-e表示进行比较结果为真则存在echo”文件存在”elseecho”文件不存在”fi保存退出执行:sht.sh
linux服务器上通过脚本判断ssh服务是否正常?
效果:
ping.sh代码:
#ssh连接服务器
function getConnection()
{
ssh -o NumberOfPasswordPrompts=0 $1@$2 “pwd” &>/dev/null
if ;then
echo -e “n无法连接到$2”
continue
else
echo -e “n成功连接$2”
fi
}
#这里可以通过读取文件配置自动循环,需要的话再修改
getConnection root 192.168.1.1
也可以把IP放host里通自动循环~
shell脚本关于时间的判断?
这个用linux的date命令就可以实现,主要是判断当前的小时是否位于0晨就可以。代码大致如下:
#!/bin/sh
currentHour=$(date +%H)
if
then
currentTime=$(date +%s);
tmp=$(($currentTime-3600));
echo $(date -d “@$tmp” +%Y-%m-%d);
else
echo $(date +%Y-%m-%d);
fi
linuxshell脚本解释exec?
这是一个if结构判断 /var/log/x.log 是否存在然后执行exec命令,将执行输出的标准信息和错误信息都输出到 /var/log/x.log 文件
如何判断linux是文件还是目录?
如果是脚本可以通过ls-l命令来判断,因为目录第一个字母是d。如果是编程可以参考以下内容。manstat;stat.h中有判断是什么文件的宏:S_ISREG()普通文件S_ISDIR()目录文件S_ISCHR()字符特殊文件S_ISBLK()块特殊文件S_ISFIFO()管道或FIFOS_ISLNK()符号连接(POSIX.1或SVR4无此类型)S_ISSOCK()套接字(POSIX.1或SVR4无此类型)具体可以参照APUE文件目录相关章节。下面给出一个具体的例子:#include<stdio.h>#include<sys/stat.h>intmain(intargc,char*argv){structstatbuf;if(argc<2){ printf(“NeedParameter”); return-1;}if(lstat(argv,&buf)<0){ printf(“lstaterrorfor%srn”,argv); return;} if(S_ISDIR(buf.st_mode)) printf(“%sIsDIRrn”,argv); elseif(S_ISREG(buf.st_mode)) printf(“%sIsFILErn”,argv); return0;}