第11章 其他常用工具
来源:互联网 发布:新版淘宝怎么看足迹 编辑:程序博客网 时间:2024/06/05 09:43
1. 使用find查找文件
#打印出所有子目录下的*.o文件
find "$SOURCE_DIR" -name \*.o-print
#删除所有这些*.o文件,并把这些文件记录在files.list文件中
find "$SOURCE_DIR" -name \*.o-print -exec rm '{}' \; > files.list
解析:1 其中{}代替每一个搜索到的符号条件的文件
2 –exec后需加上”;”
#在主目录下找到所有的mp3文件
#然后把找到的这些文件都移到/tmp/songs文件夹下
find ~ -iname "*.mp3" -print-exec mv '{}' /tmp/songs \;
解析:iname 不区分大小写,而name区分大小写
#查找5天以前修改的文件
find . -type f -mtime +5 -print
#查找6天前修改的文件
find . -type f -mtime 6 -print
#查找3天以前修改但是修改时间不超过4天的文件
find . -type f -mtime +3 -mtime -4 -print
解析:-type f 指定要找的是一个普通文件,其他文件类型的参数还包括:
-type f #搜索普通文件
-type l #搜索链接文件
-type d #搜索目录
-type b #搜索块设备文件
-type c #搜索字符设备文件
-type p #搜索命名的管道文件
-type s #搜索socket文件
#可以使用操作符-o指定搜索条件之间的逻辑或关系
find / -user emma -a \( -name '*.c' -o-name '*.h' \) -a -perm 644 -a -atime +8 -print
解析:1 通过-user选项指定要搜索的文件所有者为emma
2 -a 和 -0 分别表示逻辑"and"和"or",-a可省略,-o不可省略
3 ()需要加\,且两侧需要空格
4 -perm 644,它表示搜索到的文件的权限为所有者emma可读、可写,而同组的用户及其他用户只可读
5 -atime +8 表示至少8天没有被访问过的文件才会被打印出来
2. xargs
#删除所有*.o文件并把这些文件记录到files.list中
# find "$SOURCE_DIR" -name \*.o-print -exec rm '{}' \; > files.list
find "$SOURCE_DIR" -name \*.o-print | tee files.list | xargs rm –f
格式:command1 | xargs command2
解析:命令command1的标准输出流经管道作为xargs命令的标准输入,而xargs把从标准输入得到的若干个字符串都当做命令行参数来执行命令command2.
xargs指导命令行所能容纳参数的最大个数,这样执行command2命令时指定的参数个数不会超出这个最大值。
3. 其他查找文件的办法
#使用locate命令查找一个文件名中包含字符串whereis的文件
$locate whereis
#不搜索中间路径,只匹配文件名
$locate –b whereis
#精确地匹配文件名whereis
$locate –b ‘\whereis’
解析:1 locate命令只能根据文件名查找;
2 由于locate是从数据库中搜索文件的,自然比搜索整个文件系统要快很多;
3 由于数据库的数据不能实时更新,造成locate有误差;
4 如果一个文件被删除,而数据库中仍然还保留它的记录,locate命令会搜索出它。此时给locate命令添加-e或-existing选项,进而会检查找到的文件是否在系统存在;
4. 判断文件的类型
在讲述ls命令时,我们可以根据输出的第一个字符分辨出普通文件、目录、特殊的块设备文件和字符设备文件、命令的管道文件、socket文件及链接文件等。而普通文件还包含了各种各样类型和格式的文件,如图像文件、压缩文件,这些信息是通过ls –l命令查看不到,需要使用file命令。
5. 数据备份
dd命令可以很方便地备份系统中的数据。
dd命令的一般格式:
dd if=[ FILE ] of=[ FILE ] count=[ BLOCKS ]bs=[ BYTES ]
6. 压缩文件
bzip2命令的语法格式:
bzip2 [option] [filenames]…
7. 文件备份
tar命令打包的语法格式:
tar –cvf archive.tar pathname…
8. 下载工具
Linux下的wget和curl工具都可以通过网络下载文件。
- 第11章 其他常用工具
- 第十章 其他常用工具
- 第07章:java开发常用工具介绍
- 第7章 其他需求
- 第10章其他有用的层
- 第10章其他有用的层
- 第10章其他有用的层
- 第 10 章 菜单和其他资源
- [Spring3.x] 第 11 章 使用 Spring JDBC 访问数据库 & 第 12 章 整合其他 ORM 框架
- java字符操作获取汉字的拼音以及其他常用工具
- 有关安全以及其他常用工具的词语解释
- 第四章 常用工具类
- 第四章 常用工具类
- 常用工具
- 常用工具
- 常用工具
- 常用工具
- 常用工具
- 1.4:被隐形的具体实现
- 算法研究:已知不重复的int集合,求最长递增子序列
- 面试代码
- CodeForces - 510C(拓扑排序)
- Snackbar
- 第11章 其他常用工具
- maven 安装jar包到本地仓库
- 关于偏置-方差分解
- 管道(pipe)和有名管道(fifo)
- C++下载文件到本地
- 第12章 处理信号
- sql之left join、right join、inner join的区别
- 利用ObjectMapper将javabean转为json
- zzuli 1253: 取石子游戏