cod*_*ode 7 linux command-line find
有时我会看到这样的命令
find . -name * -exec ls -a {} \;
Run Code Online (Sandbox Code Playgroud)
我被要求执行此操作。
{} \;这里是什么意思?
小智 7
的\;是一个;进给到程序(FIND)由\逃逸防止它由外壳(通常将分离命令)来处理。该-exec参数将所有内容解释为一个命令,直到插入;的-exec内容结束。在-exec内容中,参数的{}意思是“在此处插入文件名”。因此,如果文件是“foo”和“bar”,它将执行“ls -a foo”然后执行“ls -a bar”。所以所有这些意义只意味着因为-exec存在。
它的-name *一部分可能是用*引号引起来的。如果它不在引号中,它会做非常不可预测的事情,因为所有文件名都将插入到*您拥有的位置,而这些名称可能会对这个命令产生不良影响。-name *为了更安全地运行此命令而离开(但我不知道您打算了解为什么在那里)。
| 归档时间: |
|
| 查看次数: |
4629 次 |
| 最近记录: |