Linux文件系统及管理
Linux文件系统及管理
一、Linux系统的文件系统与目录结构
Linux系统的文件目录结构为一个单根倒置的树结构,具体表现如下图:
从CentOS7开始,以下目录与之前的版本发生变化
◆/bin 软链接指向 /usr/bin
◆/sbin 软链接指向 /usr/sbin
◆/lib 软链接指向 /usr/lib
◆/lib64 软链接指向 /usr/lib64
文件系统从根目录下开始,用“/”表示
◆boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放于此目录
◆/bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
◆/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
◆/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
◆/lib64:专用于x86_64系统上的辅助共享库文件存放位置
◆/etc:配置文件目录
◆/home/USERNAME:普通用户家目录
◆/root:管理员的家目录
◆/media:便携式移动设备挂载点
◆/mnt:临时文件系统挂载点
◆/dev:设备文件及特殊文件存储位置
b: block device,随机访问
c: character device,线性访问
◆/opt:第三方应用程序的安装位置
◆/srv:系统上运行的服务用到的数据
◆/tmp:临时文件存储位置
◆/usr: universal shared, read-only data
bin: 保证系统拥有完整功能而提供的应用程序
sbin:
lib:32位使用
lib64:只存在64位系统
include: C程序的头文件(header files)
share:结构化独立的数据,例如doc, man等
local:第三方应用程序的安装位置
bin, sbin, lib, lib64, etc, share
◆/proc: 用于输出内核与进程信息相关的虚拟文件系统
◆/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
◆/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置
二、Linux下的文件类型
◆- 普通文件
◆d 目录文件
◆b 块设备
◆c 字符设备
◆l 符号链接文件
◆p 管道文件pipe
◆s 套接字文件socket
三、文件的3种时间atime mtime ctime
Linux系统中,文件存在3种时间状态属性
1、这3个time的含义:
atime:Access Time 最后一次访问文件(读取或执行)或目录的时间;
mtime:Modofy Time 最后一次修改文件内容(数据)或目录内容(目录内文件列表)的时间;
ctime:Change Time 最后一次改变文件属性(元数据)或目录属性(元数据)的时间;
2、如何查看文件或目录的atime/mtime/ctime
可通过stat命令查看全部3个时间
[root@centos7 data]#stat test.txt
File: ‘test.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 803h/2051d Inode: 67 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2019-07-28 15:25:54.755150776 +0800
Modify: 2019-07-28 15:25:54.755150776 +0800
Change: 2019-07-28 15:25:54.755150776 +0800
Birth: -
[root@centos7 data]#
或可以通过以下命令分别查看:
查看atime: ls -lu filename
[root@centos7 data]#ls -lu test.txt
-rw-r--r--. 1 root root 0 Jul 28 15:25 test.txt
[root@centos7 data]#
查看mcime: ls -l filename
[root@centos7 data]#ls -l test.txt
-rw-r--r--. 1 root root 12 Jul 28 15:29 test.txt
[root@centos7 data]#
查看ctime: ls -lc filename
[root@centos7 data]#ls -lc test.txt
-rw-r--r--. 1 root root 12 Jul 28 15:29 test.txt
[root@centos7 data]#
四、Linux文件系统的inode
1、inode是什么?
理解inode,要从文件储存说起。
文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个block。
文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为索引节点。
每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。系统是根据inode号来识别文件。
2、inode包含的信息
inode包含文件的属性信息(元数据),具体来说有以下内容:
* 文件的字节数
* 文件拥有者的User ID
* 文件的Group ID
* 文件的读、写、执行权限
* 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。
* 链接数,即有多少文件名指向这个inode
* 文件数据block的位置
3、inode的特性
inode也会消耗磁盘空间,所以在硬盘格式化的时候,操作系统会自动将硬盘分为2个区域,一部分用来存放inode信息,一部分存放文件数据。
每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。
磁盘的每一个独立分区的inode号是相互独立的。
查看每个硬盘分区的inode总数和已经使用的数量,可以使用df -i命令。
[root@centos7 ~]#df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda2 26214400 131432 26082968 1% /
devtmpfs 228956 391 228565 1% /dev
tmpfs 232906 1 232905 1% /dev/shm
tmpfs 232906 872 232034 1% /run
tmpfs 232906 16 232890 1% /sys/fs/cgroup
/dev/sda3 26214400 4 26214396 1% /data
/dev/sda1 524288 342 523946 1% /boot
tmpfs 232906 9 232897 1% /run/user/42
tmpfs 232906 1 232905 1% /run/user/0
[root@centos7 ~]#
五、硬链接、软链接文件特性及区别
硬链接:同一文件系统上(同一磁盘分区)相同inode编号的不同文件名的文件,对应同一文件系统上相同的block磁盘位置。
软链接:一个符号链接文件指向另外一个文件或者目录,与被指向的文件inode号不相同。
硬链接和软连接的区别:
(1)本质:硬链接:同一个文件多个名字,软连接不同的文件。
(2)硬链接不可以跨分区,软链接可以。
(3)硬链接不支持对目录创建,软链接支持。
(4)相互关系:硬链接相互是独立的关系,软链接相互是依赖的关系。
(5)inode号,硬链接相同,软连接不同。
(6)链接数。硬链接会增长或减少,软链接不变。
(7)路径问题:原始文件的路径。硬链接的相对路径是当前工作目录,软连接是相对路径是根据后面软链接的路径决定。
Linux文件系统及管理的更多相关文章
- Linux文件系统和管理-1文件系统目录
文件系统目录结构 Linux常见目录及用途 bin binary 放的是二进制程序 /usr/bin 和这是同一回事 bin -> usr/bin /bin是 /usr/bin的快捷方式 boo ...
- linux 文件系统的管理 (硬盘) 工作原理
一.系统在初始化时如何识别硬盘 1.系统初始时根据MBR的信息来识别硬盘,其中包括了一些执行文件就来载入系统,这些执行文件就是MBR里前面446bytes里的boot loader 程式,而后面的16 ...
- Linux入门基础 #5:Linux文件系统挂载管理
本文出自 http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...
- Linux文件系统挂载管理
http://itercast.com/lecture/19 文件系统创建好之后需要挂载到系统中方可使用,windows.Mac系统会自动挂载文件系统,而Linux下一般需要手工挂载或配置系统进行自动 ...
- Linux 入门记录:九、Linux 文件系统挂载管理
一.挂载操作 磁盘或分区创建好文件系统后,需要挂载到一个目录才能够使用. Windows 或 Mac 系统会进行自动挂载,一旦创建好文件系统后会自动挂载到系统上,Windows 上称之为 C 盘.D ...
- Linux文件系统和管理-2文件操作命令(中)
创建空文件和刷新时间 touch touch命令可以用来创建空文件或刷新文件的时间 touch 存在的文件刷新时间,不存在的文件创建空文件 生成指定日期的日志文件 [root@C8-1 ~]# dat ...
- Linux文件系统和管理-2文件操作命令(上)
文件操作命令 文件 文件也包括目录 目录是一种特殊的文件 目录 一个目录名分成两部分 所在目录 dirname 父目录的路径 文件名 basename 本身就是两个命令 [root@C8-1 misc ...
- Linux文件系统和管理-2文件操作命令(下)
移动和重命名文件 mv 命令可以实现文件或目录的移动和改名 剪切的效果 同一分区移动数据,速度很快:数据位置没有变化 不同分区移动数据,速度相对慢:数据位置发生了变化 格式 和cp基本一样 mv [O ...
- linux基础-第十三单元 硬盘分区、格式化及文件系统的管理二
第十三单元 硬盘分区.格式化及文件系统的管理二 文件系统的挂载与卸载 什么是挂载 mount命令的功能 mount命令的用法举例 umount命令的功能 umount命令的用法举例 利用/etc/fs ...
随机推荐
- but only one is allowed(重复处理跨域请求)
情景:vue的项目中在本地调试项目,在前端的跨域配置没有问题的情况下,出现这样的报错. 解决方案,参考: https://www.cnblogs.com/zsg88/articles/11576324 ...
- Springboot配置连接两个数据库
背景: 项目中需要从两个不同的数据库查询数据,之前实现方法是:springboot配置连接一个数据源,另一个使用jdbc代码连接. 为了改进,现在使用SpringBoot配置连接两个数据源 实现效果: ...
- cmake安装与使用
CMake(cross platform make)是一个开源的跨平台工具系列,旨在构建,测试和打包软件. 使用指定名为CMakeLists.txt的配置文件可以控制软件的构建.测试和打包等流程. 通 ...
- 手把手教你创建electron+vue项目
electron可以结合前端的很多框架来进行快速的开发.在这里只讲一种electron结合vue并且使用前端的elementui来快速搭建一个项目页面. 第一步.创建electron 以管理员身份运行 ...
- Centos6 系统下源码方式安装Mysql 记录
在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配. #### ...
- 基于layUI调用后台数据实现区域信息级联查询
基于layUI调用后台数据实现区域信息级联查询 1.基本思路 后台提供根据区域编码查询区域列表公共接口 页面初始化调用后台接口加载所有省份 点击省份将省份区域编码传入后台查询该省份下所有地市信息,以此 ...
- 虚拟机出现“The system is running in low-graphics mode”的解决方法
我用虚拟机安装了ubuntu的版本后,又在上面安装了几个插件,第二次打开虚拟机就出现下面的提示: 通过在网上查找教程,找到了以下的解决方法 1.Ctrl+Alt+F1进入控制台 2.输入用户密码 3. ...
- svn-疑难解决
Linux下搭建SVN服务器 https://blog.51cto.com/19940919/2095011 [SVN]出现SVN--Authorization failed错误原因 https:// ...
- 【题解】Luogu P5358 [SDOI2019]快速查询
原题传送门 神鱼说这道题是强制离线(smog 我们珂以把被单点修改,单点查询的点单独拿出来处理,把每个数表示成\(mul*x+plus\) 初始状态下\(mul=1,plus=0\) 操作1:在总和中 ...
- CentOs7.3 搭建 SolrCloud 集群服务
一.概述 Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库: Solr是以Lucene为基础实现的文本检索应用服务.Solr部署方式有单机方式.多机Master-Slaver方式.C ...