Linux文件系统

2018-01-03  本文已影响8人  lukeyan

1、主要概念

“文件”这个术语指的是常规文件、目录、符号连接、设备节点及其他

所有文件都有如下属性:用户所有者、组所有者、权限和时间信息。这种信息保存在名为inode(i-节点)的结构中。

文件名保存在名为dentry(目录项)的数据结构中。

文件的i-节点信息可以通过ls -l命令和stat命令查询。

在Linux内核中,文件一般通过i-节点编号加以识别。ls-l命令可以用来查询i-节点用来查询i-节点的编号

2、每个文件都有三层结构:dentry、inode和data

3、文件的时间信息

atime  访问时间,文件数据每次被阅读后更新

ctime  改变时间,文件的i-节点信息每次被改变后更新

mtime  改变时间,文件的数据每次被改变后更新

mtime的改变也会引起ctime的改变,atime的改变则不会引起mtime的改变。

4、文件的长度和大小

ls-l第五列显示文件长度(文件数据的实际字节数)

ls-s第一列显示文件大小(文件所占磁盘空间,单位千字节)

5、文件的链接数

文件的链接数就是引用该文件的dentry数(文件名)

6、用stat命令查看i-节点信息

7、用ls命令查看i-节点信息

8、硬链接和软链接

主要概念

ln命令可建立两种不同类型的链接,硬链接将多项dentry(文件名)关联到一个i-节点,软链接是一些不同的i-节点,用来引用其他文件名

9、目录与设备节点

主要概念

文件是指常规文件、目录、符号链接、设备节点及其他

所有文件均包含一些通用属性:用户所有者、组所有者、权限、时间戳信息

文件元数据保存于i-节点中

文件名保存于目录项(dentry)的数据结构中

可以使用ls-l命令或stat命令检查文件元数据

10、磁盘文件系统与挂载

主要概念

Linux允许通过/dev/目录下设备的节点对磁盘进行访问

通常,磁盘被分区格式化为文件系统,挂载到目录下使用

文件系统用mkfs命令创建

mount命令用于将磁盘分区挂载到已存在的目录,该目录叫做挂载点

unmount命令用于将已挂载目录脱卸。

df命令给出磁盘使用信息和已挂载的设备

11、文件系统将磁盘划分为规定大小的数据块进行管理

12、挂载文件系统

在UNIX系统中,一个分区满了,受影响的只有其挂载目录,而整个目录树不会受到影响

用户可以通过df命令查看分区空间使用状态

13、临时挂载

文件系统和挂载点也包括一些临时设备,例如软驱、光驱。

挂载相关问题:

1、权限

默认情况下,只有根用户才能够挂载和脱卸设备。如果一个用户通过网络登录或者使用su命令切换,那么他不会被认为是“控制台用户”,那么也就没有权限挂载这些设备。

2、使用中的文件系统

只有未被使用的文件系统才能被脱卸。一个文件系统里的文件被打开,任何进程的工作目录在该文件系统下,都会被认为是使用中的文件系统。唯一的办法是找到这些进程,然后kill掉。

3、自动挂载

GNOME图形环境会运行一个automounter程序,他会一直监控光驱,当新插入一张光盘,它会自动挂载。automounter程序是图形环境的一部分,通过虚拟控制台登陆的用户不会得到它的帮助,并且automounter只对光驱起作用。

4、内核缓冲

为了提升性能,内核对所有块设备操作做缓冲。例如当你向软驱复制数据,似乎很快就完成了,当你用unmount命令将其脱卸时,命令会等到将数据完全复制到磁盘后CIA完成。在妥协设备时,内核会将所有暂时延缓的更改提交到设备。

如果在完成提交更改之前将软盘取出后果:最好的结果,只是复制的数据不存在,最坏的情况是文件软盘上的文件系统损坏,下次再使用时内核无法识别。

14、使用locate和find命令查找文件

主要概念

locate命令利用数据库根据文件名快速定位系统上的文件

find命令实时、递归查找系统上的文件

find命令可以根据i-节点信息查找文件

find命令可对文件执行任意命令

配置文件可以在/etc目录下找到

可执行命令可以在/bin目录下找到

15、文件压缩:gzip和bipz2

主要概念

压缩不常用文件可以节约磁盘空间

最常用的命令是gzip

bzip2命令较新,压缩效果好。

16、文本归档:tar命令

主要概念

将文件归档可以把整个目录树保存在一个文件中。

tar命令用于创建、列出、抽取归档文件

归档文件通常也会一并压缩

file-roller应用程序提供图形化操作的界面

上一篇下一篇

猜你喜欢

热点阅读