是否可以不使用上述字符来列出隐藏文件?这意味着不使用任何选项或 * 通配符以及其他一些字符(例如这是不是允许ls -a
、、、ls -d
等等).!(|.)
。echo .*
答案1
find .
将列出所有文件,包括隐藏文件。
推论:有人认为教授有关命令注入的知识通过将个别角色列入黑名单并甚至可能是命令在你的脚本中。这对你学习 shell 非常有害,因为你最终会遇到类似这样的 hack转义字符或者依赖于 Ubuntu 特定的默认配置,两者都无法处理特殊文件名。
实际上,这听起来就像是提出这个想法的人eval
出于某种原因想要使用它(这始终是一个糟糕的主意),而不是直接执行提交的代码或脚本。
循环隐藏文件的最简单方法是
for file in .*
do
my_command "$file"
done
* 或者说你最好已经阅读并理解了整个关于它的 Bash wiki 文章甚至在考虑使用它之前。
答案2
Ubuntu 有一个默认别名ls -la
。你可以简单地使用
la
答案3
echo `printf '.\x2A'`
Unicode 表获胜。
答案4
echo .
<TAB><TAB>
它已经内置在 bash 中来执行此操作。甚至不需要执行命令。
echo .
<元-*>
如果您绝对必须有一个命令(但您仍然不需要任何外部流程。)