08-Linux基础入门-文件和目录的属性及权限之文件类型文件扩展名及文件权限基础

Posted 张雨嘉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了08-Linux基础入门-文件和目录的属性及权限之文件类型文件扩展名及文件权限基础相关的知识,希望对你有一定的参考价值。

一、Linux中的文件类型
在Linux系统中,可以说一切(包括目录、普通文件、设备文件等)皆为文件。文件类型包含有普通文件、目录、字符设备文件、设备文件、符号链接文件、管道文件等等,当执行ls -l 或ls - al命令后可显示当前目录下的所有文件及文件夹:

    [root@centos ~]# ls -l
    总用量 40
    -rw-------. 1 root root  1140 2月   5 04:28 anaconda-ks.cfg
    -rw-r--r--. 1 root root 21736 2月   5 04:28 install.log
    -rw-r--r--. 1 root root  5890 2月   5 04:25 install.log.syslog

其中,第一列的第一个字符就是用来区分文件类型的,常见的文件类型如下表所示:

d(directory)    表示这是一个目录,在ext2fs中,目录是一个特殊文件。
-(regular file) 表示这是一个普通的文件。
l(link) 表示这是一个符号链接文件,实际上它指向另一个文件。
b(bock) 表示块设备和其他的外围设备,是特殊类型的文件。
c(character)    表示字符设备文件。
s(socket)   表示socket文件。
p(name pipe)    表示管道文件。

二、文件类型分别介绍
1、普通文件(regular file)
在Linux中,以-开头的文件就表示普通文件。这些文件一般是用相关的应用程序或系统命令创建,比如touch、cp、tar、echo、cat等。普通文件的删除方式可以使用rm命令。
普通文件大略还可以分为:
①纯文本文件(ascll):文件内容可以直接读到数据,例如:字母、数字、特殊符号等。可以用cat命令读文件,比如配置文件几乎都是这种类型的。
②二进制文件(binary):Linux中的命令文件就属于这个格式。例如cat命令就是一个二进制文件。
③数据格式文件(data):有些程序在运行的过程中会读取某些特定格式的文件,那些特定格式的文件可以被称为数据文件。例如:Linux在用户登录时,都会将登录的数据记录在/var/log/wtmp(last命令的数据库文件)那个文件内,该文件时一个数据文件。通过last命令读出来,cat命令会读出乱码,因为他书序一种特殊格式文件。lastlog(/var/log/lastlog)
补充:通过file命令可以查看文件类型
[root@centos ~]# file /bin/cat
/bin/cat: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
2、目录文件(directory)
在Linux中,以d字符开头的文件就表示目录。创建目录的命令可以用mkdir命令或cp命令(带-r或-a参数),cp可以把一个目录复制为另一个目录。删除目录用rm -r或rmdir(删除空目录才可以)命令。
3、字符设备或块设备文件
若第一个字符为c,则代表字符设备文件,例如猫等串口设备;若第一个字符是b,则表示块设备,例如硬盘、光驱等都属于块设备。我们可以用find /dev -type b |xargs ls -l查看块设备,用find /dev -type c |xargs ls -l查看字符设备。
4、套接字(socket)文件
在Linux中,以.socket为后缀的文件表示套接字文件,一般用于网络通信。
5、符号链接文件
符号链接文件也被称之为软链接文件,可以理解为Windows中的快捷方式。
6、管道文件(FIFO.pipe)
在Linux中,若第一个字符为p则代表管道文件。FIFO(fifo-first-in first-out)是一个特殊的文件类型,主要是解决多个程序同时访问一个文件所造成的错误。


三、Linux下常用的扩展名的作用
一般来说,Linux是不区分扩展名的。但是扩展名也代表一定的意义,例如:
①.tar(.tar.gz、.tgz、.zip、.tar.bz)表示压缩文件,创建命令一般为tar、gzip、unzip等。
②.sh表示shell脚本文件,通过shell语言开发的程序。
③.pl表示perl语言文件,通过perl语言开发的程序。
④.py表示python语言文件,通过python语言开发的程序。
⑤.html(.htm)、.php、.jsp、.do表示网页语言的文件。
⑥.conf表示系统的配置文件。
⑦.rpm表示rpm安装包文件。


四、文件权限基础

在Linux文件权限中,总共有十位,第0位表示文件类型,后9位表示文件权限。
1、关于每部分权限的解释:
第一部分(第1-3位):属主权限位(user权限位),供主人(自己)使用。
第二部分(第4-6位):属组权限位(group权限位),供小组(你亲近的人)使用。
第三部分(第7-9位): 其它用户权限位,供其他人使用。


2、关于权限掩码的解释:

r(read) 读   4
w(write)    写   2
x (execute) 执行  1
-   没有权限    0

3、关于权限掩码的计算:
将三部分权限相加,若完全权限为4+2+1=7,若只需要读写权限为4+2+0=6,若只需要读和执行权限为4+0+1=5。
上图的权限为755,分解计算如下算式所示:
7(=4+2+1)5(=4+0+1)5(=4+0+1)


欢迎关注
新浪微博:https://weibo.com/yougazhang0506
微信公众平台:张雨嘉

我的网站:http://www.zhangyujia.cn
51CTO博客:http://blog.51cto.com/11099293
CSDN博客:http://blog.csdn.net/u013260195
GitHub:https://github.com/zhangyujia0506/


以上是关于08-Linux基础入门-文件和目录的属性及权限之文件类型文件扩展名及文件权限基础的主要内容,如果未能解决你的问题,请参考以下文章

06-Linux基础入门-文件和目录的属性及权限之inode与block

10-Linux基础入门-文件和目录的属性及权限之用户与组和时间戳基础

09-Linux基础入门-文件和目录的属性及权限之链接(综合网络整理)

13-Linux基础入门-Linux中的文件及目录权限(综合网络整理)

Linux基础 08Linux用户权限相关命令

< Linux入门 > shell运行原理及Linux权限的理解