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 不带参数运行
不带参数运行ls会只列出文件或者目录。看不到其他信息输出(译注:有时候你发现无参数的ls命令和这里描述的不同,那有可能是你的ls命令实际上带参数的ls别名)
2.2 ls -l 使用长清单模式
使用-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 显示文件大小
以字节为单位看大小可能会不方便。6.5M读起来比6727680字节更简单。要这么做,我们可以使用-h与-l结合的参数。-h参数意味着便于人识别。
另外一个可以这么做的参数是–si。这个参数和-h参数类似,但是-si以1000为单位,而-h以1024为单位。
2.4 ls -lhS 排序文件大小
在我们可以显示文件大小之后,我们希望以文件大小排序。我们可以使用-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作为单位大小。所以语法就会像这样:
2.6 ls -a 显示隐藏文件
在Linux中,以”.”(点号)开头的文件是隐藏文件。为了在ls命令中显示它,我们可以使用-a选项。
2.7 ls -d */ 只列出目录条目
如果我们希望只列出目录,我们可以使用-d选项。
2.8 ls -g 不打印所有者信息
要这么做,我们使用-g选项。
2.9 ls -lG 不打印组信息
-g隐藏了拥有者信息,—G会隐藏组信息。
2.10 ls -n 打印UID和GID
如果你想以数字方式列出项的所有者和所有组(即UID和GID),我们可以带-n选项使用ls命令。这里是个例子。
从上面的例子中,我们知道用户pungki的UID是100,GID是1000,而root组的GID是0。
2.11 ls –color=never 不带颜色打印
一些Linux发行版已经对ls命令启用彩色。这会使ls以各种颜色打印列表。如果你不想要这样,你可以使用 –color=never 参数。
2.12 ls -li 打印每个文件的索引号
为了打印索引或者大家俗称的inode号,我们可以使用-i选项。索引号会显示在第一列。
2.13 ls -p 增加/ (斜线) 标记目录
要这么做,使用-p选项。
2.14 ls -r 排序时反转顺序
你或许需要在列出条目时反转顺序。要这么做,你可以使用-r选项。
2.15 ls -R 递归列出子目录
带-R参数后,你可以列出包含它子目录的目录。
2.16 ls -lX 扩展名排序
你可以使用-X参数或者–sort=extension来通过扩展名来排序(译注:这样对于筛选不同类型的文件很有用)。
$ ls -lX
或
$ ls –sort=extension
2.17 ls -lt 通过修改时间列出
使用-t选项会按修改时间排序,新的文件在前。
2.18 ls ~ 列出你的主目录
要列出你的主目录,你可以用”~”(波浪号)来代表它。这样你就不必输入完整的目录名。让我们假设家文件名为/home/pungki,那么波浪号就对/home/pungki有意义了。
2.19 ls ../ 列出父目录
无论你在那个目录,你可以列出父目录而不必输入完整路径。这是个例子。
$ ls ../
这回列出1层之上的目录内容。
$ ls ../../
这回列出2层之上的目录内容(译注:可不支持“…”来代表2层之上)。
2.20 ls –version 查看ls命令版本
使用–version参数打印它。