两个方式:find命令或者抄shell脚本。
1、find命令
find是linux下用于查找文件的通用方法。
find语法: find [指定查找目录] [查找规则] [查找完后执行的action]
例如:find /tmp -name wa* -type l ,是在/tmp下查找名为wa开头且类型为符号链接的文件。找到就表示存在。
2、shell脚本
在进行文件的自动处理中常常需要自动判别,下面的脚本判断test.log是否存在,存在则显示文件存在,否则显示文件不存在。
例子:编辑一个脚本判断文件是否存在
vi t.sh
#!/bin/bash
if [ -e /temp/test.log ];then //这里是判断语句,-e表示进行比较结果为真则存在
echo "文件存在"
else
echo "文件不存在"
fi
保存退出
执行:
sh t.sh
B. linux下如何判断目录里哪些是文件 哪些是文件夹
你要正常安装后,目录会显示为蓝色
ls -l 第一字母为d时,说明是目录
C. 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,则为真
-h filename 如果文件是软链接,则为真
D. linux 目录是否存在命令
#shell判断文件夹是否存在
#如果文件夹不存在,创建文件夹
if [ ! -d "/myfolder" ]; then
mkdir /myfolder
fi
#shell判断文件,目录是否存在或者具有权限
folder="/var/www/"
file="/var/www/log"
# -x 参数判断 $folder 是否存在并且是否具有可执行权限
if [ ! -x "$folder"]; then
mkdir "$folder"
fi
# -d 参数判断 $folder 是否存在 《Linux就该这么学》 一起学习linux
if [ ! -d "$folder"]; then
mkdir "$folder"
fi
# -f 参数判断 $file 是否存在
if [ ! -f "$file" ]; then
touch "$file"
fi
# -n 判断一个变量是否有值
if [ ! -n "$var" ]; then
echo "$var is empty"
exit 0
fi
# 判断两个变量是否相等
if [ "$var1" = "$var2" ]; then
echo '$var1 eq $var2'
else
echo '$var1 not eq $var2'
fi
E. linux 怎么查看当前目录下是有文件'
ls
:查看常规的文件
ls
-a:查看当前目录下所有的文件,包括隐藏文件
F. linux c 查看当前目录下是否有指定文件
1. Shell 版本
#获取当前脚本所在绝对路径
cur_dir=$(cd "$(dirname "$0")"; pwd)
2. C语言版本
方法一、用realpath函数。这种方法用于开机启动程序获取自身目录会出错
char current_absolute_path[MAX_SIZE];
//获取当前目录绝对路径
if (NULL == realpath("./", current_absolute_path))
{
printf("***Error***\n");
exit(-1);
}
strcat(current_absolute_path, "/");
printf("current absolute path:%s\n", current_absolute_path);
方法二、用getcwd函数。这种方法用于开机启动程序获取自身目录会出错
char current_absolute_path[MAX_SIZE];
//获取当前目录绝对路径
if (NULL == getcwd(current_absolute_path, MAX_SIZE))
{
printf("***Error***\n");
exit(-1);
}
printf("current absolute path:%s\n", current_absolute_path);
方法三、用readlink函数。这种方法最可靠,可用于开机启动程序获取自身目录
char current_absolute_path[MAX_SIZE];
//获取当前程序绝对路径
int cnt = readlink("/proc/self/exe", current_absolute_path, MAX_SIZE);
if (cnt < 0 || cnt >= MAX_SIZE)
{
printf("***Error***\n");
exit(-1);
}
//获取当前目录绝对路径,即去掉程序名
int i;
for (i = cnt; i >=0; --i)
{
if (current_absolute_path[i] == '/')
{
current_absolute_path[i+1] = '\0';
break;
}
}
printf("current absolute path:%s\n", current_absolute_path);
G. linux如何判断是文件还是目录
可以使用ll命令判断,命令如下:
ll
得到的结果,如果首字母是d则为文件夹,如果为-则为文件。
效果如下:
H. 判断 12.命令"ls -la"可以查看linux下当前目录下的所有文件和文件夹,包括隐藏文件。
结论:对。
ls 命令将每个由 Directory 参数指定的目录或者每个由 File 参数指定的名称写到标准输出,以及您所要求的和标志一起的其它信息。如果不指定 File 或 Directory 参数, ls 命令显示当前目录的内容。
-a表示显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)。
-l表示除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出。
(8)linux判断目录有文件吗扩展阅读:
ls -lR /home/alvin/test_dir/,列出/home/alvin/test_dir目录下所有文件及目录的详细资料。
ls -l atb*,列出/home/alvin/test_dir目录下以atb开头的所有文件的详细内容。
ls -F /home/alvin/test_dir | grep /$,只列出目录下的子目录。
ls -ltr,按时间顺序列出目录下的文件,越新越排后面。
ls -lhS,以文件大小进行排序。
ls -l | grep "^-" | wc -l,统计当前目录下的文件数和目录数。
ls | sed "s:^:`pwd`/:",列出所有文件的绝对路径。
I. linux 查找文件夹下是否有某文件
两个方式:find命令或者shell脚本。
1、find命令
find是linux下用于查找文件的通用方法。
find语法:
find
[指定查找目录]
[查找规则]
[查找完后执行的action]
例如:find
/tmp
-name
wa*
-type
l
,是在/tmp下查找名为wa开头且类型为符号链接的文件。找到就表示存在。
2、shell脚本
在进行文件的自动处理中常常需要自动判别,下面的脚本判断test.log是否存在,存在则显示文件存在,否则显示文件不存在。
例子:编辑一个脚本判断文件是否存在
vi
t.sh
#!/bin/bash
if
[
-e
/temp/test.log
];then
//这里是判断语句,-e表示进行比较结果为真则存在
echo
"文件存在"
else
echo
"文件不存在"
fi
保存退出
执行:
sh
t.sh
J. linux中如何判断是普通文件还是目录文件
使用ls命令即可区分文件夹和文件。示例:ls -la
说明:
-l 列出文件的详细信息。
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
要判断是文件还是文件夹,看第一列的内容即可,第一列的第一个字母指明了文件类型:-”表示普通文件,“d”代表目录,“l”代表连接文件,“b”代表设备文件。