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

在这里插入图片描述


文章标题

  • 简介
  • 一,参数列表
  • 二,使用介绍
    • 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.hqwc.cn/news/54804.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter Flar动画实战

在Flare动面出现之前,Flare动画大体可以分为使用AnimationController控制的基础动画以及使用Hero的转场动画,如果遇到一些复杂的场景,使用这些动画方案实现起来还是有难度的。不过,随着Flutter开始支持Flare矢量动面,Flutter的动画开发也变得越来越简单。事实上,Flare动画…

Grafana集成prometheus(3.Grafana添加promethus数据)

添加数据库 选择Connections -> Datasources,点击Add New data source,填写Promitheus Server Url,点击 save & test完成配置 添加DashBorad 选择prometheus数据库选择code填入对应的查询公式(监控公式参考Prometheus监控公式)修改面板名称Ti…

【ASP.NET MVC】使用动软(五)(13)

一、问题 前文完成的用户登录后的首页如下: 后续账单管理、人员管理等功能页面都有相同的头部,左边和下边,唯一不同的右边内容部分,所以要解决重复设计的问题。 二、解决方法——使用布局页 在Views上右键添加新建项&#xff…

【Verilog/D8】

2023年8月5日 HDBits/Cs450/counter 2bc状态机异步复位noteHDBits/Cs450/history shiftHDBits/Cs450/gshare HDBits/Cs450/counter 2bc状态机 Cs450/counter 2bc LSB最低有效位 module top_module(input clk,input areset,input train_valid,input train_taken,output reg[1…

git merge 和rebase区别

Merge the incoming changes into the current branch 找到两个分支的祖先 commit,然后将公共分支最新版合并到自己的分支,形成一个新的 commit 提交,用图表示如下。 Rebase the current branch on top of the incoming Rebase 则是重新基于…

RichTextBox基本用法

作用:富文本编辑器,支持多种文本展示 常用属性: 允许显示多行 自动换行 展示滚动条 ScrollBars属性值: 1、Both:只有当文本超过RichTextBox的宽度或长度时,才显示水平滚动条或垂直滚动条,或两…

传染病学模型 | Python实现基于使用受控SIR模型分析SARS-CoV-2疫情

效果一览 文章概述 传染病学模型 | Python实现基于使用受控 SIR 模型分析 SARS-CoV-2 疫情 源码设计 import jax.numpy as np import

Mac与windows传文件(超过4G且速度超快,非共享)

MAC与Windows文件互传 背景 尝试了网上的一些方法,诸如设置共享文件夹方法等,但是实际使用中感觉效果一般,对于一些小的文件共同编辑速度还可以。但是在备份或者传递一些较大文件或者很多细小文件的时候就有点捉襟见肘了。制作了一个MAC可读…

O3DE的Pass

Pass介绍 Pass是具有输入和输出的渲染过程。 在最终渲染帧中看到的每个细节都是通过一系列Pass(前一个Pass的输出是下一个Pass的输入)计算出来的。Pass可以生成图像(作为纹理、缓冲区或渲染目标)。每个图像都包含关于场景的特定…

【音视频】edge与chrome在性能上的比较

目录 结论先说 实验 结论 实验机器的cpu配置 用EDGE拉九路​编辑 google拉五路就拉不出来了 资源使用情况 edge报错​编辑 结论先说 实验 用chrome先拉九路,再想用edge拉九路,发现拉五路后怎么也拉不出; 后面发现cpu爆满;切…

通用指令(汇编)

一、数据处理指令1)数学运算数据运算指令的格式数据搬移指令立即数伪指令加法指令带进位的加法指令减法指令带借位的减法指令逆向减法指令乘法指令数据运算指令的扩展 2)逻辑运算按位与指令按位或指令按位异或指令左移指令右移指令位清零指令 3&#xff…

[Docker实现测试部署CI/CD----构建成功后钉钉告警(7)]

目录 15、钉钉告警创建项目群,然后添加机器人添加机器人Jenkins 系统配置项目配置修改Jenkinsfile文件,添加钉钉提示信息测试 不修改Jenkinsfile文件,添加钉钉提示信息测试 15、钉钉告警 创建项目群,然后添加机器人 首先需要在钉…