Linux下七种文件类型、文件属性及其查看方法

1、七种文件类型

普通文件类型
Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-]
目录文件
就是目录, 能用 # cd 命令进入的。第一个属性为 [d],例如 [drwxrwxrwx]
块设备文件
块设备文件 : 就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]
字符设备
字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]
套接字文件
这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型
管道文件
FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]
链接文件
类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]

2、查看文件类型的三种方法


ls-l/ls-ld 或者ll [ls-l ---查看文件 ls-ld ---查看路径 ll ----跟ls -l 一样]

 ll anaconda-ks.cfg                       //看第一个字符
-rw-------. 1 root root 2460 6月   1 23:37 anaconda-ks.cfg
[root@localhost log]# ls -ld /etc   
drwxr-xr-x. 81 root root 4096 Jan 29 03:25 /etc


file 命令

[root@localhost data]# file a.txt 
a.txt: ASCII text


stat 命令

[root@localhost data]# stat a.txt      //查看文件的详细属性(其中包括文件时间属性)
  File: `a.txt'
  Size: 3               Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 544365      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-01-28 20:56:01.965885036 +0800
Modify: 2018-01-28 20:55:27.181876154 +0800
Change: 2018-01-28 20:55:27.181876154 +0800

3、Linux中文件扩展名

windows里通过扩展名来区分文件类型的。linux里文件扩展名和文件类型没有关系。但为了容易区分和兼容用户使用windows的习惯,我们还是会用扩展名来表示文件类型。举例如下:
● 源码.tar、.tar.gz、.tgz、.zip、.tar.bz表示压缩文件,创建命令一般为tar,gzip,zip等。
● .sh表示shell脚本文件,通过shell语言开发的程序。
● .pl表示perl语言文件,通过perl语言开发的程序。
● .py表示python语言文件,通过python语言开发的程序。
● .html、.htm、.php、.jsp、.do表示网页语言的文件。
● .conf表示系统服务的配置文件。
● .rpm表示rpm安装包文件。

4、文件属性

[root@localhost /]# ls -lhi
total 90K
    12 dr-xr-xr-x.  2 root root 4.0K Jan 28 18:30 bin
     2 dr-xr-xr-x.  5 root root 1.0K Aug  7  2016 boot
     4 drwxr-xr-x. 18 root root 3.7K Jan 29 01:29 dev
652802 drwxr-xr-x. 81 root root 4.0K Jan 29 03:25 etc
130563 drwxr-xr-x.  3 root root 4.0K Jan 29 00:57 home
    13 dr-xr-xr-x. 12 root root 4.0K Jan 28 18:30 lib
391685 dr-xr-xr-x.  9 root root  12K Jan 28 18:30 lib64
    11 drwx------.  2 root root  16K Aug  7  2016 lost+found
130564 drwxr-xr-x.  2 root root 4.0K Sep 23  2011 media
391689 drwxr-xr-x.  2 root root 4.0K Sep 23  2011 mnt
130565 drwxr-xr-x.  3 root root 4.0K Aug  7  2016 opt
     1 dr-xr-xr-x. 97 root root    0 Jan 29  2018 proc
391682 dr-xr-x---.  2 root root 4.0K Jan 28 21:08 root
130566 dr-xr-xr-x.  2 root root  12K Jan 28 18:30 sbin
     1 drwxr-xr-x.  7 root root    0 Jan 29  2018 selinux
    15 drwxr-xr-x.  2 root root 4.0K Sep 23  2011 srv
     1 drwxr-xr-x. 13 root root    0 Jan 29  2018 sys
522242 drwxrwxrwt.  5 root root 4.0K Jan 29 05:15 tmp
522244 drwxr-xr-x. 14 root root 4.0K Jan 28 20:04 usr
261121 drwxr-xr-x. 20 root root 4.0K Aug  7  2016 var

这里写图片描述

544365 -rw-r--r--. 1 root root 3 Jan 28 20:55 a.txt

inode 索引节点编号:544365
文件类型 :文件类型是'-',表示这是一个普通文件
文件权限:rw-r--r-- 表示文件可读、可写、可执行,文件所归属的用户组可读可执行,其他用户可读可执行
硬链接个数 表示a.txt这个文件没有其他的硬链接,因为连接数是1,就是他本身
文件属主 表示这个文件所属的用户,这里的意思是a.txt文件被root用户拥有,是第一个root
文件属组 表示这个文件所属的用户组,这里表示a.txt文件属于root用户组,是第二个root
文件大小 文件大小是3个字节
文件修改时间 这里的时间是该文件最后被更新(包括文件创建、内容更新、文件名更新等)的时间可用如下命令查看文件的修改、访问、创建时间

[root@localhost data]# stat a.txt 
  File: `a.txt'
  Size: 3               Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 544365      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-01-28 20:56:01.965885036 +0800       ----------访问时间
Modify: 2018-01-28 20:55:27.181876154 +0800       ----------修改时间
Change: 2018-01-28 20:55:27.181876154 +0800     ----------创建时间

索引节点inode
硬盘分区,格式化、创建文件系统
被格式化的磁盘分为两部分:第一部分是Inode 第二部分是block
block是用来存储实际数据用的,例如:照片、视频等普通文件数据
inode是用来存储这些数据的属性的(也就是ls-l的结果)
inode包含的属性信息有文件大小、属主、归属的用户组、读写权限、问价类型、修改时间,还有指向文件实体指针的功能(inode节点----block的对应关系),但是唯独不包含文件名
这里写图片描述
访问一个文件【通过文件名找到inode---->block 】
这里写图片描述
查看inode 大小

[root@localhost ~]# dumpe2fs /dev/sda1|grep -i "Inode size" 
dumpe2fs 1.41.12 (17-May-2010)
Inode size:               128
posted @ 2023-05-06 20:27  程序员晓凡  阅读(1570)  评论(0编辑  收藏  举报