linux判断目录 linux脚本判断目录是否存在
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)例子:编辑一个脚本判断文件是否存在。vit.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文件目录相关章节。下面给出一个具体的例子:#includestdio.h>#includesys/stat.h>intmain(intargc,char*argv){structstatbuf;if(argc2){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;}
linux中怎么查看文件是否存在
在Linux中,可以使用`ls`命令结合文件名来查看文件是否存在。
以下是详细的解释:
详细解释:
1.使用`ls`命令查看文件列表:在Linux中,`ls`命令用于列出目录中的文件和子目录。通过运行不带任何参数的`ls`命令,您可以查看当前目录中的文件和文件夹。
2.结合文件名检查:要检查特定文件是否存在,可以在`ls`命令后跟上文件名。例如,如果要检查名为“example.txt”的文件是否存在,可以运行命令`ls example.txt`。如果文件存在,该命令将显示文件的详细信息;如果文件不存在,则不会显示任何输出。
3.使用通配符进行模糊匹配:如果您不完全记得文件名,可以使用通配符来模糊匹配。例如,`ls*example*`将列出所有包含“example”字样的文件。
4.利用返回状态判断文件是否存在:在shell脚本中,通常不会直接查看输出信息来判断文件是否存在,而是通过捕获命令的返回状态来做判断。当命令成功执行时,返回状态为0;当命令失败时,返回非零状态。可以使用条件语句结合命令的返回状态来判断文件是否存在。例如,可以使用如下语句来检查文件是否存在:`if [-f"filename" ]; then echo"File exists"; else echo"File does not exist"; fi`。这里的`-f`是一个测试条件,用于检查指定的文件名是否为一个常规文件。如果文件存在并且是常规文件,则条件为真。反之,条件为假,即文件不存在或不是一个常规文件。综上所述,我们可以通过多种方式在Linux中查看文件是否存在,包括直接使用`ls`命令、使用通配符模糊匹配以及通过捕获命令的返回状态进行判断等不同的方法。这些方法可以根据具体需求和场景选择使用。
linux如何判断是文件还是目录
1.列出文件清单命令:ls
ls命令能够列出当前目录下的所有内容。ls命令的执行方式为:
# ls [-选项] [文件名或者目录名]
进入到Linux命令行中后,我们至少要知道当前所处的位置有哪些内容,这些信息就可以使用ls命令来获得。
在Linux中,ls命令是最常使用的命令之一,因为在命令行下要随时查看目录内容。如果不加任何选项的话,ls命令仅列出当前目录下的文件和目录名,例如,想要查看/etc目录下的内容,可以使用下列命令:
# ls/etc
如果想要列出当前目录下所有文件,则可以使用下列命令:
# ls-a
2、cat命令
功能:在标准输出上显示文件。
语法:cat [-vTEuAte]文件
例子: cat example.txt
cat-A exam2.txt
cat file1 file2> file2
3、more命令
功能:在终端屏幕按屏显示文本文件。
语法: more [-pcdls]文件
例子: more example.c
more-dc example.c
more-c-10 example.c
4、less命令
less命令的功能几乎和more命令一样,也是用来按页显示文件,不同之处在于less命令在显示文件时允许用户既
可以向前又可以向后翻阅文件。
5、head命令
功能:显示指定文件的前若干行。缺省设置为显示10行
语法:head [-n]文件
例子: head example.c
head-3 example.c
6、tail命令
功能:显示指定文件的末尾若干行。缺省设置为显示10行
语法:tail [+/- num ] [参数]文件
+num从第num行以后开始显示。- num从距文件尾num行处开始显示。
例子: tail example.c
tail-4 example.c
7、grep、fgrep和egrep命令
功能:
这组命令以指定模式搜索文件,并通知用户在什么文件中搜索到与指定的模式匹配的字符串,并打印出所有包含该字符串的文本行,在该文本行的最前面是该行所在的文件名。grep命令一次只能搜索一个指定的模式;egrep命令检索扩展的正则表达式(包括表达式组和可选项);fgrep命令检索固定字符串,它不识别正则表达式,是快速搜索命令。
语法:
grep [-EFbcihlnvxef] [查找模式] [文件名1,文件名2,……]
egrep [选项] [查找模式] [文件名1,文件名2,……]
fgrep [选项] [查找模式] [文件名1,文件名2,……]
例子: grep"text file" example
grep data*
grep goto*.c
分享
本回答由电脑网络分类达人吕明认证
其他类似问题
2013-05-27linux命令大全文档编辑 [百度经验] 6
2007-11-03linux中,什么命令可以查看文件夹?5
2013-10-29Linux文件与目录操作命令?3
2010-06-23linux命令行下如何查看文件内容54
2012-07-31linux里查看所有目录的命令
更多关于linux如何判断是文件还是目录的问题>>
为您推荐:
2013-07-30 10:05网友采纳
热心网友
借用他人的答案回答下:)
显示目录文件用linux中ls命令
ls命令可以说是linux下最常用的命令之一。
-a列出目录下的所有文件,包括以.开头的隐含文件。
-b把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c输出文件的 i节点的修改时间,并以此排序。
-d将目录象文件一样显示,而不是显示其下的文件。
-e输出时间的全部信息,而不是输出简略信息。
-f-U对输出的文件不排序。
-g无用。
-i输出文件的 i节点的索引信息。
-k以 k字节的形式表示文件的大小。
-l列出文件的详细信息。
-m横向输出文件名,并以“,”作分格符。
-n用数字的 UID,GID代替名称。
-o显示文件的除组信息外的详细信息。
-p-F在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通
文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套
接字(sockets)。
-q用?代替不可输出的字符。
-r对目录反向排序。
-s在每个文件名后输出该文件的大小。
-t以时间排序。
-u以文件上次被访问的时间排序。
-x按列输出,横向排序。
-A显示除“.”和“..”外的所有文件。
-B不输出以“~”结尾的备份文件。
-C按列输出,纵向排序。
-G输出文件的组的信息。
-L列出链接文件名而不是链接到的文件。
-N不限制文件长度。
-Q把输出的文件名用双引号括起来。
-R列出所有子目录下的文件。
-S以文件大小排序。
-X以文件的扩展名(最后一个.后的字符)排序。
-1一行只输出一个文件。
--color=no不显示彩色文件名
--help在标准输出上显示帮助信息。
--version在标准输出上输出版本信息并退出。
只列出子目录
1. ls-F| grep/$或者 alias sub="ls-F| grep/$"(linux)
2. ls-l| grep"^d"或者 ls-lL| grep"^d"(Solaris)
计算当前目录下的文件数和目录数
下面命令可以分别计算当前目录下的文件和目录个数:
# ls-l*|grep"^-"|wc-l---- to count files
# ls-l*|grep"^d"|wc-l-- to count dir
显示彩色目录列表
打开/etc/bashrc,加入如下一行:
alias ls="ls--color"
下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了,其中颜色的含义如下:
1.蓝色-->目录
2.绿色-->可执行文件
3.红色-->压缩文件
4.浅蓝色-->链接文件
5.灰色-->其他文件
ls-tl--time-style=full-iso sshd
ls-ctl--time-style=long-iso