【Linux命令详解 | ls命令】Linux系统中用于列出目录内容的命令

news2024/11/23 20:56:48

在这里插入图片描述


文章标题

  • 简介
  • 一,参数列表
  • 二,使用介绍
    • 1. 基本使用
    • 2. 列出文件详细信息
    • 3. 列出所有文件
    • 4. 以易读的方式显示文件大小
    • 5. 只查看目录信息
    • 6. 递归列出所有子目录下的文件
    • 7. 按文件最后修改时间排序
    • 8. 反向排序
    • 9. 按文件大小排序
    • 10. 显示文件的inode号
    • 11. 在文件名后添加符号
    • 12. 显示隐藏文件
    • 13. 不显示`.`和`..`
    • 14. 用指定字符填充文件名和链接数的间隙
    • 15. 以逗号分隔的文件大小
    • 16. 显示文件的创建时间
  • 总结


简介

ls命令在Linux系统中是非常常用的一个命令,用于列出目录的内容。通过它,可以查看当前目录下的所有文件和文件夹,包括隐藏文件。在Linux系统操作中,查看文件是非常基础也非常重要的一个操作,因此理解和熟练使用ls命令是Linux操作的基础之一。


一,参数列表

ls命令拥有众多参数,以下列出了一些常用的参数以及它们的功能:

参数功能
-l列出文件详细信息,包括文件类型、权限、链接数、所有者、组、大小、最后修改时间和文件名
-a列出所有文件,包括隐藏文件
-h以易读的方式显示文件大小,例如K、M、G等
-d只查看目录信息,而不查看目录下的文件
-R递归列出所有子目录下的文件
-t按文件最后修改时间排序
-r反向排序
-S按文件大小排序
-i显示文件的inode号
-F在文件名后添加符号,用于表示文件类型

二,使用介绍

1. 基本使用

ls命令最简单的用法是不带任何参数,直接输入ls,然后按下回车键。这将会列出当前工作目录下的所有文件和目录,但不包括以.开头的隐藏文件。例如:

$ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

在这个例子中,列出的内容就是当前用户的家目录中的所有目录。这是在Linux系统中最常见的目录结构,包括Desktop(桌面)、Documents(文档)、Downloads(下载)、Music(音乐)、Pictures(图片)、Public(公共)、Templates(模板)和Videos(视频)。

请注意,ls命令只是列出了文件和目录的名称,并没有给出任何其他信息。如果想查看更多的文件详细信息,就需要使用ls命令的参数了。

2. 列出文件详细信息

ls命令的-l参数可以列出文件的详细信息。这包括文件类型、文件权限、链接数、所有者、组、文件大小、最后修改时间和文件名。例如:

$ ls -l
total 32
drwxr-xr-x 2 root root 4096 Aug 23  2017 Desktop
drwxr-xr-x 2 root root 4096 Aug 23  2017 Documents
drwxr-xr-x 2 root root 4096 Aug 23  2017 Downloads
drwxr-xr-x 2 root root 4096 Aug 23  2017 Music
drwxr-xr-x 2 root root 4096 Aug 23  2017 Pictures
drwxr-xr-x 2 root root 4096 Aug 23  2017 Public
drwxr-xr-x 2 root root 4096 Aug 23  2017 Templates
drwxr-xr-x 2 root root 4096 Aug 23  2017 Videos

这些信息是非常重要的,它们告诉了我们文件的很多属性。例如,文件类型和权限告诉我们这是什么类型的文件以及谁可以对这个文件进行什么样的操作。所有者和组告诉我们这个文件属于谁以及哪个组可以访问这个文件。文件大小告诉我们这个文件占用了多少磁盘空间。最后修改时间告诉我们这个文件最后一次被修改的时间。

同时,-l参数也会在最前面显示一个total,表示这些文件总共占用了多少磁盘块。这是一个很好的方法来快速了解一个目录的大小。

3. 列出所有文件

在Linux系统中,文件名以.开头的文件是隐藏文件,它们默认情况下不会被ls命令列出。如果要查看所有文件,包括隐藏文件,需要使用-a参数。例如:

$ ls -a
.  ..  .bashrc  .profile  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

在这个例子中,...是特殊的目录名,.代表当前目录,..代表上级目录。除此之外,还列出了以.开头的隐藏文件.bashrc.profile

这是一个非常有用的参数,因为在Linux系统中,有很多重要的配置文件都是隐藏文件,例如.bashrc.profile。通过-a参数,可以查看和管理这些隐藏文件。

4. 以易读的方式显示文件大小

文件大小是一个非常重要的信息,但是如果文件大小非常大,用字节表示就很难直观地理解。-h参数可以把文件大小以易读的方式显示,例如K(千字节)、M(兆字节)和G(吉字节)。例如:

$ ls -lh
total 32K
drwxr-xr-x 2 root root 4.0K Aug 23  2017 Desktop
drwxr-xr-x 2 root root 4.0K Aug 23  2017 Documents
drwxr-xr-x 2 root root 4.0K Aug 23  2017 Downloads
drwxr-xr-x 2 root root 4.0K Aug 23  2017 Music
drwxr-xr-x 2 root root 4.0K Aug 23  2017 Pictures
drwxr-xr-x 2 root root 4.0K Aug 23  

 2017 Public
drwxr-xr-x 2 root root 4.0K Aug 23  2017 Templates
drwxr-xr-x 2 root root 4.0K Aug 23  2017 Videos

这个例子中,文件大小是以K(千字节)为单位的,比直接用字节表示更容易理解。

5. 只查看目录信息

在默认情况下,ls命令会列出目录下的所有文件。如果只想查看目录本身的信息,而不是目录下的文件,可以使用-d参数。例如:

$ ls -ld Documents
drwxr-xr-x 2 root root 4096 Aug 23  2017 Documents

在这个例子中,只列出了Documents目录本身的信息,而没有列出目录下的任何文件。

6. 递归列出所有子目录下的文件

ls命令默认只列出当前目录下的文件,如果要列出所有子目录下的文件,可以使用-R参数。例如:

$ ls -R
.
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

./Desktop:
file1  file2

./Documents:
doc1  doc2

./Downloads:
down1  down2

./Music:
music1  music2

./Pictures:
pic1  pic2

./Public:
pub1  pub2

./Templates:
temp1  temp2

./Videos:
vid1  vid2

在这个例子中,首先列出了当前目录下的所有文件和目录,然后对每个目录进行了递归,列出了每个目录下的所有文件。这是一个非常有用的参数,可以让我们一眼看到所有子目录下的文件。

7. 按文件最后修改时间排序

文件的最后修改时间是一个非常重要的信息,我们经常需要根据这个信息对文件进行排序。ls命令的-t参数可以按文件的最后修改时间进行排序,最新的文件会被放在最前面。例如:

$ ls -lt
total 32
drwxr-xr-x 2 root root 4096 Aug 24  2023 Videos
drwxr-xr-x 2 root root 4096 Aug 23  2023 Templates
drwxr-xr-x 2 root root 4096 Aug 22  2023 Public
drwxr-xr-x 2 root root 4096 Aug 21  2023 Pictures
drwxr-xr-x 2 root root 4096 Aug 20  2023 Music
drwxr-xr-x 2 root root 4096 Aug 19  2023 Downloads
drwxr-xr-x 2 root root 4096 Aug 18  2023 Documents
drwxr-xr-x 2 root root 4096 Aug 17  2023 Desktop

在这个例子中,所有的文件和目录都按照它们的最后修改时间进行了排序,最新修改的文件或目录被放在了最前面。

8. 反向排序

ls命令的排序默认是升序的,也就是说,数字或者字母越小的文件会被放在越前面。如果想要反向排序,可以使用-r参数。例如:

$ ls -r
Videos  Templates  Public  Pictures  Music  Downloads  Documents  Desktop

在这个例子中,所有的文件和目录都被反向排序了,字母靠后的文件被放在了最前面。

9. 按文件大小排序

除了按照文件的最后修改时间排序,我们有时也需要按照文件的大小进行排序。ls命令的-S参数可以按照文件的大小进行排序,最大的文件会被放在最前面。例如:

$ ls -lS
total 32
-rw-r--r-- 1 root root 16384 Aug 23  2023 bigfile
drwxr-xr-x 2 root root 4096 Aug 24  2023 Videos
drwxr-xr-x 2 root root 4096 Aug 23  2023 Templates
drwxr-xr-x 2 root root 4096 Aug 22  2023 Public
drwxr-xr-x 2 root root 4096 Aug 21  2023 Pictures
drwxr-xr-x 2 root root 4096 Aug 20  2023 Music
drwxr-xr-x 2 root root 4096 Aug 19  2023 Downloads
drwxr-xr-x 2 root root 4096 Aug 18  2023 Documents
drwxr-xr-x 2 root root 4096 Aug 17  2023 Desktop

在这个例子中,所有的文件和目录都按照它们的大小进行了排序,最大的文件被放在了最前面。

10. 显示文件的inode号

在Linux系统中,每个文件都有一个inode号,这是文件系统用来唯一标识文件的一个数字。ls命令的-i参数可以显示文件的inode号。例如:

$ ls -i
6823944 Desktop  6823952 Downloads  6823954 Music     6823958 Public
6823946 Documents  6823953 Pictures   6823956 Templates  6823959 Videos

在这个例子中,每个文件或目录前面的数字就是它的inode号。inode号可以用来在文件系统中快速找到一个文件。

11. 在文件名后添加符号

ls命令的-F参数可以在文件名后添加符号,用来表示文件的类型。例如,/表示目录,*表示可执行文件,@表示符号链接,=表示套接字,|表示命名管道。例如:

$ ls -F
Desktop/  Documents/  Downloads/  Music/  Pictures/  Public/  Templates/  Videos/

在这个例子中,所有的目录名后面都添加了/符号,表示它们都是目录。

12. 显示隐藏文件

Linux系统中以.开头的文件或目录默认是隐藏的,ls命令默认不会显示这些隐藏文件。如果要显示隐藏文件,可以使用-a参数。例如:

$ ls -a
.  ..  .hiddenfile  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

在这个例子中,.代表当前目录,..代表上级目录,.hiddenfile是一个隐藏文件,被-a参数显示出来了。

13. 不显示...

虽然...这两个特殊的目录在某些情况下很有用,但是在其他情况下,它们可能会影响我们查看其他文件。如果想要显示隐藏文件,但不显示...,可以使用-A参数。例如:

$ ls -A
.hiddenfile  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

在这个例子中,隐藏文件被显示出来了,但...没有被显示出来。

14. 用指定字符填充文件名和链接数的间隙

在默认情况下,ls命令会自动调整文件名和链接数的间隙,使输出看起来更美观。但是在某些情况下,我们可能希望使用指定的字符填充这些间隙。ls命令的-s参数可以实现这个功能,它会在文件名和链接数的间隙填充以1024字节为单位的块数。例如:

$ ls -s
total 32
4 Desktop     4 Documents  4 Downloads  4 Music     4 Pictures  4 Public     4 Templates  4 Videos

在这个例子中,每个文件名前面的数字是该文件占用的磁盘空间,以1024字节为单位。

15. 以逗号分隔的文件大小

在默认情况下,ls命令显示的文件大小是以字节为单位的,没有任何分隔符。这在文件大小很大时可能会让人困扰,因为我们很难一眼看出文件的实际大小。ls命令的--block-size参数可以设置文件大小的显示格式。例如,我们可以设置--block-size=M以兆字节为单位显示文件大小,或者设置--block-size=\'1以逗号分隔的字节为单位显示文件大小。例如:

$ ls -l --block-size=\'1
total 32,768
drwxr-xr-x 2 root root 4,096' Aug 24  2023 Videos
drwxr-xr-x 2 root root 4,096' Aug 23  2023 Templates
drwxr-xr-x 2 root root 4,096' Aug 22  2023 Public
drwxr-xr-x 2 root root 4,096' Aug 21  2023 Pictures
drwxr-xr-x 2 root root 4,096' Aug 20  2023 Music
drwxr-xr-x 2 root root 4,096' Aug 19  2023 Downloads
drwxr-xr-x 2 root root 4,096' Aug 18  2023 Documents
drwxr-xr-x 2 root root 4,096' Aug 17  2023 Desktop

在这个例子中,每个文件的大小都被格式化成了以逗号分隔的字节,这样看起来就更清楚了。

16. 显示文件的创建时间

ls命令默认显示的是文件的最后修改时间。但是在某些情况下,我们可能更关心文件的创建时间。ls命令的--time=creation或者-t参数可以显示文件的创建时间。例如:

$ ls -l --time=creation
total 32
drwxr-xr-x 2 root root 4096 Aug 24  2023 Videos
drwxr-xr-x 2 root root 4096 Aug 23  2023 Templates
drwxr-xr-x 2 root root 4096 Aug 22  2023 Public
drwxr-xr-x 2 root root 4096 Aug 21  2023 Pictures
drwxr-xr-x 2 root root 4096 Aug 20  2023 Music
drwxr-xr-x 2 root root 4096 Aug 19  2023 Downloads
drwxr-xr-x 2 root root 4096 Aug 18  2023 Documents
drwxr-xr-x 2 root root 4096 Aug 17  2023 Desktop

在这个例子中,显示的是每个文件或目录的创建时间,而不是最后修改时间。

总结

ls命令是Linux系统中最常用和基础的命令之一,它的功能是列出目录或文件的信息。ls命令具有丰富的参数,可以按照各种方式显示文件信息,包括按照文件名、文件大小、文件修改时间排序,显示文件权限、所有者、群组、文件大小、修改时间等详细信息,还可以显示隐藏文件。这些功能使得ls命令在日常工作中非常有用,可以帮助我们更好地了解和管理文件系统。熟练掌握ls命令的使用,可以大大提高在Linux环境中的工作效率。通过不断的实践和学习,我们可以更好地理解和利用ls命令的强大功能,从而更好地使用Linux系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/840252.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STL空间配置器入门

STL简介   STL(Standard Template Library,标准模板库),从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。 谈及组件&#xff0c…

【雕爷学编程】Arduino动手做(186)---WeMos ESP32开发板5

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

队伍发展有一定的规律 队伍不好带

队伍发展有一定的规律,队伍不好带 塔克曼是研究组织行为学的 1977年提出了团队发展模型 有一定的借鉴意义 趣讲大白话:社会变了,带队伍不好带了 【趣讲信息科技247期】 **************************** 塔克曼团队发展的五个阶段是:…

数据结构——双链表

我宁愿靠自己的力量,打开我的前途,而不愿求有力者垂青 文章目录 双线向链表各接口函数名或变量名 双向链表接口实现源码 快速索引【头文件及函数声明】 双向链表接口实现 双向链表的构造分析 双向链表的定义及初始化 双向链表的插入和删除 往期…

网络安全设备及部署

什么是等保定级? 之前了解了下等保定级,接下里做更加深入的探讨 文章目录 一、网路安全大事件1.1 震网病毒1.2 海康威视弱口令1.3 物联网Mirai病毒1.4 专网 黑天安 事件1.5 乌克兰停电1.6 委内瑞拉电网1.7 棱镜门事件1.8 熊猫烧香 二、法律法规解读三、安…

SSM(Vue3+ElementPlus+Axios+SSM前后端分离)--具体功能实现【三】

文章目录 SSM--功能实现实现功能04-添加家居信息需求分析/图解思路分析代码实现注意事项和细节 实现功能05-显示家居信息需求分析/图解思路分析 代码实现 SSM–功能实现 实现功能04-添加家居信息 需求分析/图解 思路分析 完成后台代码从dao -> serivce -> controller ,…

C++学习笔记总结练习:迭代器

迭代器 1 基础 头文件 #include<iterator>迭代器范围 begin和end被容器使用了&#xff0c;可以用front和back作为游标。 左闭右开区间 [begin,end)使用迭代器进行遍历 遍历方法有三种&#xff1a;下标遍历、范围for遍历、迭代器遍历 container c; first c.begin(); l…

【项目 计网2】4.4网络模型 4.5协议 4.6网络通信的过程

文章目录 4.4网络模型OSI七层参考模型TCP/IP四层模型&#xff08;常用&#xff09;简介四层介绍 4.5协议简介常见协议UDP协议TCP协议IP协议以太网帧协议&#xff08;MAC地址封装&#xff09;ARP协议&#xff08;IP->MAC&#xff09; 4.6网络通信的过程封装分用 4.4网络模型 …

【Spring】使用注解存储Bean对象

目录 一、配置扫描路径&#xff08;使用注解的方式存对象的前提&#xff09; 二、使用类注解存储Bean对象 1、使用五大类注解存储Bean对象 2、为什么要这么多的类注解&#xff1f; 2.1、五大类注解之间的关系 3、获取Bean对象时的默认命名规则 三、使用方法注解来存储…

【Paper】2020_网络化多智能体系统的事件触发一致性研究_徐勇

徐勇. 网络化多智能体系统的事件触发一致性研究[D].浙江大学,2020.DOI:10.27461/d.cnki.gzjdx.2020.001385. 文章目录 5 已知 DoS 攻击策略下多智能体系统的事件触发安全一致性分析5.1 引言5.2 数学模型与问题描述5.3 控制器和事件触发条件的设计5.5 数值仿真程序 Main.m程序 M…

.locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

引言&#xff1a; 当今社会&#xff0c;互联网的迅速发展为我们的工作和生活带来了便利&#xff0c;但同时也伴随着越来越多的网络威胁。勒索病毒如.locked勒索病毒便是其中的代表之一。.locked勒索病毒利用高级加密算法&#xff0c;将用户重要的数据文件锁定&#xff0c;要求…

IP路由基础+OSPF 基础

IP路由 RIB与FIB RIB&#xff1a;Routing Information Base&#xff0c;路由信息库 &#xff0c;路由器的控制平面 FIB&#xff1a;Forwarding Information Base&#xff0c;转发信息库&#xff0c;路由器的数据平面 路由信息库主要是记录直连路由以及协议宣告的路由信息&am…

Windows安装子系统Linux

Windows安装子系统(Linux ubuntu&#xff09; 安装条件步骤1.安装WSL命令2.设置Linux用户名和密码3.写个简单的.c程序看看4.如何互传文件 安装条件 Windows 10版本2004及更高的版本才能安装。 步骤 1.安装WSL命令 我们可以使用WSL来安装子系统 Linux ubuntu(默认是这个)。 …

思科2021笔试题

笔试时间&#xff1a;2020.09.07&#xff0c;19&#xff1a;00——21&#xff1a;00 岗位&#xff1a;嵌入式软件工程师 题型&#xff1a;数据结构4道&#xff0c;网络3道&#xff0c;操作系统3道&#xff0c;C4道&#xff0c;Java4道&#xff0c;python4道&#xff0c;数据库…

ORCA优化器浅析——CQueryContext对优化器的要求

从ORCA优化器浅析——重要主流程概述中可以知道进入真正优化器引擎执行流程之前需要对优化器提出要求&#xff0c;比如后面会提到的required columns、required sort orders等。而CQueryContext即是承载这些内容的类。首先CQueryContext类是通过PqcGenerate函数构造的&#xff…

深入学习JVM —— GC垃圾回收机制

前言 前面荔枝已经梳理了有关JVM的体系结构和类加载机制&#xff0c;也详细地介绍了JVM在类加载时的双亲委派模型&#xff0c;而在这篇文章中荔枝将会比较详细地梳理有关JVM学习的另一大重点——GC垃圾回收机制的相关知识&#xff0c;重点了解的比如对象可达性的判断、四种回收…

推荐一款老化测试软件 Monitor.Analog

1. 数据采集模块&#xff1a; 该模块负责与下位机设备通信&#xff0c;实时采集模拟量数据。支持多种通信协议&#xff0c;如Modbus、OPC等&#xff0c;以适应不同类型的设备。数据采集模块还需要具备异常数据处理功能&#xff0c;例如数据丢失、错误数据等。 2. 数据存储模块…

Linux命令200例:用Look一个进行文本搜索工具

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f3c6;本文已…

Python简单应用V

题目 通过编写函数实现下述各题。 输入一字符串&#xff0c;各个子串之间按空白字符隔开&#xff0c;分别显式其中最长、最短子串&#xff0c;以及最大、最小字符。 输入单个字符&#xff0c;判断并显示该字符是否为大写英文字母、小写英文字母、非英文文字字符、空格、数字或…

【Paper Reading】DETR:End-to-End Object Detection with Transformers

背景 Transformer已经在NLP领域大展拳脚&#xff0c;逐步替代了LSTM/GRU等相关的Recurrent Neural Networks&#xff0c;相比于传统的RNN&#xff0c;Transformer主要具有以下几点优势 可解决长时序依赖问题&#xff0c;因为Transformer在计算attention的时候是在全局维度进行…