第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工具都可以通过网络下载文件。

0 0
原创粉丝点击