我正在学习 shell 命令并遇到短标签,例如 [0-9]、[[:digit:]] 等。作为概念证明,我尝试使用 rm 命令删除所有文件(我知道它不是一个很好的做法,但我试图了解事情是如何运作的),就像这样
rm [0-9].txt
Run Code Online (Sandbox Code Playgroud)
目录 0.txt 和 9.txt 中有两个文件,它删除了文件 0.txt 和 9.txt 。我猜表达式 [0-9] 被扩展然后读取为 0.txt 1.txt 2 .txt .... 但是,当您只尝试 rm 5.txt 并且该文件不存在时,则会引发错误..
有人请告诉我当与 rm 或 ls 一起使用时,速记命令是如何工作的。
我一直在试图弄清楚文件描述符之间的关系。我不明白的一件事是,如何:
ls -l /bin/usr > ls-output.txt 2>&1
Run Code Online (Sandbox Code Playgroud)
不同于:
ls -l /bin/usr 2>&1 >ls-output.txt
Run Code Online (Sandbox Code Playgroud)