导读:Linux 命令可以提供文件的详细信息,也可以自定义显示的文件列表,甚至可以深入到文件系统的目录中,只要你愿意看。本文字数:5090,阅读时长大约:6分钟https://linux.cn/article-12560-1.html作者:Sandra Henry-stocker译者:Xingyu.Wang

Linux 命令可以提供文件的详细信息,也可以自定义显示的文件列表,甚至可以深入到文件系统的目录中,只要你愿意看。

在 Linux 系统上,有许多方法可以列出文件并显示它们的信息。这篇文章回顾了一些提供文件细节的命令,并提供了自定义文件列表的选项,以满足你的需求。

大多数命令都会列出单个目录中的文件,而其他命令则可以深入到文件系统的目录中,只要你愿意看。

当然,最主要的文件列表命令是 ls。然而,这个命令有大量的选项,可以只查找和列出你想看的文件。另外,还有 find 可以帮助你进行非常具体的文件搜索。

按名称列出文件

最简单的方法是使用 ls 命令按名称列出文件。毕竟,按名称(字母数字顺序)列出文件是默认的。你可以选择 ls(无细节)或 ls -l(大量细节)来决定你看到什么。

$ ls | head -68pgs.pdfAesthetics_Thank_You.pdfalien.pdfAnnual_Meeting_Agenda-20190602.pdfbigfile.bz2bin$ ls -l | head -6-rw-rw-r-- 1 shs shs 10886 Mar 22 2019 8pgs.pdf-rw-rw-r-- 1 shs shs 284003 May 11 2019 Aesthetics_Thank_You.pdf-rw-rw-r-- 1 shs shs 38282 Jan 24 2019 alien.pdf-rw-rw-r-- 1 shs shs 97358 May 19 2019 Annual_Meeting_20190602.pdf-rw-rw-r-- 1 shs shs 18115234 Apr 16 17:36 bigfile.bz2drwxrwxr-x 4 shs shs 8052736 Jul 10 13:17 bin

如果你想一次查看一屏的列表,可以将 ls 的输出用管道送到 more 命令中。

按相反的名字顺序排列文件

要按名称反转文件列表,请添加 -r(反转(Reverse))选项。这就像把正常的列表倒过来一样。

$ ls -r$ ls -lr

按文件扩展名列出文件

ls 命令不会按内容分析文件类型,它只会处理文件名。不过,有一个命令选项可以按扩展名列出文件。如果你添加了 -X (扩展名(eXtension))选项,ls 将在每个扩展名类别中按名称对文件进行排序。例如,它将首先列出没有扩展名的文件(按字母数字顺序),然后是扩展名为 .1.bz2.c 等的文件。

只列出目录

默认情况下,ls 命令将同时显示文件和目录。如果你想只列出目录,你可以使用 -d(目录(Directory))选项。你会得到一个像这样的列表:

$ ls -d */1/ backups/ modules/ projects/ templates/2/ html/ patches/ public/ videos/bin/ new/ private/ save/

按大小排列文件

如果你想按大小顺序列出文件,请添加 -S(大小(Size))选项。但请注意,这实际上不会显示文件的大小(以及其他文件的细节),除非你还添加 -l(长列表(Long listing))选项。当按大小列出文件时,一般来说,看到命令在按你的要求做事情是很有帮助的。注意,默认情况下是先显示最大的文件。添加 -r 选项可以反过来(即 ls -lSr)。

$ ls -lStotal 959492-rw-rw-r-- 1 shs shs 357679381 Sep 19 2019 sav-linux-free-9.tgz-rw-rw-r-- 1 shs shs 103270400 Apr 16 17:38 bigfile-rw-rw-r-- 1 shs shs 79117862 Oct 5 2019 Nessus-8.7.1-ubuntu1110_amd64.deb

按属主列出文件

如果你想按属主列出文件(例如,在一个共享目录中),你可以把 ls 命令的输出传给 sort,并通过添加 -k3 来按第三个字段排序,从而挑出属主一栏。

$ ls -l | sort -k3 | moretotal 56-rw-rw-r-- 1 dory shs 0 Aug 23 12:27 tasklistdrwx------ 2 gdm gdm 4096 Aug 21 17:12 tracker-extract-files.121srwxr-xr-x 1 root root 0 Aug 21 17:12 ntf_listenerc0c6b8b4567drwxr-xr-x 2 root root 4096 Aug 21 17:12 hsperfdata_root ^ |

事实上,你可以用这种方式对任何字段进行排序(例如,年份)。只是要注意,如果你要对一个数字字段进行排序,则要加上一个 n,如 -k5n,否则你将按字母数字顺序进行排序。这种排序技术对于文件内容的排序也很有用,而不仅仅是用于列出文件。

按年份排列文件

使用 -t(修改时间(Time modified))选项按年份顺序列出文件 —— 它们的新旧程度。添加 -r 选项,让最近更新的文件在列表中最后显示。我使用这个别名来显示我最近更新的文件列表。

$ alias recent='ls -ltr | tail -8'

请注意,文件的更改时间和修改时间是不同的。-c(更改时间(time Changed))和 -t(修改时间)选项的结果并不总是相同。如果你改变了一个文件的权限,而没有改变其他内容,-c 会把这个文件放在 ls 输出的顶部,而 -t 则不会。如果你想知道其中的区别,可以看看 stat 命令的输出。

$ stat ckacct File: ckacct Size: 200 Blocks: 8 IO Block: 4096 regular fileDevice: 801h/2049d Inode: 829041 Links: 1Access: (0750/-rwxr-x---) Uid: ( 1000/ shs) Gid: ( 1000/ shs)Access: 2020-08-20 16:10:11.063015008 -0400Modify: 2020-08-17 07:26:34.579922297 -0400 <== content changesChange: 2020-08-24 09:36:51.699775940 -0400 <== content or permissions changes Birth: -

按组别列出文件

要按关联的组别对文件进行排序,你可以将一个长列表的输出传给 sort 命令,并告诉它在第 4 列进行排序。

$ ls -l | sort -k4

按访问日期列出文件

要按访问日期(最近访问的日期在前)列出文件,使用 -ltu 选项。u 强制“按访问日期”排列顺序。

$ ls -ltutotal 959500-rwxr-x--- 1 shs shs 200 Aug 24 09:42 ckacct <== most recently used-rw-rw-r-- 1 shs shs 1335 Aug 23 17:45 lte

单行列出多个文件

有时,精简的文件列表更适合手头的任务。ls 命令甚至有这方面的选项。为了在尽可能少的行上列出文件,你可以使用 --format=comma 来用逗号分隔文件名,就像这个命令一样:

$ ls --format=comma1, 10, 11, 12, 124, 13, 14, 15, 16pgs-landscape.pdf, 16pgs.pdf, 17, 18, 19,192.168.0.4, 2, 20, 2018-12-23_OoS_2.pdf, 2018-12-23_OoS.pdf, 20190512_OoS.pdf,'2019_HOHO_application working.pdf' …

喜欢用空格?使用 --format=across 代替。

$ ls --format=across z*z zip zipfiles zipfiles1.bat zipfiles2.batzipfiles3.bat zipfiles4.bat zipfiles.bat zoom_amd64.deb zoomap.pdfzoom-mtg

增加搜索的深度

虽然 ls 一般只列出单个目录中的文件,但你可以选择使用 -R 选项(递归(Recursively))地列出文件,深入到整个目录的深处。

$ ls -R zzzzz | grep -v "^$"zzzzz:zzzzzzzzz/zzzz:zzzzzzzz/zzzz/zzz:zzzzzzz/zzzz/zzz/zz:zzzzzz/zzzz/zzz/zz/z:sleeping

另外,你也可以使用 find 命令,对深度进行限制或不限制。在这个命令中,我们指示 find 命令只在三个层次的目录中查找:

$ find zzzzz -maxdepth 3zzzzzzzzzz/zzzzzzzzz/zzzz/zzzzzzzz/zzzz/zzz/zz

选择 ls 还是 find

当你需要列出符合具体要求的文件时,find 命令可能是比 ls 更好的工具。

与 ls 不同的是,find 命令会尽可能地深入查找,除非你限制它。它还有许多其他选项和一个 -exec 子命令,允许在找到你要找的文件后采取一些特定的行动。

总结

ls 命令有很多用于列出文件的选项。了解一下它们。你可能会发现一些你会喜欢的选项。


via: https://www.networkworld.com/article/3572590/11-ways-to-list-and-sort-files-on-linux.html

作者:Sandra Henry-Stocker 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

html列表按时间排序代码_把 Linux 上的文件列表和排序玩出花来 | Linux 中国相关推荐

  1. find linux 目录深度_把 Linux 上的文件列表和排序玩出花来

    Linux 命令可以提供文件的详细信息,也可以自定义显示的文件列表,甚至可以深入到文件系统的目录中,只要你愿意看. • 来源:linux.cn • 作者:Sandra Henry-stocker • ...

  2. linux下 文件排序,把 Linux 上的文件列表和排序玩出花来

    在 Linux 系统上,有许多方法可以列出文件并显示它们的信息.这篇文章回顾了一些提供文件细节的命令,并提供了自定义文件列表的选项,以满足你的需求. 大多数命令都会列出单个目录中的文件,而其他命令则可 ...

  3. linux文件列表的理解,如何深刻理解 Linux 上的文件列表和排序?

    在 Linux 系统上,有许多方法可以列出文件并显示它们的信息.这篇文章回顾了一些提供文件细节的命令,并提供了自定义文件列表的选项,以满足你的需求. 大多数命令都会列出单个目录中的文件,而其他命令则可 ...

  4. 合并和排序 Linux 上的文件

    在 Linux 上合并和排序文本的方法有很多种,但如何去处理它取决于你试图做什么:你是只想将多个文件的内容放入一个文件中,还是以某种方式组织它,让它更易于使用.在本文中,我们将查看一些用于排序和合并文 ...

  5. element ui实现自定义上传文件-以及解决已上传文件列表消失问题

    自定义上传按钮,非自动上传,效果图 action - 就是上传的接口地址 accept - 是限制上传文件格式,设置后只能上传该格式文件, 选取-选取按钮只是选择了文件 ,但是并没有上传 若要点击上传 ...

  6. wpf时间显示代码_如何在ASP.NET和WPF中显示QR代码

    wpf时间显示代码 I've half-jokingly said that there's never a good reason to use a QR Code. However, I'm wo ...

  7. python实现排序算法_数据结构之(3)python实现排序算法

    常用排序与插入算法 冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法.它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.遍历数列的工作是重复地进行直 ...

  8. python执行txt中代码_【技术分享】文件解压之过 Python中的代码执行

    预估稿费:200RMB 投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿 一.前言 Python中负责解压压缩文件的代码实现上并不安全,存在目录遍历漏洞,攻击者可以利用该漏洞覆盖_ ...

  9. java compareto方法怎么排序的_深入理解Java中Comparable和Comparator排序

    本文有牛旦教育原创,头条首发,转载注明来源. 如何为需要的排序算法选择正确的接口?通过本文的分析讲解,我们会找到答案参考答案. 程序员经常需要将数据库中的元素排序为集合.数组或映射.在Java中,我们 ...

最新文章

  1. php 网络请求 get请求和post请求
  2. 寻找冬日里的流量美食,发现了李子柒走红的秘密
  3. mysql 内置功能 存储过程介绍
  4. [html] 在head标签中必不少的是什么?
  5. float在python中的书写形式错误的是_python – 不支持的操作数类型:’float’和’str’错误...
  6. Python入门学习笔记(8)
  7. Parencodings 模拟
  8. Android Studio实现音乐播放器2.0
  9. 微信小程序实现多视频video采坑,上下滑动视频
  10. RAC知识更新之-RAC单节点启动(摘自文平书)
  11. tp6+vue-element-admin 制作后台登录验证码
  12. gnuplot画双纵坐标图
  13. 桌面文件夹不见了怎么恢复?4招教你找回消失的文件夹
  14. 论文精度 —— 2017 CVPR《High-Resolution Image Inpainting using Multi-Scale Neural Patch Synthesis》
  15. Linux上的Shebang符号(#!)
  16. ps2键盘测试软件,stm32_ps2键盘显示测试程序
  17. bmp图片的格式详解
  18. 用树莓派 ZeroW 做一个无线网卡
  19. 基于51单片机的智能门禁系统仿真LCD12864显示原理图程序
  20. 卷积神经网络如何识别图像

热门文章

  1. 基于JAVA+SpringMVC+Mybatis+MYSQL的汽车饰品销售系统
  2. go mysql 多并发_MySQL并发处理-Go语言中文社区
  3. MySQL还是h5储存数据_h5中五大存储方式
  4. MicroK8s及KubeFlow安装文档
  5. BZOJ4698 SDOI2008Sandy的卡片(后缀自动机)
  6. Epos消费管理系统复制迁移SQL SERVER 2005数据库
  7. 牛客网--蘑菇街2016研发工程师编程题
  8. 49 - 算法 - LeetCode 110 平衡二叉树 - 求二叉树的高度 -双重递归
  9. css怎么居中字体,用CSS做将如何字体居中?
  10. delphi tpanel 内凹效果_别墅装修公司前十名|别墅装修效果图|现代精致简约