linux中文件类型?
在linux系统中一切(目录、普通文件、设备文件等)皆文件
d 目录
- 普通文件
l 链接文件
b 快设备和其他外网设备
普通文件:
-
纯文本文件, cat head tail less 等命令都可读取
二进制文件, od 命令读取二进制文件 -x 指定16进制显示
数据格式文件,某些程序运行时候会读取特定文件
last # 会读取 /var/log/wtmp 文件内容,这个问题无法通过其他方式读取出正确内容
lastlog # 读取 /var/log/lastlog 文件
linux文件扩展名意义?
linux不以文件扩展名区分文件类型,通过文件属性区分文件类型,为了可读性,添加和windows类型的扩展名以便区分
有以下扩展名:
1 .tar .tar.gz .tgz .zip .tar.bz 表示压缩包,创建命令 tar, gzip, unzip
2 .sh 表示shell脚本,通过shell语言开发的程序
3 .pl .py .html .js 表示对应的程序语言
4 .conf 表示配置文件
5 .rpm 表示rpm安装包文件
文件所带的时间有哪些?
modify 修改时间 -mtime 修改文件内容
chenge 改变时间 -ctime 文件属性改变
access 访问时间 -atime 访问文件内容
修改时间和改变时间区别: 修改时间是文件内容修改时改变,改变时间是文件属性改变
注意: 文件名不在文件的inode里,而是在上级目录的block里
跟文件相关的命令有哪些?
file 文件名 查询文件类型
file Name.txt # 查询Name.txt文件类型,并可以查看文件是否为空,文件的编码类型 file -b Name.txt # 不显示文件名
stat 文件名 查询文件详细信息
-f 查看对应文件系统信息
-c 指定输出格式
stat Name.txt # 查询文件详细信息 ll -lh Name.txt # 同样 ls 命令查询文件重要信息 stat -f Name.txt # 查看 Name.txt 文件所在文件系统的详细信息
stat -c %a Name.txt # 输出数字权限位, %A 符号权限位
-c 指定输出格式有哪些?
%F 文件类型
%g 文件所有者的组ID
%G 文件所有者的组名
%h 硬链接的数量(文件本身算1个)
%i inode号
%n 文件名
%N 取消软连接的文件名引用,变成普通字符串
%o 系统格式化block的大小
%s 文件大小(单位byte)
%u 所有者的用户ID
%U 所有者的用户名
%x 最后访问时间
%X 最后一次访问时间(*秒)
%y 最后修改时间(内容改变)
%Y 最后修改时间(内容改变)
%z 最后改变时间(文件属性,权限所有者等,格式*秒)
%Z 最后改变时间(文件属性,权限所有者等,格式*秒)
文件类型总结:
1. 文件可以分为 普通文件、连接文件、目录和设备文件, 分别表示 - l d b
2. 通过file 和 stat 查看文件类型
3. linux系统中一切皆文件,扩展名是增加可读性
4. 文件名不在文件的inode中,而是在上级目录的block中,所有对文件名的操作受限于上级目录的权限
命令思想:
一旦看到输出中有某个字段,就可以通过命令的某个参数取得这个字段,毕竟程序是人设计的