Linux判断目录是否存在命令,Linux shell 中判断文件、目录是否存在的方法

简介: 本文主要介绍了Linux 中 使用 shell 判断文件、目录是否存在的方法,分享给大家

本文主要介绍了Linux 中 使用 shell 判断文件、目录是否存在的方法,分享给大家


- -e filename 判断对象是否存在,如果 filename存在,则为真
- -d filename 判断对象是否存在,并且为目录,如果 filename为目录,则为真
- -f filename 判断对象是否存在,并且为常规文件,如果 filename为常规文件,则为真
- -L filename 判断对象是否存在,并且为符号链接,如果 filename为符号链接,则为真
- -r filename 判断对象是否存在,并且可读,如果 filename可读,则为真
- -w filename 判断对象是否存在,并且可写,如果 filename可写,则为真
- -x filename 判断对象是否存在,并且可执行,如果 filename可执行,则为真
- -s filename 判断对象是否存在,并且长度不为0,如果文件长度不为0,则为真
- -h filename 判断对象是否存在,并且为软链接,如果文件是软链接,则为真
- -o 判断对象是否存在,并且属于当前用户
- -G 判断对象是否存在,并且属于当前用户组
- -nt 判断file1是否比file2新 [ "/data/test1.txt" -nt "/data/test2.txt" ]
- -ot 判断file1是否比file2旧 [ "/data/test1.txt" -ot "/data/test2.txt" ]

常用例子

如果存在某文件,则删除

if [ -f $filename ]; then 
  rm ${result_path}${filename}; 
fi


如果没有文件夹,则创建

if [ ! -d $result_name ];then
  mkdir -p $result_name
fi


shell命令判断文件或文件夹是否存在

#!/bin/sh
#判断文件存在,判断是否为文件夹等
testPath="/Volumes/MacBookProHD/Mr.Wen/"
testFile="/Volumes/MacBookProHD/Mr.Wen/fileWen"
#判断文件夹是否存在 -d
if [[ ! -d "$testPath" ]]; then
  echo "文件夹不存在"
else
  echo "文件夹存在"
fi
#判断文件夹是否存在,并且具有可执行权限
if [[ ! -x "$testFile" ]]; then
  echo "文件不存在并且没有可执行权限"
else
  echo "文件存在并有可执行权限"
fi
#判断文件是否存在
if [[ ! -f "$testFile" ]]; then
  echo "文件不存在"
else
  echo "文件存在"
fi
1、文件夹不存在则创建
if [ ! -d "/data" ];then
mkdir -p /data
else 
echo "文件夹已存在"
fi
2、文件存在则删除
if [ ! -f "/data/test.txt" ];then
echo "文件不存在"
else 
rm -f /data/test.txt
fi
3、判断文件夹是否存在
if [ -d "/data" ];then
echo "文件夹存在"
else 
echo "文件夹不存在"
fi
4、判断文件是否存在
if [ -f "/data/test.txt" ];then
echo "文件存在"
else 
echo "文件不存在"
fi
目录
相关文章
|
2月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
629 13
|
3月前
|
监控 Linux
Linux系统中使用df命令详解磁盘使用情况。
`df`命令是Linux系统管理员和用户监控和管理磁盘空间使用的重要工具。掌握它的基本使用方法和选项可以帮助在必要时分析和解决空间相关问题。简洁但功能丰富,`df`命令确保了用户可以快速有效地识别和管理文件系统的空间使用情况。
218 13
|
1月前
|
监控 Linux Shell
linux命令
常用 Linux 命令汇总
|
2月前
|
Linux C++
每天一个linux命令(8):cp 命令
cp 命令是 Linux 中用于复制文件或目录的命令。它的名字来源于英文单词 copy。这个命令非常常用,特别是在需要备份文件或创建文件副本时。
78 0
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
|
安全 网络协议 Linux
【专栏】Linux系统中ping命令的使用,包括其基本语法、输出信息、常用参数及高级用法
【4月更文挑战第28天】本文详细介绍了Linux系统中ping命令的使用,包括其基本语法、输出信息、常用参数及高级用法。通过ping,用户可测试网络连通性、诊断故障及评估性能。此外,文章还讨论了ping在不同协议、模拟网络环境及与其他命令结合使用时的场景。注意防火墙和网络环境可能影响ping结果,理解错误信息有助于网络问题排查。熟练掌握ping命令,能助你成为Linux网络专家。不断学习和实践,提升网络技能,为构建稳定网络环境贡献力量。
961 0
|
Shell Linux Perl
65Linux - RPM 命令参数使用详解
65Linux - RPM 命令参数使用详解
172 1
|
Kubernetes Linux Shell
Linux |奇怪的知识---complete命令---你不知道的命令参数补全---kubectl命令的参数补全
Linux |奇怪的知识---complete命令---你不知道的命令参数补全---kubectl命令的参数补全
285 0