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

linux shell程序,如何输入一个文件名判断它是文件夹还是文件?,第1张

//是目录不是文件

#! /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

查看文件是否是可执行的属性,是使用 ls 命令,要加一个 -l 参数:

$ ls -l ./* # 列出当前目录下的文件,并使用长信息格式。

-rw-r--r-- 1 cheyenne class 37 Jan 12 11:00 fichier

看上面的系统显示,第一个区域(-rw-r--r--)代表的是文件的属性,第一个字符(这里是 -)代表的是文件的类型。- 代表普通文件,d 代表目录,l 是符号链接文件(和 Windows 下的快捷方式差不多),n 代表网络特殊文件,c 代表字符设备文件,b 代表块设备文件,p 代表命名管道。

后面的 6 位是对文件的访问控制。你所说的 x 属性,是代表可以“执行”这个文件。注意这个“执行”与 Windows 系统的区别,它代表的仅仅是你有权限去执行它(如果它能够在机器上运行的话)。UNIX 系统不使用扩展名来判断文件类型,而是使用 file 命令。UNIX 和 DOS 一样,如果文件实际并无法执行,它会给出一个出错提示,并返回 Shell。

比如你现在编写了一个 shell 脚本(就是 DOS 下的 .bat 文件),如果你想执行这个文件,那么你必须拥有这个文件的 r 和 x 权限。

bin:默认程序安装目录,跟windows下的C:/program类似

boot:系统启动用到的东西都在这里面,启动的配置文件,以及内核镜像

dev:设备文件都在这个文件夹下,Linux与windows不同之处就是,linux中的设备都以文件的形式展现

etc:系统的一些配置文件存放在这里

home:这里存放了每个用户的个人资料,并为每个用户创建了一个文件夹,文件夹名就是用户的登录名

lib:链接库文件

media:系统的默认设备的挂载目录

mnt:一般我们把设备都挂载到这个文件夹下


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8041244.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存