test -d
命令检查文件夹是否存在。if [ -d "/path/to/folder" ]; then echo "Folder exists"; else echo "Folder does not exist"; fi
。在Linux中,可以使用以下命令来检查文件是否存在以及获取文件的大小。
1、检查文件是否存在:
ls
命令:使用ls
命令可以列出当前目录下的文件和文件夹,如果文件存在,它将显示文件名;如果文件不存在,则不会显示任何内容。
“`shell
ls [文件路径]
“`
2、获取文件大小:
ls l
命令:使用ls l
命令可以以长格式列出当前目录下的文件和文件夹,第三列显示了文件的大小。
“`shell
ls l [文件路径]
“`
stat
命令:使用stat
命令可以获取文件的详细信息,包括文件大小。
“`shell
stat [文件路径]
“`
du
命令:使用du
命令可以估算文件或目录占用的磁盘空间大小。
“`shell
du sh [文件路径]
“`
相关问题与解答:
问题1:如何同时检查文件是否存在并获取其大小?
答:可以使用if
语句结合上述命令来实现,首先使用ls
命令检查文件是否存在,然后根据结果执行相应的命令来获取文件大小,下面是一个示例脚本:
#!/bin/bash file_path="your_file_path" if ls $file_path > /dev/null 2>&1; then size=$(ls l $file_path | awk '{print $5}') echo "File exists and its size is: $size bytes" else echo "File does not exist" fi
将上述脚本保存为一个文件(例如check_file.sh),然后在终端中运行该脚本即可,请将"your_file_path"替换为实际的文件路径。
问题2:如何递归地检查目录及其子目录下的所有文件是否存在并获取其大小?
答:可以使用find
命令结合上述命令来实现,下面是一个示例脚本:
#!/bin/bash directory_path="your_directory_path" find $directory_path type f exec sh c 'file="{}"; if ls "$file" > /dev/null 2>&1; then size=$(ls l "$file" | awk '{print $5}'); echo "File exists and its size is: $size bytes"; else echo "File does not exist"; fi' ;
将上述脚本保存为一个文件(例如check_files.sh),然后在终端中运行该脚本即可,请将"your_directory_path"替换为实际的目录路径。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/629417.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复