首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

一、Linux中的文件类型

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

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

二、文件类型分别介绍

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、关于权限掩码的解释:

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)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180206G0AXQR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券