【Gold菜鸟】Linux知识回忆(1)——文件管理

前言

这以部分让我们来了解,Linux中的文件,以及文件管理吧~

VX: wenjinworkon

目录

文件管理和目录结构

1.1 文件系统的目录结构

​编辑

1.2 文件系统目录功能

Linux中的文件

2.1  Linux下的文件类型

2.2 文件状态 stat

文件元数据

3.1 inode 表结构

3.2 硬链接

3.3 软链接

总结


文件管理和目录结构

1.1 文件系统的目录结构

1.2 文件系统目录功能

/boot:引导文件存放目录,内核文件(vmlinuz),引导加载器(bootloader,grub)都存放在该目录下

/bin:所有用户使用的基本命令:不能关联至独立分区,OS启动会用到的程序

/sbin:管理类的基本命令:不能管理至独立分区,OS启动会用到的程序

/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)

/lib64:专用于x86_64系统上的辅助共享库文件存放位置

/etc:配置文件目录

/home:普通用户的家目录

/root:超级管理员的家目录

/media:便携式移动设备的挂载点

/mnt:临时文件系统挂载点

/dev:设备文件及特殊文件存储位置

/opt:第三方应用程序的安装位置

/srv:系统上运行的服务用的数据

/tmp:临时文件存储位置

/usr: universal shared read-only data

        bin:保证系统拥有完整功能而提供的应用程序

        sbin: 系统管理命令

        lib:32位使用的库文件

        lib64:64位使用的库文件

        include:C语言程序的头文件(header files)

        share:结构化独立数据,例man、doc等

                local:第三方应用程序安装的位置

                        bin、sbin、lib、lib64、etc,share

/var: variable data files

        cache:应用程序的缓存数据目录

        lib:应用程序状态信息数据

        local:专门为/usr/local下的应用程序存储可变数据

        lock:锁文件

        log:日志目录及文件

        spool:应用程序数据池

/proc:用于输出内核域进程信息相关的虚拟文件系统

/sys:用于输出当前文件系统上硬件设备相关信息虚拟文件系统

/selinux:selinux相关安全策略等信息存储位置

Linux中的文件

2.1  Linux下的文件类型

  • -    普通文件
  • d   目录文件directory
  • l    符号连接文件link
  • b   块设备block
  • c   字符设备character
  • p   管道文件pipe
  • s   套接字文件socket

2.2 文件状态 stat

文件相关信息:metadata,data

[root@centos8 ~]#stat /etc/passwd
 File: /etc/passwd 
 Size: 1306     Blocks: 8         IO Block: 4096   regular file
Device: 802h/2050d Inode: 134792556   Links: 1
Access: (0644/-rw-r--r--) Uid: (    0/   root)   Gid: (    0/   root)
Access: 2019-12-09 20:37:12.830991350 +0800
Modify: 2019-12-09 20:37:12.826991351 +0800
Change: 2019-12-09 20:37:12.826991351 +0800
 Birth: -

File:文件名
Size:文件字节数
Blocks:块大小数量
IO Block:块大小
regular file:常规文件
Device:文件所在设备的编号
Inode:文件的索引节点号,唯一标识一个文件
Links:文件的连接数
Access:文件权限
Uid:属主的id/属主名
Gid:属组的id/属组名
Access time 访问时间,atime,读取文件内容
Modify time 修改时间,mtime,改变文件内容(数据)
Change time 改变时间,ctime,元数据发生改变

文件元数据

Linux 下文件和目录的本质区别和组成

  • 文件 :文件的 inode 存储了元数据(如所有者、权限、文件大小、创建和修改时间等)以及指向数据块的指针。 这些数据块存储了文件的实际内容。
  • 目录 :目录的 inode 同样存储了元数据和指向数据块的指针。 不同的是,这些数据块存储的是一系列目录项,每个目录项包含一个文件名和一个 inode 号。 这样,我们就可以通过文件名找到对应的 inode,并进一步找到文件或者子目录的内容。

3.1 inode 表结构

文件的元数据:每个文件的属性信息,比如:文件的大小,时间,类型等。

这些数据存放在inode表中

每一个inode表记录了以下信息:

  • inode number 节点号
  • 文件类型
  • 权限
  • UID
  • GID
  • 连接数(指向这个文件名路径名称个数)
  • 该文件的大小和不同的时间戳
  • 指向磁盘上的数据库指针
  • 有关文件的其他数据

目录
目录是个特殊文件,目录文件的内容保存了此目录中文件的列表及inode number对应关系
  • 文件引用一个是inode号
  • 人是通过文件名来引用一个文件
  • 一个目录是目录下的文件名和文件inode号之间的映射

rm和inode

rm命令:

  • 链接数递减,从而释放的inode号可以被重用
  • 把数据块放在空闲列表中
  • 删除目录项
  • 数据实际上不会马上被删除,但当另一个文件使用数据块是将被覆盖

rm 实际上是删除的元数据信息,要实现删除数据块信息可通过:

[root@centos8 ~]#cat /dev/null > /var/test.log

3.2 硬链接

硬链接实际上就是个一个文件起一个新的名称,实际还是同一个文件

特性:

  • 创建硬链接会在对应的目录中增加额外的记录下以引用文件
  • 对于同一文件系统上一个物理文件(不能跨越文件系统)
  • 创建时链接数递增
  • 删除文件时: rm 命令递减计数的链接,文件要存在,至少有一个链接数,当链接数为零时,该文件被删除
  • 不能跨越驱动器或分区
  • 不支持对目录创建硬链接
ln filename [linkname ]

3.3 软链接

一个符号链接指向另一个文件,类似于windows中快捷方式,软链接和原文件本质上不是一个文件

特性:

  • 一个符号链接的内容是它引用文件的名称
  • 可以对目录创建软链接
  • 可以跨分区的文件实现
  • 建议使用绝对路径
  • 指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件 inode 的引用计数
    ln -s filename [linkname]

    总结

    这样我们就初步了解Linux文件管理的目录以及文件相关特性了,欢迎添加VX: wenjinworkon

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

geekgold

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值