ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

3.5 Linux命令行下如何识别文件类型?

2022-05-05 23:00:19  阅读:163  来源: 互联网

标签:文件 命令 3.5 ls Linux 文件类型 目录


对于第一次使用 Linux 命令行的用户,可能真的搞不清楚哪个是文件,哪个是目录,究其原因是很难直接通过名字看出来目录和文件的区别。

虽然从名称上不容易分辨,但是可以从颜色上进行区分。一般情况下,Linux 用蓝色代表目录,其他颜色则表示是文件。例如:

图 1 /root 目录下的文件和目录

注意,本节多处会使用 pwd(显示当前工作所在的目录)和 ls(列出当前目录中包含的所有文件和子目录)命令,读者只需了解它们的功能即可,本章后续会对它们做详细介绍。

和 Linux 不同,Windows 下带有<DIR> 标记的行或使用中括号“[]”括起来的名称就是目录,其他的则是文件(如图 2 所示)。

图 2 Windows命令行区分文件和目录(文件夹)

不仅如此,Linux 中还可以用不同的颜色来区分不同种类的文件,例如绿色代表可执行文件、红色代表压缩文件、浅绿色代表链接文件、白色代表其他文件、黄色代表设备文件等。

但是,不同颜色所代表的文件类型不一定是这样,更准确的对应方式还取决于配置文件 /etc/DIR_COLORS 中的规定。因此,如果想详细了解不同文件类型所对应的颜色,可以使用 man 命令,例如:

[root@localhost ~]# man dir_colors

注意,有些 Linux 发行版单独使用 ls 命令,无法显示出带有不同颜色的文件和目录,此时就需要使用 ls --color=auto 命令,明确令其使用颜色来区分文件类型。

在此基础上,如果不想每次使用 ls 命令时,都显式附带 --color=auto,可以执行如下命令:

[root@localhost ~]# alias ls = 'ls --color=auto'

通过给 ls --color==auto 这个整体设置一个别名 ls,这样当后续使用 ls 命令时,就等同于执行 ls --color=auto 命令。

同时,如果想使这个设置永远生效,还需要将其添加到 /etc/bashrc 或 /home//.bashrc 文件中,前者对所有用户有效,而后者仅对用户有效。

其实,那些默认提供颜色功能的 Linux 发行版,也是通过这个方法开启的功能。

当然,通过颜色来区分文件类型,难免有些牵强,对于颜色不太敏感的读者来说,很容易搞错。Linux 中精确判断文件类型的方法,是通过文件本身所具有的属性进行判断。

通过 ls -l 命令,我们就可以查看当前目录下所有文件和目录各自的属性,如图 3 所示。

图 3 查看属性

图 3 显示的执行结构中,每行代表一个文件或目录,其中第一个字符表示的就是文件的类型,其可能的取值以及表示的文件类型,如表 4 所示。

第一个字符 文件类型
- 普通文件,包括纯文本文件、二进制文件、各种压缩文件等。
d 目录,类似 Windows 系统中的文件夹。
b 块设备文件,就是保存大块数据的设备,比如最常见的硬盘。
c 字符设备文件,例如键盘、鼠标等。
s 套接字文件,通常用在网络数据连接,可以启动一个程序开监听用户的要求,用户可以通过套接字进行数据通信。
p 管道文件,其主要作用是解决多个程序同时存取一个文件所造成的错误。
l 链接文件,类似 Windows 系统中的快捷方式。

除以上 2 种方法外,Linux 还提供了 file 命令,可以查询文件的类型,有关该命令的用法,可阅读《Linux file命令》一节。

标签:文件,命令,3.5,ls,Linux,文件类型,目录
来源: https://www.cnblogs.com/qinlulu/p/16226805.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有