Linux ls命令用法

1、ls命令简介

ls 命令是 Linux 下最常用的命令。ls 命令就是 list 的缩写,缺省下 ls 用来打印出当前目录的清单,如果 ls 指定其他目录,那么就显示指定目录里的文件及文件夹清单。

通过 ls 命令不仅可以查看 Linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限),查看目录信息等等, ls 命令在日常的 Linux 操作中用的很多,在此给大家介绍一下 ls 命令的使用方法。

命令格式

1
ls [选项] [目录]

ls命令常用参数

参数描述
-b该ls命令选项可以把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c该ls命令选项可以输出文件的 i 节点的修改时间,并以此排序。
-d该ls命令选项可以将目录象文件一样显示,而不是显示其下的文件。
-e该ls命令选项可以输出时间的全部信息,而不是输出简略信息。
-f -U该ls命令选项可以对输出的文件不排序。
-g无用。
-i该ls命令选项可以输出文件的 i 节点的索引信息。
-k该ls命令选项可以以 k 字节的形式表示文件的大小。
-l该ls命令选项可以列出文件的详细信息。
-m该ls命令选项可以横向输出文件名,并以“,”作分格符。
-n该ls命令选项可以用数字的GUID代替名称。
-o该ls命令选项可以显示文件的除组信息外的详细信息。
-p -F该ls命令选项可以在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/“表示目录;“@”表示符号链接;“
-q该ls命令选项可以用?代替不可输出的字符。
-r该ls命令选项可以对目录反向排序。
-s该ls命令选项可以在每个文件名后输出该文件的大小。
-t该ls命令选项可以以时间排序。
-u该ls命令选项可以以文件上次被访问的时间排序。
-x该ls命令选项可以按列输出,横向排序。
-A该ls命令选项可以显示除 “.”和“..”外的所有文件。
-B该ls命令选项不输出以 “~”结尾的备份文件。
-C该ls命令选项可以按列输出,纵向排序。
-G该ls命令选项可以输出文件的组的信息。
-L该ls命令选项可以列出链接文件名而不是链接到的文件。
-N该ls命令选项将不限制文件长度。
-Q该ls命令选项可以把输出的文件名用双引号括起来。
-R该ls命令选项可以列出所有子目录下的文件。
-S该ls命令选项可以以文件大小排序。
-X该ls命令选项可以以文件的扩展名(最后一个 . 后的字符)排序。
-1该ls命令选项可以一行只输出一个文件。
–color=no该ls命令选项可以不显示彩色文件名
–help该ls命令选项可以在标准输出上显示帮助信息。

2、ls 常用示例

2.1 ls 不带参数运行

img

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

2.2 ls -l 使用长清单模式

img

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

输出内容说明如下:

  • 第1列

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

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

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

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

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

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

2.3 ls -lh 显示文件大小

img

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

img

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

2.4 ls -lhS 排序文件大小

img

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

2.5 ls -l –block-size 测量大小

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

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

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

img

2.6 ls -a 显示隐藏文件

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

img

2.7 ls -d */ 只列出目录条目

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

img

2.8 ls -g 不打印所有者信息

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

img

2.9 ls -lG 不打印组信息

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

img

2.10 ls -n 打印UID和GID

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

img

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

2.11 ls –color=never 不带颜色打印

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

img

2.12 ls -li 打印每个文件的索引号

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

img

2.13 ls -p 增加/ (斜线) 标记目录

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

img

2.14 ls -r 排序时反转顺序

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

img

2.15 ls -R 递归列出子目录

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

img

2.16 ls -lX 扩展名排序

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

$ ls -lX

$ ls –sort=extension

img

2.17 ls -lt 通过修改时间列出

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

img

2.18 ls ~ 列出你的主目录

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

img

2.19 ls ../ 列出父目录

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

$ ls ../

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

$ ls ../../

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

img

2.20 ls –version 查看ls命令版本

使用–version参数打印它。

img

-------------本文结束感谢您的阅读-------------