linux ls 最近的10个,10 个 Linux ls 命令的面试问题(二)

这是关于文件列表命令的第二篇文章,继续探讨‘ls’命令的其他方面。该系列的第一篇文章受到了社区的高度关注,如果你错过了该系列的第一部分,可以访问以下地址:

15 个‘ls’命令的面试问题(一)

这篇文章通过样例来很好地展现‘ls’命令的深入应用,我们加倍小心地来写这篇文章来保持其简洁可理解性,同时又能提供最全面的服务。

9044b8afa13e3b851a43c92a57ec4b14.png

10 ‘ls’ 命令面试的问题

16. 假如你想要以长列表的形式列出目录中的内容,但是不打印文件创建者名称以及文件所属组。看看输出有何不同之处。

a. ls 命令在与‘-l’选项一起使用时会将文件以长列表格式输出。

# ls -l

90bc81171271dc48266d06043d6556a6.gif

以长格式列出文件

b. ls 命令在与‘-l’和‘–author’一起使用时,会将文件以长列表格式输出并带有文件创建者的名称信息。

# ls -l --author

000054b1a628f99f2ffa947aad5aa54c.gif

列出文件的创建者

c. ls 命令在与‘-g’选项 一起将会列出文件名但是不带属主名称。

# ls -g

000054b1a628f99f2ffa947aad5aa54c.gif

列出文件但不列出属主

d. ls 命令在与’-G’和‘-l’选项一起将会使用长列表格式列出文件名称但是不带文件所属组名称。

# ls -Gl

000054b1a628f99f2ffa947aad5aa54c.gif

列出文件但是不列出所属组

17. 使用易读格式打印出当前目录中的文件以及文件夹的大小,你会如何做?

这里我们需要使用’-h’选项(人类可阅读的、易读的)同‘-l’或‘-s’选项与ls命令一起使用来得到想要的输出。

# ls -hl

000054b1a628f99f2ffa947aad5aa54c.gif

以易读格式的长列表列出文件

# ls -hs

721beb1c448fcc9a7ebcdd3b8245666c.gif

以易读格式的短列表列出文件

注意: ‘-h’选项使用1024(计算机中的标准)的幂,文件或文件夹的大小分别以K,M和G作为输出单位。

18. 既然‘-h’选项是使用1024的幂作为标准来输出大小,那么ls命令是否还支持其他的幂值呢?

存在一个选项 ‘–si’与选项‘-h’相似,不同之处在于前者以使用1000的幂,后者使用1024的幂。

# ls --si

所以’–si’也可以与‘-l’选项一起使用来按照1000的幂来输出文件夹的大小,并且以长列表格式显示。

# ls --si -l

(LCTT 译注:此处原文参数有误,附图也不对,因此删除之。–si 参数是双连线参数,而且有的版本的 ls 并不支持该参数)

19. 假如要你使用逗号‘,’作为分隔符来打印一个目录中的内容,可以吗? 对于长列表形式也可行吗?

当然!linux的ls命令当与其选项‘-m’一起使用时可以在打印目录内容时以逗号‘,’分割。由于逗号分割的内容是水平填充的,ls命令不能在垂直列出内容时使用逗号来分割内容。

# ls -m

721beb1c448fcc9a7ebcdd3b8245666c.gif

以逗号分隔显示内容

当使用长列表格式时,‘-m’选项就没有什么效果了。

# ls -ml

159281_20200806173046065.gif

长列表不能使用逗号分隔列表

20. 有办法将目录的内容逆序打印出来吗?

可以!上面的情形可以轻松地通过’-r’选项搞定,该选项将输出顺序倒置。这个选项也可以与‘-l’选项一起使用。

# ls -r

159281_20200806173046065.gif

逆序列出

# ls -rl

159281_20200806173046081.gif

逆序长列表

21. 如果你被分配一个任务,来递归地打印各个子目录,你会如何应付?注意,只针对子目录而不是文件哦。

小意思!使用“-R”选项就可以轻轻松松拿下,它也可以更进一步地与其他选项如‘-l’和‘-m’选项等组合使用。

# ls -R

3ac87e11a04f68e1fec65f3dc2020f44.gif

递归列出子目录

22. 如何按照文件大小对其进行排序?

Linux命令行选项’-S’赋予了ls命令这个超能力。按照文件大小从大到小的顺序排序:

# ls -S

3ac87e11a04f68e1fec65f3dc2020f44.gif

按文件大小排序

按照文件大小从小到大的顺序排序。

# ls -Sr

74a07ec6956f629e8f7f3b6e97ee428a.gif

从小到大的排序

23. 按照一行一个文件列出目录中的内容,并且不带额外信息的方式

选项‘-1’在此可以解决这个问题,使用‘-1’选项来使用ls命令可以将目录中的内容按照一行一个文件并且不带额外信息的方式进行输出。

# ls -1

74a07ec6956f629e8f7f3b6e97ee428a.gif

不带其他信息,一行一个列出文件

24. 现在委派给你一个任务,你必须将目录中的内容输出到终端而且需要使用双引号引起来,你会如何做?

有一个选项‘-Q’会将ls命令的输出内容用双引号引起来。

# ls -Q

74a07ec6956f629e8f7f3b6e97ee428a.gif

输出的文件名用引号引起来

25. 想象一下你正在与一个包含有很多文件和文件夹的目录打交道,你需要使目录名显示在文件名之前,你如何做?

# ls --group-directories-first

3082b52346ebbe7c761846f2736b96d8.gif

目录优先显示

先点到为止,我们会马上提供该系列文章的下一部分。别换频道,关注我们。 另外别忘了在下面的评论中提出你们宝贵的反馈信息,喜欢就分享,帮助我们得到更好的传播吧!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值