当前位置:首页 » 操作系统 » linuxshell判断是文件

linuxshell判断是文件

发布时间: 2023-11-04 02:22:03

1. linux shell 如何判断一个文件是否存在

了解你的意思,首先,test命令是判断某一个特定的文件相关信息,也就是当你使用test这个命令的时候,你是清楚它叫什么名字的(只是你不知道它的相关信息)。如果你要判断比如你说的以hbc*开头的一类文件,最好就是使用ls命令或者find命令来作。你可以参考一下,下面的小测试。
mike >>> ls -d ??? 12-04-20 23:15
acp/ apc/ scl tmp/ xmy/

mike >>> test -d x?? 12-04-20 23:15

mike >>> echo $? 12-04-20 23:16
0
mike >>> test -d x* 12-04-20 23:16
test: too many arguments
使用find命令能很好查找已hbc开头的文件或者目录,但是它不能判断有没有这样的文件,因为你不能通过find的命令执行状态来判断是否有这样的文件,但是可以把find的输出导向到一个文件,从而对文件进行判断。如下:
mike >>> find ./ -type d -name "FUK*" -print 12-04-20 23:24
mike >>> echo $? 12-04-20 23:24
0

2. linux shell程序,如何输入一个文件名判断它是文件夹还是文件

//是目录不是文件夹
#! /bin/bash
# filename:FileType.sh

read -p "Please input the filename :" filename
fpath=$filename
if [ -d $fpath ];
then
echo "$fpath is a direstory.";
elif [ -e $fpath ];
then
echo "$fpath is a file.";
else
echo "$fpath is NOT a file or direstory.";
fi

3. 关于linux,shell脚本中怎样判断文件是否有内容

可以用“test 条件表达式”进行测试,如:test -f /etc/fstab 测试文件/etc/fstab文件是否存在

-e File 如果文件File存在(Exist),则为True
-s File 如果文件File存在且文件大小(Size)大于零,则为True
-f File 如果文件File存在且是普通文件(File),则为True
-d File 如果文件File存在且是目录(Directory),则为True
-b File 如果文件File存在且是块(Block)特殊文件,则为True
-c File 如果文件File存在且是字符(Character)特殊文件,则为True
-L File 如果文件File存在且是符号链接(Link)文件,则为True
-r File 如果文件File存在且是可读的(Readable),则为True
-w File 如果文件File存在且是可写的(Writable),则为True
-x File 如果文件File存在且是可执行的(Executable),则为True
-O File 如果文件File存在且属于当前用户(Owner),则为True
-G File 如果文件File存在且属于当前用户组(Group),则为True
File1 -nt File2 如果文件File1新于(Newer Then) File2,则为True
File2 -ot File2 如果文件File1旧于(Older Then) File2,则为True

4. linux shell 指令 诸如-d, -f, -e之类的判断表达式

文件比较运算符-e filename

  • 如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename

  • 如果 filename为目录,则为真 [ -d /tmp/mydir ]-f filename

  • 如果 filename为常规文件,则为真 [ -f /usr/bin/grep ]-L filename

  • 如果 filename为符号链接,则为真 [ -L /usr/bin/grep ]-r filename

  • 如果 filename可读,则为真 [ -r /var/log/syslog ]-w filename

  • 如果 filename可写,则为真 [ -w /var/mytmp.txt ]-x filename

  • 如果 filename可执行,则为真 [ -L /usr/bin/grep ]filename1-nt filename2

  • 如果 filename1比 filename2新,则为真 [ /tmp/install/etc/services -nt /etc/services ]filename1-ot filename2

  • 如果 filename1比 filename2旧,则为真 [ /boot/bzImage -ot arch/i386

/boot/bzImage ]字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)

  • -z string 如果 string长度为零,则为真 [ -z "$myvar" ]-n string 如果 string长度非零,则为真 [ -n "$myvar" ]

  • string1= string2 如果 string1与 string2相同,则为真 [ "$myvar" = "one two three"]

  • string1!= string2 如果 string1与 string2不同,则为真 [ "$myvar" != "one two three" ]

算术比较运算符num1-eq num2 等于 [ 3 -eq $mynum ]

  • num1-ne num2 不等于 [ 3 -ne $mynum ]num1-lt num2 小于 [ 3 -lt $mynum ]

  • num1-le num2 小于或等于 [ 3 -le $mynum ]num1-gt num2 大于 [ 3 -gt $mynum ]

  • num1-ge num2 大于或等于 [ 3 -ge $mynum ]

拓展资料:

Linux操作系统

是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。

5. linux shell 判断文件是否存在 存在就删除

1、linux shell中判断文件是否存在,可以使用test命令的-a参数。借助于if结构进行判断即可。

2、以~/t/thello.py为例,检测这个文件,如果存在将其删除,示例代码如下:

if[[-a~/t/hello.py]];then
echo"存在文件";
rm-f~/t/hello.py
fi;

3、测试效果如下图所示

热点内容
家庭电脑改网盘服务器 发布:2024-11-30 12:32:13 浏览:105
电脑服务器组装系统 发布:2024-11-30 12:32:11 浏览:998
在线显示wifi密码是什么 发布:2024-11-30 12:30:53 浏览:726
触动精灵安卓脚本 发布:2024-11-30 12:30:47 浏览:80
phpmd5加密代码 发布:2024-11-30 12:29:35 浏览:899
苹果手机锁屏怎么取消密码 发布:2024-11-30 12:28:08 浏览:860
老娘也要当间谍ftp 发布:2024-11-30 12:23:17 浏览:131
家里如何安装文件服务器 发布:2024-11-30 12:15:35 浏览:352
淘宝抢货脚本js 发布:2024-11-30 11:51:35 浏览:955
赛风怎么用安卓 发布:2024-11-30 11:42:28 浏览:982