linux判断目录是否存在命令(linux 判断目录)-编程知识网

linux如何查看新建用户的主目录是什么?

可以通过查看系统文件/etc/passwd来查看新建用户的主目录。

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下简单的判断目录中是否有新文件的Shell?

因shell还不是很熟练,所以做此笔记,方便查看。

#!/bin/sh

myPath=”/var/log/httpd/”

myFile=”/var/log/httpd/access.log”

#这里的-x参数判断$myPath是否存在并且是否具有可执行权限

if;then

mkdir”$myPath”

fi

#这里的-d参数判断$myPath是否存在

if;then

mkdir”$myPath”

fi

#这里的-f参数判断$myFile是否存在

if;then

touch”$myFile”

fi

#其他参数还有-n,-n是判断一个变量是否是否有值

if;then

echo”$myVarisempty”

exit0

fi

#两个变量判断是否相等

if;then

echo’$var1eq$var2′

else

echo’$var1noteq$var2′

fi

========================================

shell判断语句

流程控制”if”表达式如果条件为真则执行then后面的部分:if….;then

….

elif….;then

….

else

….

fi

大多数情况下,可以使用测试命令来对条件进行测试。比如可以比较字符串、判断文件是否存在及是否可读等等…  通常用””来表示条件测试。注意这里的空格很重要。要确保方括号的空格。

:判断是否是一个文件

:判断/bin/ls是否存在并有可执行权限

:判断$var变量是否有值

:判断$a和$b是否相等-rfile     用户可读为真

-wfile     用户可写为真

-xfile     用户可执行为真

-ffile     文件为正规文件为真

-dfile     文件为目录为真

-cfile     文件为字符特殊文件为真

-bfile     文件为块特殊文件为真

-sfile     文件大小非0时为真

-tfile     当文件描述符(默认为1)指定的设备为终端时为真

#########################################################

含条件选择的shell脚本

对于不含变量的任务简单shell脚本一般能胜任。但在执行一些决策任务时,就需要包含if/then的条件判断了。shell脚本编程支持此类运算,

包括比较运算、判断文件是否存在等。基本的if条件命令选项有:-eq—比较两个参数是否相等(例如,if)

-ne—比较两个参数是否不相等

-lt—参数1是否小于参数2

-le—参数1是否小于等于参数2

-gt—参数1是否大于参数2

-ge—参数1是否大于等于参数2

-f—检查某文件是否存在(例如,if)

-d—检查目录是否存在

几乎所有的判断都可以用这些比较运算符实现。脚本中常用-f命令选项在执行某一文件之前检查它是否存在。##################################################################判断文件是否存在

#!/bin/sh

today=`date-dyesterday+%y%m%d`

file=”apache_$today.tar.gz”

cd/home/chenshuo/shell

if;then

echo”OK”

else

echo”error$file”>error.log

mail-s”failbackupfromtest”linuxcy@126.comfi

Linux下如何查看一个目录下的内容?

在Linux下我们使用ls命令来查看一个目录下的内容,如果单单使用ls则会显示当前目录下的内容,而如果 ls /etc这样后跟一个目录的话,则会显示etc这个目录下的内容,可以去看看《Linux就该这么学》这本书的第二章,介绍了很多常用的命令,非常适合初学者。

如何判断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;}