TranslateProject/translated/20 Linux ls Command Examples to Display the Entries of Directory.md

7.0 KiB
Raw Blame History

20个linux ls命令示例来显示目录条目

Linux中一个基本命令是ls。没有这个命令我们会在浏览目录条目时会遇到困难。这个命令必须被每个学习Linux的人知道。

ls是什么

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

1. 不带参数运行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列 这行告诉我们这个文件/文件夹的以B为单位的大小。 除了目录的大小总是4096B。

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

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

3. 显示文件大小

以B为单位看大小会迷惑我们。6.5M读起来比6727680B更简单。要这么做我们可以使用-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是100GID是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. 列出父目录

Whenever you are inside a directory, you can also list the parent directory without need to type directory full name. Heres a sample. 无论你在那个目录,你可以列出父目录而不必输入完整路径。这是个例子。

$ ls ../

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

$ ls ../../

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

20. 打印ls命令版本

使用--version参数打印它。

$ ls --version

总结

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


via: http://linoxide.com/linux-command/linux-ls-command/

译者:geekpi 校对:校对者ID

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