
本文共 2525 字,大约阅读时间需要 8 分钟。
在Linux中,一切皆文件。通常使用ls命令来查看文件类型。
如查看家目录下的文件类型:ls –l
又如,查看家目录下UFE目录下的各文件类型,可直接在家目录中使用ls命令查看,只不过需加上路径,即ls –l ./UFE
如上图所示,查看文件类型的显示结果格式为:
drwxrwxr-x
其中,第1个字母代表文件类型。如上图所示,d代表目录文件
第2~4个字母代表用户的权限。r为读权限,w为写权限,x为执行权限
第5~7个字母代表用户组的权限。
第8~10个字母代表其他用户的权限。
在Linux中,常见的文件类型有7种,如下所示:
文件属性 | 类型 |
- | 常规文件,即file |
d | 目录文件 |
b | block device,即块设备文件,如硬盘,支持以block为单位进行随机访问 |
c | character device,即字符设备文件,如键盘,支持以character为单位进行线性访问 |
l | symbolic link,即符号链接文件,又称软链接文件 |
p | pipe,即命名管道文件 |
s | socket,即套接字文件,用于实现两个进程进行通信 |
常规文件(常规文件):即使用ls –l命令查询出来的显示的文件属性开头为[-],如[-rw-rw-r--]。依照文件的内容,常规文件又可分为二进制文件、xml文件、db文件、纯文本文件等。
纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,称其为纯文本文件,是因为此文件类型的文件内容是我们可以直接读到的数据,例如数字、字母等。
二进制文件(binary):Linux中的可执行文件(脚本)就是这种类型的。
数据格式的文件(data):有些程序在运行过程中会读取某些特定格式的文件,那些特定格式的文件可以称为数据文件(data file)。如Linux在用户登录时,都会将登陆数据记录在/var/log/wtmp文件内,该文件是一个数据文件,它能通过last命令读出来。但在使用cat时,会读出乱码,因为这是一种特殊格式的文件。
如果要查看一个常规文件的类型可以使用file命令,file 文件名,如
设备文件(device):与系统外设及存储等相关的一些文件,通常都集中在/dev目录下,又可分为块(block)设备文件和字符(character)设备文件通常情况下,使用ls –l命令查看文件类型后,结果的第5列会显示当前文件的大小,但是如果是设备文件,会有两个数字,用逗号分隔,这并不是表示文件的大小。第1个数字代表主设备号,用于区分设备类型,不同的设备有着不同的设备号,同一设备的设备号相同,用于确定加载设备的驱动程序;第2个数字代表次设备号,用于区分同一种类型设备的不同设备,如硬盘1,硬盘2等。块设备文件就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是/dev/hda1等文件。属性栏第一个字母为b。字符设备文件即串行端口的接口设备,例如键盘、鼠标等。属性栏第一个字母为c。
目录文件(directory):就是简单的目录,属性栏第一个字母为d,如[drwxrwxrwx]。
连接文件(link):类似Windows下面的快捷方式。属性栏第一个字母为l,如[lrwxrwxrwx]。
套接字(socket)文件:这类文件通常用在网络数据连接上。启动一个程序来舰艇客户端的要求时,客户端就可以通过套接字来进行数据通信。属性栏第一个字母为s,通常在/var/run目录先可以看到这种类型的文件。
管道(pipe)文件:FIFO(先进先出)也是一种特殊的文件类型,它主要的目的是解决多个程序同时存取一个文件所造成的错误。属性栏第一个字母为p。
基本上,Linux文件是没有扩展名的。我们知道,Linux文件能否执行成功,与它属性栏的第10个字母有关,如果第10个字母是x,即表示这个文件可执行。这与Windows不同,Windows中能执行的文件扩展名通常是.com、.exe、.bat等。但是,Linux通常还是会以适当的扩展名来表示文件的类型,如
.sh:批处理文件
.tar、.tar.gz、.zip、.tgz:经过打包的压缩文件
.hml、.php:网页相关文件
一般情况下,Linux文件名应该尽量避免使用如下这些特殊字符:* ? > < ; & ! [ ] | / ’ “ ` ( ) { },因为这些符号在命令行界面下也是有特殊意义的。另外,当文件名的开头为小数点“.”时,表示这个文件为“隐藏文件”。
在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。文件权限就是文件的访问控制权限,即哪些用户和组群可以访问文件以及可以执行什么样的操作。
通过设定权限可以通过以下三种访问方式限制访问权限:
(1)只允许用户自己访问(所有者)。所有者就是创建文件的用户,用户是所有用户所创建文件的所有者,用户可以允许所在的用户组能访问用户的文件。
(2)允许一个预先指定的用户组中的用户访问(用户组)。所有用户组成用户组。例如,某一类或某一项目中的所有用户都能够被系统管理员归为一个用户组,一个用户能够授予所在用户组的其他成员的文件访问权限。
(3)允许系统中的任何用户访问(其他用户)。用户也将自己的文件向系统内的所有用户开放,在这种情况下,系统内的所有用户都能够访问用户的目录或文件。在这种意义上,系统内的其他用户就是other用户类。
用户能够控制一个给定的文件或目录的访问程度,一个文件或目录可能有读、写、执行权限。
读(r)权限:对文件来说,具有读取文件内容的权限;对于目录来说,具有浏览目录的权限。
写(w)权限:对文件来说,具有新增、修改文件内容的权限;对于目录来说,具有删除、移动目录内文件的权限。
执行(x)权限:对文件来说,具有执行文件的权限;对于目录来说,用户具有进入目录的权限。
通常,只有文件的所有者或超级用户才能改变文件的读写权限。
例如:
第一列的第1个字母代表文件类型;第2~4个字母代表所有者拥有的权限;第5~7个字母代表用户组拥有的权限;读8~10个字母表示其他用户拥有的权限。
发表评论
最新留言
关于作者
