linux基础之文件属性详述
目录
1、文件类型概念说明
1.1 文件属性信息组成
16797782 -rw-r--r--. 1 root root 186 Dec 11 16:40 i.txt
文件索引属性信息:inode 文件的唯一标:16797782
文件类型权限信息:-rw-r--r--.
文件硬链接属性信息:1
文件属主属性信息(所有者):root
文件属组属性信息(所属组):root
文件大小属性信息(字节):186
文件修改时间信息:Dec 11 16:40
文件名称信息说明:i.txt
1.2 inode编号
linux系统中文件的唯一编号,就相当于国人的身份证号码。
1.3 硬链接和软链接
硬链接:指向 inode编号。
软链接:指向对应文件的路径,相当于Windows中的快捷方式,软链接是可以指向软链接的
1.4 链接创建命令
ln 名字 :创建硬链接
in -s 名字 :创建软链接
1.5 删除文件的底层逻辑
1.删除的是硬链接
2.判断该文件的硬链接数是否为0
3.如果为0,则在磁盘中将其删除
4.如果不为0,则只删除其中一个硬链接
2、文件类型
# 注意:不能以颜色判断文件类型!!!
2.1 普通文件
标识符f(第一个字符-):分为3种:
1.纯文本文件
2.二进制文件
3.数据型文件
2.2 文件夹
标识符d(第一个字符d)
2.3 连接文件
标识符l(第一个字符l)
2.4 设备文件
标识符b/c(第一个字符b/c)
b:磁盘文件
c:字符文件
2.5 套接字文件socket
标识符s(第一个字符s) # 一般数据库里面会有相关文件
2.6 管道文件
标识符p(第一个字符p):把一端的东西给另外一端
# 断点续传:判断本地是否有这个文件,如果有的话是有下载过,从断掉的地方继续传。
3、文件类型的查看方法
文件类型的查看方法: file文件信息
# 拓展名不一定准确,只能做大致判断,准确判断的依据是标识符。常见以下拓展名:
1.配置文件:.conf
2.日志文件: .log
3.脚本文件:.sh
4.脚本文件:.py
4、文件软硬连接说明
1.硬链接:指向inode编号。同一个分区中,inode编号相同的互为硬链接。
创建命令: ln 路径 新路径 # 注意不能给目录创建硬链接
2.软链接:指向对应文件的路径信息,可以防止误删数据。
创建命令:ln -s 路径 新路径 # 路径使用绝对路径,不然容易失效
5、存储数据相关-inode
# 不能以文件名作为文件区分,inode编号是最小存储字节。
# 编号是具有字节长度限制的,超出会报错:no space left on device即磁盘空间不足
6、存储数据相关-block
磁盘存储文件的逻辑:每个磁盘会有很多的小块,一个块默认4KB。
磁盘满了会报错,即存储块都被占满了。
7、访问文件原理-inode/block
访问文件就是获取文件的inode编号信息和block位置信息进行访问的。
8、文件用户和用户组
1.用户:相当于账号
2.用户组:某些具有相同属性的账号的集合
3.创建用户的命令:useradd
参数:
-g :指定用户组(用户组必须存在)
-r :创建系统用户
-M :不创建家目录
-u :指定创建用户的ID的
# 系统用户: uid在 0-999之间的用户我们看做系统用户,一般用在启动程序上,一般不需要登录系统。
# 普通用户: udi在 1000及以上的用户我们看做普通用户,
4.创建用户组的命令: groupadd
参数:
-g : 指定用户组ID
5.切换用户:两种方式
su - 用户名
su 用户名
6.查看用户的ID或者组的ID:
id 用户名
7.查看用户详情的文件:
cat /etc/passwd
test01:x:1001:1001:用户简介:/home/test01:/bin/bash
用户名 : test01
密码占位符 :x
1001 : userid
1001 : 组id
/home/test01 : 家目录
/bin/bash :默认的解析器
# 密码占位符如果删掉了就不需要密码直接登录系统了
# 解析器:自带: bash; sh; 需要安装:zsh
9、文件时间信息
1.命令:stat 文件
2.三种时间信息分类:
atime : 访问时间
mtime : 修改时间
ctime : 属性修改时间
3.编辑文件内容:文件修改时间、属性修改时间都会变化,访问时间不变。
4.修改文件属性:文件属性时间变化,修改时间和访问时间不变。
5.访问文件信息:文件访问时间变化,修改时间和属性修改时间不变。