如何解读和识别Linux中的文件类型?

译文
系统 Linux
我们都知道,一切都是Linux中的文件,包括硬盘和显卡等。浏览Linux文件系统时,大多数文件都属于常规文件和目录。

【51CTO.com快译】我们都知道,一切都是Linux中的文件,包括硬盘和显卡等。浏览Linux文件系统时,大多数文件都属于常规文件和目录。但也有用于不同目的的其他文件类型,可以分为五类。因此,了解Linux中对你大有帮助的文件类型非常重要。看完全文,你就知道有多重要。

如果你不了解文件类型,无法放心地对文件进行任何更改。

如果你错误地更改、结果严重损坏系统,更改时就要小心。

文件在Linux中非常重要,因为所有设备和守护程序都以文件的形式存储在Linux系统中。

Linux中有多少类型的文件?

据我所知,Linux中共有7种类型的文件可用,分三大类。详情如下。

1. 常规文件

2 .目录文件

3. 特殊文件(此类共有5种类型的文件)

  • 链接文件
  • 字符设备文件
  • 套接字文件
  • 命名管道文件
  • 块文件

参阅下表以更好地了解Linux中的文件类型。

方法1:识别Linux中文件类型的手动方法

如果你深入了解Linux,很容易借助上面这张表来识别文件类型。

  • 如何查看Linux中的常规文件?

使用下列命令查看Linux中的常规文件。常规文件在Linux文件系统中非常普遍。常规文件的颜色是白色。

  1. # ls -la | grep ^- 
  2. -rw-------.  1 mageshm mageshm      1394 Jan 18 15:59 .bash_history 
  3. -rw-r--r--.  1 mageshm mageshm        18 May 11  2012 .bash_logout 
  4. -rw-r--r--.  1 mageshm mageshm       176 May 11  2012 .bash_profile 
  5. -rw-r--r--.  1 mageshm mageshm       124 May 11  2012 .bashrc 
  6. -rw-r--r--.  1 root    root           26 Dec 27 17:55 liks 
  7. -rw-r--r--.  1 root    root    104857600 Jan 31  2006 test100.dat 
  8. -rw-r--r--.  1 root    root    104874307 Dec 30  2012 test100.zip 
  9. -rw-r--r--.  1 root    root     11536384 Dec 30  2012 test10.zip 
  10. -rw-r--r--.  1 root    root           61 Dec 27 19:05 test2-bzip2.txt 
  11. -rw-r--r--.  1 root    root           61 Dec 31 14:24 test3-bzip2.txt 
  12. -rw-r--r--.  1 root    root           60 Dec 27 19:01 test-bzip2.txt 
  • 如何查看Linux中的目录文件?

使用下列命令查看Linux中的目录文件。目录文件在Linux文件系统中非常普遍。目录文件的颜色是蓝色。

  1. # ls -la | grep ^d 
  2. drwxr-xr-x.  3 mageshm mageshm      4096 Dec 31 14:24 links/ 
  3. drwxrwxr-x.  2 mageshm mageshm      4096 Nov 16 15:44 perl5/ 
  4. drwxr-xr-x.  2 mageshm mageshm      4096 Nov 16 15:37 public_ftp/ 
  5. drwxr-xr-x.  3 mageshm mageshm      4096 Nov 16 15:37 public_html/ 
  • 如何查看Linux中的链接文件?

使用下列命令查看Linux中的链接文件。链接文件在Linux文件系统中非常普遍。链接文件有两种类型:软链接和硬链接。链接文件的颜色是浅绿蓝。

  1. # ls -la | grep ^l 
  2. lrwxrwxrwx.  1 root    root   31 Dec  7 15:11 s-link-file -> /links/soft-link/test-soft-link 
  3. lrwxrwxrwx.  1 root    root   38 Dec  7 15:12 s-link-folder -> /links/soft-link/test-soft-link-folder 
  • 如何查看Linux中的字符设备文件?

使用下列命令查看Linux中的字符设备文件。字符设备文件只出现在特定的位置。它在/dev目录下。字符设备文件的颜色是黄色。

  1. # ls -la | grep ^c 
  2. crw-------.  1 root root      5,   1 Jan 28 14:05 console 
  3. crw-rw----.  1 root root     10,  61 Jan 28 14:05 cpu_dma_latency 
  4. crw-rw----.  1 root root     10,  62 Jan 28 14:05 crash 
  5. crw-rw----.  1 root root     29,   0 Jan 28 14:05 fb0 
  6. crw-rw-rw-.  1 root root      1,   7 Jan 28 14:05 full 
  7. crw-rw-rw-.  1 root root     10, 229 Jan 28 14:05 fuse 
  • 如何查看Linux中的块文件?

使用下列命令查看Linux中的块文件。块文件只出现在特定的位置。它在/dev目录下。块文件的颜色是黄色。

  1. # ls -la | grep ^b 
  2. brw-rw----.  1 root disk      7,   0 Jan 28 14:05 loop0 
  3. brw-rw----.  1 root disk      7,   1 Jan 28 14:05 loop1 
  4. brw-rw----.  1 root disk      7,   2 Jan 28 14:05 loop2 
  5. brw-rw----.  1 root disk      7,   3 Jan 28 14:05 loop3 
  6. brw-rw----.  1 root disk      7,   4 Jan 28 14:05 loop4 
  • 如何查看Linux中的套接字文件?

使用下列命令查看Linux中的套接字文件。套接字文件只出现在特定的位置。字符设备文件的颜色是粉红色。

  1. # ls -la | grep ^s 
  2. srw-rw-rw- 1 root root 0 Jan  5 16:36 system_bus_socket 
  • 如何查看Linux中的命名管道文件?

使用下列命令查看Linux中的命名管道文件。命名管道文件只出现在特定的位置。命名管道文件的颜色是黄色。

  1. # ls -la | grep ^p 
  2. prw-------.  1 root    root        0 Jan 28 14:06 replication-notify-fifo| 
  3. prw-------.  1 root    root        0 Jan 28 14:06 stats-mail| 

方法2:如何使用file命令识别Linux中的文件类型?

file命令让我们可以确定Linux中的各种文件类型。有三组测试,按这个顺序执行:文件系统测试、魔法测试和语言测试,以识别文件类型。

  • 如何使用file命令查看常规文件?

只要在终端上输入file命令,后面跟上常规文件。file命令会读取特定文件的内容,显示它到底是哪种文件。

这就是为什么我们看到每种常规文件有不同的结果。请看常规文件的下列不同值。

  1. # file 2daygeek_access.log  
  2. 2daygeek_access.log: ASCII text, with very long lines 
  3.  
  4. # file powertop.html  
  5. powertop.html: HTML document, ASCII text, with very long lines 
  6.  
  7. # file 2g-test 
  8. 2g-test: JSON data 
  9.  
  10. # file powertop.txt 
  11. powertop.txt: HTML document, UTF-8 Unicode text, with very long lines 
  12.  
  13. # file 2g-test-05-01-2019.tar.gz 
  14. 2g-test-05-01-2019.tar.gz: gzip compressed data, last modified: Sat Jan  5 18:22:20 2019, from Unix, original size 450560 
  • 如何使用file命令查看Linux中的目录文件?

只要在终端上输入file命令,后面跟上目录文件。请看下列结果。

  1. # file Pictures/ 
  2. Pictures/: directory 
  • 如何使用file命令查看链接文件?

只要在终端上输入file命令,后面跟上链接文件。请看下列结果。

  1. # file log 
  2. log: symbolic link to /run/systemd/journal/dev-log 

•如何使用file命令查看Linux中的字符设备文件?

只要在终端上输入file命令,后面跟上字符设备文件。请看下列结果。

  1. # file vcsu 
  2. vcsu: character special (7/64) 
  • 如何使用file命令查看Linux中的块文件?

只要在终端上输入file命令,后面跟上块文件。请看下列结果。

  1. # file sda1  
  2. sda1: block special (8/1) 
  • 如何使用file命令查看Linux中的套接字文件?

只要在终端上输入file命令,后面跟上套接字文件。请看下列结果。

  1. # file sda1 
  2. sda1: block special (8/1) 
  • 如何使用file命令查看Linux中的命名管道文件?

只要在终端上输入file命令,后面跟上命名管道文件。请看下列结果。

  1. # file pipe-test  
  2. pipe-test: fifo (named pipe) 

方法3:如何使用stat命令识别Linux中的文件类型?

stat命令让我们可以查看文件类型或文件系统状态。这个实用程序获取的信息比file命令更多。它显示了特定文件的大量信息,比如大小、块大小、IO块大小、Inode值、链接、文件权限、UID、GID、文件访问、修改和更改时间信息。

  • 如何使用stat命令查看Linux中的常规文件?

只要在终端上输入stat命令,后面跟上常规文件。

  1. # stat 2daygeek_access.log 
  2.   File: 2daygeek_access.log 
  3.   Size: 14406929    Blocks: 28144      IO Block: 4096   regular file 
  4. Device: 10301h/66305d   Inode: 1727555     Links: 1 
  5. Access: (0644/-rw-r--r--)  Uid: ( 1000/ daygeek)   Gid: ( 1000/ daygeek) 
  6. Access: 2019-01-03 14:05:26.430328867 +0530 
  7. Modify: 2019-01-03 14:05:26.460328868 +0530 
  8. Change: 2019-01-03 14:05:26.460328868 +0530 
  9.  Birth: - 
  • 如何使用stat命令查看Linux中的目录文件?

只要在终端上输入stat命令,后面跟上目录文件。请看下列结果。

  1. # stat Pictures/ 
  2.   File: Pictures/ 
  3.   Size: 4096        Blocks: 8          IO Block: 4096   directory 
  4. Device: 10301h/66305d   Inode: 1703982     Links: 3 
  5. Access: (0755/drwxr-xr-x)  Uid: ( 1000/ daygeek)   Gid: ( 1000/ daygeek) 
  6. Access: 2018-11-24 03:22:11.090000828 +0530 
  7. Modify: 2019-01-05 18:27:01.546958817 +0530 
  8. Change: 2019-01-05 18:27:01.546958817 +0530 
  9.  Birth: - 
  • 如何使用stat命令查看Linux中的链接文件?

只要在终端上输入stat命令,后面跟上链接文件。请看下列结果。

  1. # stat /dev/log 
  2.   File: /dev/log -> /run/systemd/journal/dev-log 
  3.   Size: 28          Blocks: 0          IO Block: 4096   symbolic link 
  4. Device: 6h/6d   Inode: 278         Links: 1 
  5. Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root) 
  6. Access: 2019-01-05 16:36:31.033333447 +0530 
  7. Modify: 2019-01-05 16:36:30.766666768 +0530 
  8. Change: 2019-01-05 16:36:30.766666768 +0530 
  9.  Birth: - 
  • 如何使用stat命令查看Linux中的字符设备文件?

只要在终端上输入stat命令,后面跟上字符设备文件。请看下列结果。

  1. # stat /dev/vcsu 
  2.   File: /dev/vcsu 
  3.   Size: 0           Blocks: 0          IO Block: 4096   character special file 
  4. Device: 6h/6d   Inode: 16          Links: 1     Device type: 7,40 
  5. Access: (0660/crw-rw----)  Uid: (    0/    root)   Gid: (    5/     tty) 
  6. Access: 2019-01-05 16:36:31.056666781 +0530 
  7. Modify: 2019-01-05 16:36:31.056666781 +0530 
  8. Change: 2019-01-05 16:36:31.056666781 +0530 
  9.  Birth: - 
  • 如何使用stat命令查看Linux中的块文件?

只要在终端上输入stat命令,后面跟上块文件。请看下列结果。

  1. # stat /dev/sda1 
  2.   File: /dev/sda1 
  3.   Size: 0           Blocks: 0          IO Block: 4096   block special file 
  4. Device: 6h/6d   Inode: 250         Links: 1     Device type: 8,1 
  5. Access: (0660/brw-rw----)  Uid: (    0/    root)   Gid: (  994/    disk) 
  6. Access: 2019-01-05 16:36:31.596666806 +0530 
  7. Modify: 2019-01-05 16:36:31.596666806 +0530 
  8. Change: 2019-01-05 16:36:31.596666806 +0530 
  9.  Birth: - 
  • 如何使用stat命令查看Linux中的套接字文件?

只要在终端上输入stat命令,后面跟上套接字文件。请看下列结果。

  1. # stat /var/run/dbus/system_bus_socket  
  2.   File: /var/run/dbus/system_bus_socket 
  3.   Size: 0           Blocks: 0          IO Block: 4096   socket 
  4. Device: 15h/21d Inode: 576         Links: 1 
  5. Access: (0666/srw-rw-rw-)  Uid: (    0/    root)   Gid: (    0/    root) 
  6. Access: 2019-01-05 16:36:31.823333482 +0530 
  7. Modify: 2019-01-05 16:36:31.810000149 +0530 
  8. Change: 2019-01-05 16:36:31.810000149 +0530 
  9.  Birth: - 
  • 如何使用stat命令查看Linux中的命名管道文件?

只要在终端上输入stat命令,后面跟上命名管道文件。请看下列结果。

  1. # stat pipe-test  
  2.   File: pipe-test 
  3.   Size: 0           Blocks: 0          IO Block: 4096   fifo 
  4. Device: 10301h/66305d   Inode: 1705583     Links: 1 
  5. Access: (0644/prw-r--r--)  Uid: ( 1000/ daygeek)   Gid: ( 1000/ daygeek) 
  6. Access: 2019-01-06 02:00:03.040394731 +0530 
  7. Modify: 2019-01-06 02:00:03.040394731 +0530 
  8. Change: 2019-01-06 02:00:03.040394731 +0530 
  9.  Birth: - 

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

责任编辑:武晓燕 来源: 51CTO
相关推荐

2019-04-12 14:26:17

Linux命令文件

2010-03-01 15:34:38

Linux文件类型

2010-03-10 09:27:36

Linux链接文件类型

2010-01-12 11:37:06

Linux常见文件

2009-10-21 10:50:59

Linux文件类型

2016-08-12 09:04:37

Linux文件类型目录

2015-10-08 14:47:07

命令时间Linux

2010-01-05 15:32:33

2023-12-04 15:42:10

类型Linux

2012-05-21 23:43:31

Java

2012-11-30 11:12:03

2019-04-25 13:30:14

Linux文件分身

2010-03-05 14:33:19

Ubuntu硬盘分区

2024-08-26 12:18:07

Python代码存根

2017-09-25 16:16:49

决策树随机森林机器学习

2010-05-21 10:02:56

2011-06-01 10:48:28

Android系统

2009-11-16 12:17:46

PHP上传文件类型

2017-06-09 06:14:41

2021-02-05 08:03:52

Java
点赞
收藏

51CTO技术栈公众号