linux - unix 使用以下命令列出文件

标签 linux unix command

有四个文件,分别是a , aab , bbcb 。命令是ls?[a-b]*

输出是什么?

a. aab bb
b. a aab bb
c. aab bb cb
d. cb
e. a aab bb cb

我得到了b作为答案,请确认我是否正确。

最佳答案

相关命令应该是 ls ?[a-b]*(注意 ls 后面的空格),否则您可能会出现“找不到命令”错误。

假设它确实是ls ?[a-b]*,这意味着列出以任何字符 (?) 开头的文件 (ls),后跟字母 ab ([a-b]),后跟任何其他内容或根本没有 (*)。

因此,这将匹配当前目录中名称至少有 2 个字母的文件/目录,其中第二个字母是 a 或 b

因此答案应该是aab bb cb(答案C)。

附注这实际上是一个非常巧妙的问题,甚至可能会困扰一些经验丰富的用户,即对于通配符,*是一个独立的通配符,并且不充当前面模式的修饰符(如正则表达式)。

关于linux - unix 使用以下命令列出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7952563/

相关文章:

bash - 无法运行 tar 命令 - 无效选项 -- '▒'

shell - tar:存档中出现意外的 EOF

linux - .NET Core - 为什么 AsyncLocal<> 引用构建在 Windows 而不是 Linux (netstandard2.0)

linux - (ONIE) stg : command not found and Error 127 in Ubuntu terminal

c - 是否有 "lseek"要内存?

php - 安全 chmod 权限?

linux - 继续远程 bash 脚本

linux - 是什么原因导致 "Xclients"在系统启动时被执行两次?

linux - 如何识别 unix 文件中的重复项并对值求和

mysql - 找不到 MySQL -- 尝试从命令行访问 MySQL 时出现 "command not found"错误