3.5 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 Linux命令行下如何识别文件类型?的更多相关文章
- 详解Linux命令行下常用svn命令
1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...
- Linux命令行下常用svn命令
1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...
- 在linux命令行下执行php 程序
如何在linux命令行下,执行php程序. 例子 打印当前时间 php -r "echo time()" 随机输出一个数字 php -r "echo rand(1,20) ...
- Linux命令行下cp,rm,mv命令的使用
以下的内容来源于<鸟哥的私房菜> Linux命令行下的复制.删除与移动:cp,rm,mv cp(copy)复制 cp这个命令的用途很多,除了单纯的复制之外,还可以创建链接文件 ...
- linux命令行下svn常用命令
linux命令行下svn常用命令 1. 将文件checkout到本地目录 1 #path是服务器上的目录 2 svn checkout path 3 4 #示例 5 svn checkout svn: ...
- Linux命令行下如何终止当前程序
Linux命令行下如何终止当前程序 快捷键: Ctrl+c 在命令行下起着终止当前执行程序的作用, Ctrl+d 相当于exit命令,退出当前shell Ctrl+s 挂起当前shell(保护作用很明 ...
- Linux命令行下的vim文本编辑器
Linux命令行下的vim文本编辑器 下面这个网站的地址讲解的非成分清楚!!!! http://blog.csdn.net/niushuai666/article/details/7275406 学习 ...
- Linux 命令行下搜索工具大盘点,效率提高不止一倍!
在 Linux 命令行下进行文本关键字的搜索,大家肯定第一时间会想到 grep 命令.grep 命令确实十分强大,但如果需要用到它更加灵活的功能时,可能命令就会显得十分复杂. 于是,为了简化 grep ...
- linux 命令行下适配 nvidia 驱动 - 搬运
linux 命令行下适配 nvidia 驱动 转自:https://www.cnblogs.com/chua-n/p/13208398.html 1. 下载相应驱动 在官网这里选择适应你 GPU 的驱 ...
- Linux命令行批量替换多文件中的字符串【转】
Linux命令行批量替换多文件中的字符串[转自百度文库] 一种是Mahuinan法,一种是Sumly法,一种是30T法分别如下: 一.Mahuinan法: 用sed命令可以批量替换多个文件中的字符串. ...
随机推荐
- docker高级篇1-dockeran安装mysql主从复制
大家好,咱们前面通过十篇的文章介绍了docker的基础篇,从本篇开始,咱们的<docker学习系列>将要进入到高级篇阶段(基础篇大家可以查看之前发布的文章). 咱们先来介绍:docker复 ...
- SpringMVC获取请求参数
目录 通过ServletAPI获取 通过控制器方法的形参获取请求参数 @RequestParam @RequestHeader @CookieValue 通过POJO获取请求参数 解决获取请求参数的乱 ...
- 第二章:智能Agent
第二章:智能Agent 本章讨论Agent的本质,Agent是否完美,环境的多样性,及由此带来的各种Agent分类. 1. Agnet和环境 Agent通过传感器感知环境并通过执行器对所处环境产生影响 ...
- 反DDD模式之关系型数据库
本文书接上回<图穷匕见-所有反DDD模式都是垃圾>,关注公众号(老肖想当外语大佬)获取信息: 最新文章更新: DDD框架源码(.NET.Java双平台): 加群畅聊,建模分析.技术实现交流 ...
- WiFi基础(四):WiFi工作原理及WiFi接入过程
liwen01 2024.09.16 前言 802.11 无线 WiFi 网有三类帧:数据帧.管理帧.控制帧.与有线网相比,无线 WiFi 网会复杂很多.大部分应用软件开发对 WiFi 的控制帧和管理 ...
- HTML——基础标签
基础标签 图片.音频.视频标签 src:资源路径 1.绝对路径 2.相对路径 ./ 表示本级目录 (可以省略) ../ 表示上级目录 超链接标签 列表标签 表格标签 ...
- 多线程ExecutorService 的理解与使用
原文链接:https://www.cnblogs.com/gxz-sw/p/6754476.html 接口 Java.util.concurrent.ExecutorService 表述了异步执行的机 ...
- SuperMap iServer8C证书过期如何解决
说明:该问题是SuperMap iServer8.0.2和8.1.0版本云许可模块问题,需要手动更新云许可HTTPS证书,可以升级到官网8.1.1/9D/10i等方式进行解决 针对无法升级或者老项目维 ...
- SpringBoot配置多个数据源-详解
一直在趟坑,从未被超越. 借鉴文章 个人觉得我算是整理的比较详细的了,有些博客老是缺斤少两的.最恶心的是竟然会有人写到,如需下文请关注什么什么公众号. 结构 pom文件 <dependencie ...
- 采集数据产品描述有超链接///设置免运费后,达到免送标准,其他运费不显示///给产品详情页面的图片点击放大是个模态窗///在shop页面有重复的产品展示,去重
//产品描述有超链接,去掉 function remove_product_hyperlinks($content) { if (is_product()) { // 确保只在产品页面上应用 $con ...