操作系统文件属性
废话不多说先上图
下面是分解图
- inode号:索引信息:相当于身份证号,里面有文件属性信息
- 文件类型:文件类型不同,操作处理方式也会不同
- 文件权限:对文件能有什么操作能力
r : 有r 就是拥有读的权限
w: 有w 就是拥有写的权限
x : 有x就是拥有执行的权限 - 硬连接数:硬连接数类似于文件有多少个入口
- 属主:文件的创建者,拥有最大的权限
- 属组:文件管理者,如果需要更多的权限需要设置
- 文件大小:这个文件占用多少磁盘的资源
- 文件修改时间:文件被修改的时间信息(有三种时间信息:访问时间,修改时间,改变时间,后面会继续深入)
- 文件名称:没错,就是字面意思,文件的名称,但是这个文件名称不是文件的属性(前期先这么知道就行了,不抬杠😊)
文件属性之文件类型信息
先补充一点:Linux系统中,文件类型不是有文件的扩展名称所决定的
-
系统中常见的文件类型:
-
普通文件( - ):普通的文本文件,文件是普通文件会是 - 开头(上面有图片)
-
目录文件( d ):目录文件会以 d 开头显示
-
链接文件( l ):链接文件是以 l 开头显示
-
设备文件( b ):存储设备文件,设备文件会以 b 开头显示
-
字符流设备文件( c ):字符流设备文件以 c 开头显示
-
网络套接字文件( s ):网络套接字文件以 s 开头显
-
-
文件类型相关命令
-
如何在系统中寻找文件信息
· 方法一:寻找命令文件
#
which 命令
- - - 寻找命令文件存放的位置
#whereis 命令
- - - 寻找出命令文件的位置 与 命令源文件(相当于软件包)· 方法二:按文件名称查找所在得路径
#
locate 文件名称
- - - 根据文件名称查询
使用时的注意:Linux系统会自动创建一个数据库,而是搜索这个数据库,这个数据库中含有本地所有文件信息,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况先使用updatedb命令,手动更新数据库。· 方法三:精准信息查找文件
语法格式:#
find 目录范围 搜索条件
搜索条件包括:
- 根据文件类型搜索
语法格式:#find /目录信息 -type 类型
- 根据文件名称搜索
语法格式:#find /目录 -name 名称信息
- 根据大小写搜索信息
语法格式:#find /目录 -iname 名称
- 根据文件大小查询文件
语法格式:#find /test -size +10k
- - - 在 /test 目录下 寻找大于 10k 的文件
语法格式:#find /test -size -10k
- - - 在 /test 目录下 寻找小于 10k 的文件
语法格式:#find /test -size 10k
- - - 在 /test 目录下寻找正好是10k的文件- 根据文件路径信息查找
语法格式:#find /test -maxdepth 1 -name "名称"
- - - 表示查找 /test 下的第一层目录就可以了
参数解析:maxdepth(最大深度级别) 的意思就是 只需你你查到第几层就可以了,后面需要第几层的层数语法格式:#
find /test -mindepth 3 -name "名称"
- - - 表示从 /test 目录下的第三层 目录开始查起,一直到最底层的一个目录
参数解析:mindepth (最小深度级别),从第几层(包括在的那一层)开始查起,比如从第三层查起,第三层也会被查。- 使用条件逻辑的关系查找
一:查找有两个条件的文件
语法:#find /test -size +6k -a -name "test"
- - - 表示从 /test 目录下载查找出大于6k并且名称有中 test 的文件,
参数解析:-a 在这里表示 并且 的意思,后面可以加上其他的条件二:查找出xxx或xxx的文件
语法:#find /test -name "test*" -o -name "*.txt"
- - - 在 /test 目录中 查找出以 test开头的文件,或者以 .txt 结尾的文件都查找出来。
参数解析: -o 在这里表示 或者 的意思,后面也可以跟其他条件想要查找的文件- 使用时间条件查找
一:按天数查找
#find /oldboy -mtime +3
- - - 表示查找出距离当前时间3天以前创建文件。比如今天13号,如果要查找3天以前的就会从10号开始往回查找,找出10号之前创建出的文件。
#find /oldboy -mtime -3
- - - 表示查找出前3天以内创建的文件。再比如今天是13号,如果要查找出前3天以内的文件,就会查找从11号到今天的创建的文件。
#find /oldboy -mtime 3
- - - 查找正好第前3天的文。比如今天13号,就会查找出10号创建出来的文件。
-
-
查看目录结构信息
利用命令:#
tree
- - - 查看当前文件下的目录结构
查看简单的目录结构:#tree -d
- - - 参数 -d 代表只查看目录,不查看文件(不然会很多一张图都截不完)
或者加 -L 指定层数的目录 #tree -L 2
- - - 只查看2层目录
- 压缩数据信息
解压缩数据信息命令:# tar
-
压缩数据:
tar zcvf 存放压缩包路径/压缩包.tar.gz 需要压缩的文件路径
参数解释:1. z - - - 数据压缩方式 gzip- c - - - 创建一个新的压缩文件
- v - - - 显示压缩过程(压缩数据小可有可无。数据大建议带上不然都不知道什么时候能压缩好)
- f - - - 指定压缩包路径信息
- h - - - 当你要压缩的压缩包里面有软连接时,带上这个参数,就会找到软连接指定的源文件,并压缩。
PS:压缩时,尽量在需要压缩的目录进行压缩,需要压缩的文件尽量用相对路径
-
解压缩:
tar xf 路径/压缩包.tar.gz
- - - (默认不加解压到的路径就会解压到当前目录)
参数解释:1. x - - - 从备份文件中还原文件- f - - - 使用存档文件或设备存档
- C - - - 指定压缩包解压缩的路径,比如:
tar -xf /test/test.tar.gz -C /test2
- - - 将 test.tar.gz 解压缩到 /test2 目录下。