linux脚本判断文件是否存在(linux 脚本 判断)-编程知识网

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;}