看完这篇 Linux 权限后,通透了! (3)

Windows 下面判断文件是否能够执行的因素是看文件扩展名, 比如 .exe, .bat, .com 等等,但是在 Linux 中,判断文件是否具有可执行权限是直接判断文件有没有 x 这个权限,和文件名无关。

但是在 Linux 中,不只有文件具有权限,目录也有权限,文件是存放实际数据的地方,而目录是记录文件所在位置的清单,我们只有通过目录才能找到文件放在哪里!权限对于不同的目录,也代表着不同的概念。

r (read contents in directory):表示具有读取目录结构清单的权限,所以如果你具有读取一个目录的权限时,就代表你可以查询目录下的文件,所以你就可以使用 ls 将目录的内容显示出来。

w(modify contents of directory):写入权限表示你具有对文件目录和目录中的文件进行修改的操作,主要包括

删除已经存在的文件和目录。

创建新的文件和目录。

将已存在的文件或目录进行改名。

移动目录内文件、目录位置。

x(access directory):这执行权限有啥用?总不能目录也能够被执行把?其实并不是这样,执行权限表示着你有没有权限进入到指定目录下,也就是 cd(change directory) 。

Linux 文件种类和扩展名

想必大家都听说过这样一句话:任何设备在 Linux 下都是文件,但是文件也分为多种,除了上面介绍过的一般文件(-)目录文件(d) 之外,还包括下面这些文件类型

常规文件(regular file):常规文件就是我们使用 ls -al 所显示出来的属性,也就是上面我们列出的第一个字符,

image-20211227155846515

文件类型又可以分为

纯文本文件(ASCII),这是 Linux 系统中最多的一种文件类型,纯文本文件是我们能够直接看到的数据,你可以使用 cat 来直接看到这部分内容。比如我们最常用的设置 Linux 静态 ip 的文件 ens33 ,就可以使用 cat 命令来输出

cat ifcfg-ens33

image-20211227161304116

二进制文件,在 Linux 中,查看二进制文件可以使用 xxd 或者 od 进行格式化输出

数据格式文件,数据文件直接使用 cat 读取会显示乱码,但是它能够通过 last 指令进行输出

目录,目录没什么好说的,就是表示一个文件清单,目录的表示就是 [d],也就是 directory。

链接文件(link),链接文件就是某些程序执行时需要和这些链接文件进行链接才能执行的一种文件类型。

设备与设备文件(device),Linux 下的设备分为两种,块设备和字符设备:

块设备是一个能存储固定大小块信息的设备,它支持以固定大小的块,扇区或群集读取和(可选)写入数据。每个块都有自己的物理地址。通常块的大小在 512 - 65536 之间。所有传输的信息都会以连续的块为单位。块设备的基本特征是每个块都较为对立,能够独立的进行读写。常见的块设备有 硬盘、蓝光光盘、USB 盘

块设备一般位于 /dev/sda 下,它的第一个属性为 [b]。

image-20200330104419700

另一类 I/O 设备是字符设备。字符设备以字符为单位发送或接收一个字符流,而不考虑任何块结构。字符设备是不可寻址的,也没有任何寻道操作。常见的字符设备有 打印机、网络设备、鼠标、以及大多数与磁盘不同的设备

image-20200330113116106

字符设备最大的特点就是一次性读取,不能够截断输出,举例来说,你不可能将鼠标一下跳到另外一个地方,而是采用平滑移动的方式才可以,字符设备的第一个属性是 [c]。

数据接口文件(sockets):数据接口文件顾名思义就是利用 socket 承接网络数据的,它的属性是 [s],一般在 /run 或者 /tmp 这些目录中看到。

数据输送文件(FIFO,pipe):FIFO 也是一种特殊类型的文件,它的主要目的在于解决多个程序同时存取一个文件所造成的的错误问题,它的第一个属性为 [p]。

Linux 扩展名

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwsppd.html