1、Linux的7种文件类型
在linux中,有一句经典的话叫做:一切皆文件。这句话是站在内核角度说的,因为在内核中所有的设备(除了网络接口)都一律使用linux的虚拟文件系统VFS(virtual filesystem)来管理。目的是将各种不同的设备用文件的概念加以封装,简化应用层的编程难度。文件是linux系统最重要的抽象概念之一。
文件标识 | 名称 | 类型 |
---|---|---|
- | regular | 普通文件(压缩包、二进制、文本) |
d | directory | 目录 |
l | link | 软链接文件(相当于快捷方式) |
s | socket | 本地域套接字 |
p | pipe | 有名管道 |
b | block | 块设备节点文件 |
c | character | 字符设备节点文件 |
注:
普通文件:存在于外部存储器,用于存储普通数据。
目录文件:用于存放目录项,是文件系统管理的重要文件类型
连接文件:用于间接访问另外一个文件目标(windows快捷方式)
管道文件:一种用于进程间通信的特殊文件
套接字文件:一种用于网络间通信的特殊文件
块设备文件:就是存储数据以供系统存取的借口设备,简单而言就是硬盘
字符设备文件:字符设备在应用层的访问接口
2、linux目录
linux系统目录树架构就是以根目录为主,然后向下呈分支状的目录结构。linux中目录的概念,跟windows中的文件概念很容易让人混淆。在linux中的文件夹类似一种容器,大文件夹里面放了很多文件以及子文件夹,一层套一层,但是不管怎么放,里面的文件总比外面的小,windows中的子文件夹是不可能比外部文件还大的。在linux中的目录并不是一种容器,而仅仅是一个文件索引表,可以理解为一条回家的路径。
linux中的目录就是一组由文件名和索引号组成的索引表,目录下的文件的真正内容存储在分区中的数据域。目录中索引的每一项被称为目录页,里面至少存放了一个文件的名字和索引号,当我们访问某个文件的时候,就是根据其所在的目录的索引表中的名字,找到索引号,然后在分区的节点域中查找到对应的文件i节点。
Wuxx@ubuntu:/$ tree / -L 1
/
├── bin/ ==> 放系统的二进制文件(一般用户的命令)
├── boot/ ==> 放系统镜像(Linux内核)
├── dev/ ==> 放系统的设备节点文件
├── etc/ ==> 放系统几乎所有的配置文件
├── home/ ==> 放系统中所有普通用户的家目录
├── lib
├── lib32
├── lib64 ==> 放系统的库文件
├── proc/ ==> 系统内核进程信息的挂载路径
├── root/ ==> 放系统中根用户的家目录
├── sbin/ ==> 放系统的二进制文件(根用户的命令)
├── sys/ ==> 系统模块、总线等关键内容的挂载路径
├── tmp
├── usr/ ==> 系统头文件、第三方软件存放的地方
├── var/ ==> 系统中易变的文件(邮件池、日志、apt下载临时存放地点……)的存放的地方
3、文件、目录权限
权限数字对应权限组说明:
owner:所有者权限
group:所属组权限
others:其他人权限
r:read 可读
w:write 可写
x:excute 可执行
-rw-r--r-- 1 Wuxx Wuxx 8980 Sep 30 2017 examples.desktop
drwxrwxr-x 14 Wuxx Wuxx 4096 Oct 9 2017 git/
drwxr-xr-x 3 Wuxx Wuxx 4096 Sep 30 2017 Pictures/
d | rwx | rwx | r-x | 2 | Wuxx | Wuxx | 4096 | Oct 9 2017 | git/ |
---|---|---|---|---|---|---|---|---|---|
类型 | 所有者 | 所属组 | 其他人 | 硬链接数 | 所有者 | 所属者 | 文件大小 | 时间日期 | 文件名 |
d rwx rwx rwx = 777 表示目录的操作权限
下个笔记分享常用命令和修改权限方法