1、文件详细信息
利用 ls -lhi命令查看文件的详细信息
示例:134319703 drwxr-xr-x. 2 root root 19 Dec 10 22:57 data
以上面为例
134319703 :inode编号(下面细说)
drwxr-xr-x. :文件类型及权限
2 :硬链接数(下面细说)
root :所属主(用户)
root :所属组(用户组)
19 :文件大小(单位为字节,够一个k以kb展示)
Dec 10 22:57 :文件创建日期
data :文件名
2、inode编号
1、什么是inode编号
linux中的inode编号是索引节点的编号,每个inode对应一个不同的号码,每个文件有一个inode编号,且inode编号具有唯一性
2、inode编号的作用
1、由于inode编号具有唯一性,因此可以作为文件的一种标识,类似每个人的身份证号码,用来标识文件的唯一性,默认用来存放文件的属性信息
2、当我们在linux系统中查找文件时,遇到文件名相同的情况时,如何准确的查找到所需的文件?
实际上是通过文件自身的inode编号进行查找,这就有效的避免了遇到文件名相同的情况时无法精确查找所需文件的冲突
而我们每次在查找文件时,实际上是在查找文件对应的inode编号
3、如何查看文件的inode信息及统计inode编号的个数
1、查看文件的inode信息
ls命令:参数:-i
[root@jinx ~]# ls -lhi /etc/hosts
67865028 -rw-r--r--. 1 root root 158 Dec 13 15:36 /etc/hosts
2、统计inode编号的个数
[root@jinx ~]# df -i /etc/hosts
3、block
1、什么是block
在linux中,block又叫块,用来存放文件的数据信息,linux文件系统中使用块(block)作为最小的寻址单元
2、block特点
1、block存放的是数据信息,默认大小为4k,大的文件会占用多个block,较小的文件,剩余的block空间无法使用
2、磁盘在读取数据时以block为单位进行读取
3、每读取一个block消耗一次磁盘的读写操作(input/output)
3、如何展示block信息
1、查看block信息
[root@jinx ~]# ls -lh /etc/hosts
2、统计block数目
[root@jinx ~]#df或者[root@jinx ~]#df -h
4、访问文件原理
- 创建一个文件至少占用一个inode和一个block
- 通过用户名打开文件,实际上内部发生了三个操作
1、系统找到文件对应的inode编号
2、通过inode编号,获取inode信息
3、根据inode信息找到文件数据所在的block,读出数据
5、文件类型及权限
1、nux中文件类型介绍
[root@jinx ~]# ls -lhi /etc/hosts
67865028 -rw-r--r--. 1 root root 158 Dec 13 15:36 /etc/hosts
以上面为例
以-或f开头的 :普通文件
以d开头 :文件夹
以l开头 :连接文件(软连接,硬链接)
以b或c开头 :设备文件
b :磁盘文件
c :字符文件
以s开头 :套接字文件(socket)
以p开头 : 管道文件
2、文件相关权限
拥有权限
1、文件或目录属主用户权限:rw-
2、文件或模流属组成员权限:r--
3、文件或目录其他用户权限:r--
6、文件软硬链接
1、硬链接
1、什么是硬链接
在linux系统中,硬链接相当于访问文化的一个入口,硬链接数相当于访问文件的入口数量,同一个分区中,inode号码相同的文件互为硬链接
2、如何创建硬链接
命令关键字:ln
语法格式:ln [文件绝对路径] [文件硬链接绝对路径]
3、特征解释
1、创建硬连接时建议采用绝对路径,否则容易失效
2、硬链接原文件必须删除
3、不能对文件夹创建硬链接
4、删除文件的底层逻辑
1、删除的是硬链接数
2、硬链接数不为0,则删除一个硬链接数
3、硬连接数为0,则在磁盘中将文件删除
5、创建文件硬链接与拷贝文件的区别
拷贝文件其实是产生了一个新的文件,将原文件的内容复制一份,但是和原文件的属性已经发生了变化,即inode不再相同
创建文件硬链接实质上是文件的硬连接数count加1,文件属性相同,即inode相同
2、软链接
1、什么是软连接
linux中的软连接相当于windows里的快捷方式,用于存放指向原文件的路径信息
2、如何创建软链接
命令:ln -s
语法格式:ln -s[原文件路径] [软链接路径]
3、特征解释
1、创建软链接时建议采用绝对路径,否则容易失效
2、链接原文件删除,会影响软链接
3、原文件可以是文件,也可以是文件夹
扩展:如何真正的删除一个文件
1、文件硬连接数为0时,表示数据真正的删除了
2、文件信息没有被进程调用时,进程调用数为0
7、文件用户、用户组
1、什么是用户、用户组
用户:相当于账号
如:root用户
用户组:具有相同属性的账号的集合
如:root用户组
2、创建用户的命令
useradd
参数:
-g :指定用户组(用户必须存在)
-r :创建系统用户
-M :不创建家目录
-u :指定创建用户的id
3、什么是普通用户、系统用户
系统用户:用户id在0-999之间的用户,我们就看作是系统用户
系统用户一般用在启动应用程序上,一般不需要登录系统
普通用户:uid在1000及以上的用户,我们就看作是普通用户
普通用户一般用在登录上
4、创建用户组的命令
groupadd
参数:
-g :指定用户组的id
5、切换用户
su -[用户名]
su [用户名]
6、查看用户的id或组的id
id [用户(组)名]
7、与用户相关的文件
1、用户的特征信息
/etc/passwd
[root@localhost ~]# cat /etc/passwd
test01:x:1001:1001:用户简介:/home/test01:/bin/bash
用户名 : test01
密码占位符 :x
1001 : userid
1001 : 组id
/home/test01 : 家目录
/bin/bash :默认的解析器
2、用户的密码信息
/etc/shadow
3、用户组特征信息
/etc/group
4、用户组密码信息
/etc/gshadow
5、用户家目录默认隐藏文件
/etc/skel
8、文件时间信息
文件时间信息主要分为三种
使用stat命令查看文件的属性:
[root@jinx ~]# stat /root
File: ‘/root’
Size: 275 Blocks: 0 IO Block: 4096 directory
Device: fd00h/64768d Inode: 134319681 Links: 5
Access: (0550/dr-xr-x---) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-12-14 18:34:36.645811564 +0800
Modify: 2021-12-14 18:34:35.006811456 +0800
Change: 2021-12-14 18:34:35.006811456 +0800
Access :文件访问时间
Modify :文件修改时间
Change :属性修改时间
文件类型查看方法
file [文件信息]
扩展:创建大量小文件
1、echo {1..500000}.txt|xargs touch
2、ls *.txt|xargs rm