zoukankan      html  css  js  c++  java
  • 2018/05/07 Linux find命令中{}的作用

    首先抛出一个问题,如果你在文件中建立了一个 -a.txt 的文件,你会怎么删除它?

    我之前的回答是

    rm -a.txt
    

    实验结果很明显,不能删除。

    因为在 Linux 下,会把 -a.txt 前面的 - 认为是 rm 的一个选项,然而 rm 命令并没有这个选项,所以会报错,并且不能删除。

    所以对于前面有特殊字符 - 的文件

    rm ./-1.txt
    

    就可以删除了。

    --

    前面可能说了一堆废话,并没说 {} 有什么用。

    上面我们说了如何删除特殊字符 - 的文件,可是在实际过程中,会不小心建立各种各样的文件。

    各种特殊符号,实际上,我们并不能使用一种通用的方法来说每种特殊符号改怎么删除。

    这里就会引入对 find 命令的使用

    --

    关于 find 的命令的一般问题这里也不做赘述。

    我们知道,每个文件都有一个类似于 ID 的东西。

    我们可以用 

    ls -ai
    

    来查看我们文件的ID 这里我随便列出一个特殊文件的ID

    9380 -111
    

    --

    之后我们就可以使用 find 来找到这个文件

    find . -inum 9380
    

    在找到这个或多个文件之后,我们就可以操作它。

    {} 的作用更像是一个之前命令产生的一个集合一样,我们队这个集合进行操作。

    find . -inum 9380 -exec rm {} ;
    

    这样子我们就会执行 -exec 下面的命令,去删除上面已经找到的集合。

    --

    这里只是对于 {} 的一个示例,其他的用法还有很多。

    还有一个参数是 -ok

    如果是这样的:

    find . -inum 9380 -ok rm {} ;
    

    他和上面不一样的是,在删除的时候会询问你是否删除。

    --

    通过这个小例子,明白了 {} 其实也挺像 | 的管道命令,都是操作上一个结果。

  • 相关阅读:
    前后端分离
    分库分表之终极设计方案
    题解-CF1491
    题解-ARC113
    题解-CF578D LCS Again
    团队冲刺第二阶段5
    团队冲刺第二阶段4
    团队冲刺第二阶段3
    团队冲刺第二阶段2
    团队冲刺第二阶段1
  • 原文地址:https://www.cnblogs.com/25-lH/p/9002145.html
Copyright © 2011-2022 走看看