linux_文件类型

时间:2023-12-23 18:37:49

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中,所有对文件名的操作受限于上级目录的权限

命令思想:

  一旦看到输出中有某个字段,就可以通过命令的某个参数取得这个字段,毕竟程序是人设计的