我目前正在参加计算机 GCSE 的受控评估,这就是任务。
在命令提示符下,键入 ls -a。演示并解释发生了什么。修改此命令,使其仅显示以字母“b”开头的隐藏文件。
我已经做过ls -a
并且尝试过ls -b
,但没有成功。
答案1
隐藏文件的名称以.
(点)开头,没有以b
.列出以.b
use开头的名称
$ ls .b*
这还将列出名称以 开头的任何目录的内容.b
。请注意,-a
这里不需要,因为我们明确给出了 shell 匹配的文件名模式。由于模式以.
(点)开头,因此它将匹配隐藏文件。展开后的图案将被交给ls
加工。
为了避免列出目录的内容,请使用
$ ls -d .b*
如果没有名称与模式匹配,上述解决方案将给出错误。
仅列出姓名常规文件名字以.b
, 使用开头
$ for name in .b*; do test -f "$name" && printf '%s\n' "$name"; done
要以与普通类似的方式获取输出ls
(请注意,这column
是一个非标准实用程序):
$ for name in .b*; do test -f "$name" && printf '%s\n' "$name"; done | column
最后几个解决方案不会打印任何名称与模式不匹配的内容。
答案2
ls
是命令,-a
是命令的标志。为了查看从b
一个人开始的文件,可以指定一种模式 -.b*
其中.
意味着文件被隐藏,意味着*
其他一切......
一般来说,当您不知道命令的作用时,请阅读手册 -man ls
为了避免列出所列项目的内容,请使用该-d
选项。