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 {} \;
他和上面不一样的是,在删除的时候会询问你是否删除。
--
通过这个小例子,明白了 {} 其实也挺像 | 的管道命令,都是操作上一个结果。
2018/05/07 Linux find命令中{}的作用的更多相关文章
- linux top命令中各cpu占用率含义
linux top命令中各cpu占用率含义 [尊重原创文章摘自:http://www.iteye.com/topic/1137848]0.3% us 用户空间占用CPU百分比 1.0% sy 内核空间 ...
- (转)linux top命令中各cpu占用率含义及案例分析
原文:https://blog.csdn.net/ydyang1126/article/details/72820349 linux top命令中各cpu占用率含义 0 性能监控介绍 1 确定应用类型 ...
- linux free命令中buffer与cache的区别
linux free命令中buffer与cache的区别 2012-05-15 个评论 收藏 我要投稿 linux free命令中buffer与cache的区别 ~$ ...
- linux find命令中-print0和xargs中-0的用法
linux find命令中-print0和xargs中-0的用法. 1.默认情况下, find命令每输出一个文件名, 后面都会接着输出一个换行符 ('\n'), 因此find 的输出都是一行一行的: ...
- Linux dd命令中dsync与fdatasync的区别【转】
在Linux系统中经常会使用dd命令来测试硬盘的写入速度,命令会涉及到两个参数:dsync与fdatasync,本文介绍一下其区别. dd if=/dev/zero of=/tmp/1Gbytes b ...
- Linux shell命令中expr
在Linux shell命令中expr虽然不是很起眼,但是它的作用是非常大的!到目前为止,我个人看来最大的作用就是两个——四则运算和字符串的操作. 先说四则运算,在Shell中四则运算不能简简单单的加 ...
- Linux top命令中CPU信息的详解(转)
add by zhj: 下面的文章解释的很好了,这里再说明一下top命令中wa的含义,我们知道,当IO阻塞时,操作系统会把进程改为阻塞态,将CPU调度到运行其它进程. CPU在空闲状态下,会检查是否有 ...
- Linux curl命令中,HTTP 302处理
在Linux中使用curl命令时,偶尔会遇到一些URL跳转到新的URL,即HTTP中的3XX(redirection,重定向 ). $curl -s -I $URL > log 这时在返回的报文 ...
- Linux grep 命令中的正则表达式详解
在 Linux .类 Unix 系统中我该如何使用 Grep 命令的正则表达式呢? Linux 附带有 GNU grep 命令工具,它支持扩展正则表达式(extended regular expres ...
随机推荐
- Selenium Web 自动化 - 项目实战(一)
Selenium Web 自动化 - 测试框架(一) 2016-08-05 目录 1 框架结构雏形2 把Java项目转变成Maven项目3 加入TestNG配置文件4 Eclipse编码修改5 编写代 ...
- idea 导入 android项目
1. 2. 主要是勾选上面选项. next next 导入即可
- hdoj:2024
#include <iostream> #include <string> #include <vector> using namespace std; int m ...
- MySQL 5.7的安装及主从复制(主从同步)
1.master上开启binlog日志,配置如下 一般mysql配置文件在目录/etc下,叫my.cnf (如果找不到的话也有可能在这些目录下:/etc/my.cnf,/etc/mysql/my.cn ...
- RMAN正确地删除Archivelog以及设置有备库的归档删除策略
原文链接:http://blog.sina.com.cn/s/blog_64e166580100xks5.html 如何正确地删除Archivelog: Archivelog并不能直接得从OS层直接物 ...
- Win7/Win10多用户同时使用远程桌面
Win7/Win10正常情况下是不允许多用户同时远程的,即一个用户远程进来会把另一个用户踢掉,需要破解. Win7:安装UniversalTermsrvPatch-x64.exe,见https://p ...
- ruby的第一次使用
今天看购买的小册,看到推荐使用的工具是ruby写的,提供了源码地址,但是不知道怎么使用 因此尝试使用了下ruby,并记录下来 1.安装 去ruby的官网,下载windows安装包 启动 Ruby 安装 ...
- GoLang之strings、buffers、bytes、binary包
strings包 strings包的使用举例: package main import s "strings" import "fmt" var p = fmt ...
- mysql添加字段并且设置默认值
ALTER TABLE task ADD uploadStatus TINYINT(4) DEFAULT '0' COMMENT '上传状态';
- 前端html、CSS快速编写代码插件-Emmet使用方法技巧详解
前端html.CSS快速编写代码插件-Emmet使用方法技巧详解 Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来 ...