linux ls命令设计思路,浅谈Linux中ls 命令(20 个实用范例分析)

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

ls是什么

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

789845173590a3390716168cfb41e9af.png

1. 不带参数运行ls

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

$ ls

5a2bab6339d0c2a1e6f8d5af8834a01f.png

2. 使用长清单模式

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

$ ls -l

3091002a1f40ca2aab695eeb78258a5f.png

这里是如何读取输出 :

第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

d741178b9c0bbf25902815f6b9cbb946.png

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

$ ls -si

0c33f601da1459ff902ff41559bf2636.png

4. 排序文件大小

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

$ ls -lhS

aae1cb6ae8a4834a75059c3065aaa0ad.png

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

9fac0d96daa9fb309b1a6d04c9e466ec.png

6. 显示隐藏文件

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

$ ls -a

38453c3b4ee10691f7d7141d02ffeeba.png

7. 只列出目录条目

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

$ ls -d */

a2fedb1edf0e7590e0cb763cd295c44e.png

8. 不打印所有者信息

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

$ ls -g

4110adaf730c1b7ac60f7d71abaa52b3.png

9. 不打印组信息

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

$ ls -lG

f2dd2a42c74d80e3c84c9902933b6360.png

10. 打印UID和GID

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

$ ls -n

ce2d534634ec875bdf7f384e7e0fc20e.png

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

11. 不带颜色打印

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

$ ls –color=never

406f6c8ef152b7b9e9552c890af6fdf8.png

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

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

$ ls -li

638d16c5ad1b976759faade9dd8a4753.png

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

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

$ ls -p

ac225f6a7d81009770699795eed69959.png

14. 排序时反转顺序

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

$ ls -r

c921d0f876d53f45b77e45b9b0198ced.png

15. 递归列出子目录

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

$ ls -R

89a17279f75c23430447f537de550a59.png

16. 扩展名排序

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

$ ls -lX

$ ls –sort=extension

dc6746663ee3d9d63afcb1172fdff941.png

17. 通过修改时间列出

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

$ ls -lt

3d3b30cbd34a031c683b1a7f262a3823.png

18. 列出你的主目录

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

$ ls ~

0423bb9d53cee929bb1152414ad7def4.png

19. 列出父目录

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

$ ls ../

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

$ ls ../../

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

20. 打印ls命令版本

使用–version参数打印它。

$ ls –version

4ab2c05d97f1b4988041915ce38b4fb8.png

总结

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值