contents

ls

-l

-h

-lhS

-l --block-size=M

-a

-d */

-g

-G

-n

--color=never

-i

-p

-r

-R

-t

ls ~

ls --version

ls是什么

ls命令用于列出文件和目录。默认上,他会列出当前目录的内容。带上参数后,我们可以用ls做更多的事情。这里是一些在日常操作中使用到的ls用法的示例。

1. 不带参数运行ls

不带参数运行ls会只列出文件或者目录。看不到其他信息输出(译注:有时候你发现无参数的ls命令和这里描述的不同,那有可能是你的ls命令实际上带参数的ls别名)。

$ ls

2. 使用长清单模式

使用-l字符(小写L字符),会显示当前目录内容的长列表。在接下来的例子中,我们会结合-l参数(这个参数经常使用)来得到更好的结果。

$ ls -l

这里是如何读取输出 :

  • 第1列

    • 第一个字母d意味着内容是目录或者文件。在上面的截图中,Desktop、 Documents、 Downloads 和 lynis-1.3.8是目录。如果是'-'(减号),这意味着它的内容是文件。当它是l(小写l字符),意味这内容是链接文件。
    • 下面的9个字符是关于文件权限。前3个rwx字符是文件的拥有者的权限,第二组3rwx是文件的所有组的权限,最后的rwx是对其他人访问文件的权限。
  • 第2列 这行告诉我们有多少链接指向这个文件。

  • 第3列 这行告诉我们谁是这个文件/文件夹的所有者。

  • 第4列 这行告诉我们谁是这个文件/文件夹的所有组。

  • 第5列 这行告诉我们这个文件/文件夹的以字节为单位的大小。 目录的大小总是4096字节。

  • 第6列 这告诉我们文件最后的修改时间。

  • 第7列 这告诉我们文件名或者目录名。

3. 显示文件大小

以字节为单位看大小可能会不方便。6.5M读起来比6727680字节更简单。要这么做,我们可以使用-h与-l结合的参数。-h参数意味着便于人识别。

$ ls -lh

另外一个可以这么做的参数是--si。这个参数和-h参数类似,但是-si以1000为单位,而-h以1024为单位。

$ ls -si

4. 排序文件大小

在我们可以显示文件大小之后,我们希望以文件大小排序。我们可以使用-S参数来这么做。这列表会从大到校排序。

$ ls -lhS

5. 测量大小

ls可以通过使用-block-size=SIZE改单位大小。这里的SIZE是:

K = Kilobyte
M = Megabyte
G = Gigabyte
T = Terabyte
P = Petabyte
E = Exabyte
Z = Zettabyte
Y = Yottabyte

比如,我们希望使用MB作为单位大小。所以语法就会像这样:

$ ls -l --block-size=M

6. 显示隐藏文件

在Linux中,以"."(点号)开头的文件是隐藏文件。为了在ls命令中显示它,我们可以使用-a选项。

$ ls -a

7. 只列出目录条目

如果我们希望只列出目录,我们可以使用-d选项。

$ ls -d */

8. 不打印所有者信息

要这么做,我们使用-g选项。

$ ls -g

9. 不打印组信息

-g隐藏了拥有者信息,—G会隐藏组信息。

$ ls -lG

10. 打印UID和GID

如果你想以数字方式列出项的所有者和所有组(即UID和GID),我们可以带-n选项使用ls命令。这里是个例子。

$ ls -n

从上面的例子中,我们知道用户pungki的UID是100,GID是1000,而root组的GID是0。

11. 不带颜色打印

一些Linux发行版已经对ls命令启用彩色。这会使ls以各种颜色打印列表。如果你不想要这样,你可以使用 --color=never 参数。

$ ls --color=never

12. 打印每个文件的索引号

为了打印索引或者大家俗称的inode号,我们可以使用-i选项。索引号会显示在第一列。

$ ls -li

13. 增加 / (斜线) 标记目录

要这么做,使用-p选项。

$ ls -p

14. 排序时反转顺序

你或许需要在列出条目时反转顺序。要这么做,你可以使用-r选项。

$ ls -r

15. 递归列出子目录

带-R参数后,你可以列出包含它子目录的目录。

$ ls -R

16. 扩展名排序

你可以使用-X参数或者--sort=extension来通过扩展名来排序(译注:这样对于筛选不同类型的文件很有用)。

$ ls -lX

$ ls --sort=extension

17. 通过修改时间列出

使用-t选项会按修改时间排序,新的文件在前。

$ ls -lt

18. 列出你的主目录

要列出你的主目录,你可以用"~"(波浪号)来代表它。这样你就不必输入完整的目录名。让我们假设家文件名为/home/pungki,那么波浪号就对/home/pungki有意义了。

$ ls ~

19. 列出父目录

无论你在那个目录,你可以列出父目录而不必输入完整路径。这是个例子。

$ ls ../

这回列出1层之上的目录内容。

$ ls ../../

这回列出2层之上的目录内容(译注:可不支持“...”来代表2层之上)。

20. 打印ls命令版本

使用--version参数打印它。

$ ls --version

总结

这些是在日常操作中会使用到的参数。当然你总可以输入man ls 或者 ls --help 来查询ls的手册页

原创:Linux中国 https://linux.cn/article-2535-1.html
原创:LCTT https://linux.cn/article-2535-1.html译者: geekpi
本文地址:https://linux.cn/article-2535-1.html


ls命令的20个实用范例的更多相关文章

  1. 【转】ls 命令的 20 个实用范例

    Linux中一个基本命令是ls.没有这个命令,我们会在浏览目录条目时会遇到困难.这个命令必须被每个学习Linux的人知道. ls是什么 ls命令用于列出文件和目录.默认上,他会列出当前目录的内容.带上 ...

  2. Linux 命令的20个实用范例,入门必看!

    Tips: 达内Linux云计算免费课程火热抢报中,点击文末“阅读原文”快速抢! Linux中一个基本命令是ls.没有这个命令,我们会在浏览目录条目时会遇到困难.这个命令必须被每个学习Linux的人知 ...

  3. (转)Nmap命令的29个实用范例

    Nmap命令的29个实用范例 原文:http://os.51cto.com/art/201401/428152.htm Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具. ...

  4. ls 命令还能这么玩?看一下这 20 个实用范例

    Linux中一个基本命令是ls.没有这个命令,我们会在浏览目录条目时会遇到困难.这个命令必须被每个学习Linux的人知道. ls是什么 ls命令用于列出文件和目录.默认上,他会列出当前目录的内容.带上 ...

  5. Nmap命令的29个实用范例

    Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具.Nmap用于在远程机器上探测网络,执行安全扫描,网络审计和搜寻开放端口.它会扫描远程在线主机,该主机的操作系统,包过滤器 ...

  6. [转]给Linux系统管理员准备的Nmap命令的29个实用范例+ tsysv 系统服务器管理器

    原文链接:http://os.51cto.com/art/201401/428152.htm Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具.Nmap用于在远程机器上探 ...

  7. 给Linux系统/网络管理员准备的Nmap命令的29个实用范例

    我将用两个不同的部分来涵盖大部分NMAP的使用方法,这是nmap关键的第一部分.在下面的设置中,我使用两台已关闭防火墙的服务器来测试Nmap命令的工作情况. 192.168.0.100 – serve ...

  8. 给Linux系统管理员准备的Nmap命令的29个实用范例

    map即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具.Nmap用于在远程机器上探测网络,执行安全扫描,网络审计和搜寻开放端口.它会扫描远程在线主机,该主机的操作系统,包过滤器和 ...

  9. 20个实用的Linux命令

    20个实用的Linux命令 2016-04-16 程序员之家 1. 命令:sl (蒸汽机车) 你可能了解 ‘ls’ 命令,并经常使用它来查看文件夹的内容.但是,有些时候你可能会拼写成 ‘sl’ ,这时 ...

随机推荐

  1. C++ 11和C++98相比有哪些新特性

    此文是如下博文的翻译: https://herbsutter.com/elements-of-modern-c-style/ C++11标准提供了许多有用的新特性.这篇文章特别针对使C++11和C++ ...

  2. hadoop2.7.2完全分布式环境搭建

      1.先使用groupadd hadoop 建立hadoop用户组 2.新建用户,useradd -d /usr/hadoop -g hadoop -m hadoop (新建用户hadoop指定用户 ...

  3. Spark数据本地化-->如何达到性能调优的目的

    Spark数据本地化-->如何达到性能调优的目的 1.Spark数据的本地化:移动计算,而不是移动数据 2.Spark中的数据本地化级别: TaskSetManager 的 Locality L ...

  4. AR入门系列-07-Vuforia柱形体识别

    今天为大家带来Vuforia柱形体识别的使用教程 首先我们要进入Vuforia官网在TargetManager中添加Target,这次我们添加的类型为Cylinder圆柱 Bottom Diamete ...

  5. 1179: [Apio2009]Atm

    1179: [Apio2009]Atm Time Limit: 15 Sec  Memory Limit: 162 MBSubmit: 1629  Solved: 615[Submit][Status ...

  6. PowerDesigner建模应用(二)逆向工程,导出PDM文件前过滤元数据(表、视图、存储过程等)

    在上一篇文章<PowerDesigner建模应用(一)逆向工程,配置数据源并导出PDM文件>步骤二中导出了目标数据库对应的PDM文件, 该文件中展示出了所有表的信息与关系. 某些业务场景下 ...

  7. Lucas定理学习(进阶中)

    (1)Lucas定理:p为素数,则有: (2)证明: n=(ak...a2,a1,a0)p = (ak...a2,a1)p*p + a0 =  [n/p]*p+a0,m=[m/p]*p+b0其次,我们 ...

  8. 在线音乐播放器-----酷狗音乐api接口抓取

    首先身为一个在线音乐播放器,需要前端和数据库的搭配使用. 在数据库方面,我们没有办法制作,首先是版权问题,再加上数据量.所以我们需要借用其他网络播放器的数据库. 但是这些在线播放器,如百度,酷狗,酷我 ...

  9. JavaEE开发基于Eclipse的环境搭建以及Maven Web App的创建

    本篇博客就完整的来聊一下如何在Eclipse中创建的Maven Project.本篇博客是JavaEE开发的开篇,也是基础.本篇博客的内容干货还是比较多的,而且比较实用,并且都是采用目前最新版本的工具 ...

  10. 菜鸟笔记:node.js+mysql中将JSON数据构建为树(递归制作树状菜单数据接口)

    初学Web端开发,今天是第一次将所学做随笔记录,肯定存在多处欠妥,望大家海涵:若有不足,望大家批评指正. 进实验室后分配到的第一个项目,需要制作一个不确定层级树形菜单的数据接口,对于从来没实战编过程的 ...