Linux 文件查找与编辑命令集合

一、find 查找命令# 在目录下查找文件并打印路径,子目录也会查找find /home/test -name test.sh -print 12命令选项:

  • -name 按照文件名查找
  • -perm 按照文件权限来查找文件
  • -prune 不在当前指定的目录查找 。如果同时使用了-depth,那-prune会被忽略
  • -user 按文件属主来查找文件
  • -group 按所属组来查找文件
  • -mtime -n +n 按照文件更改时间来查找文件
  • -nogroup 查找无有效所属组的文件,即在该所属组在/etc/groups中不存在
  • -nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在
  • -newer file1 !file2 查找更改时间比file1新但比file2老的文件
  • -type 查找某一类型的文件
  • -size n[c]查找文件工度为n块的文件,带有c时表示文件长度以字节计算
  • -depth 在查找文件地,首先查找当前目录中的文件,然后在其子目录中查找 。
  • -fstype 查找位于某一类型雇佣系统中的文件
  • -mount 在查找文件地不跨越文件系统mount点
  • -cpio 对匹配的文件使用cpio命令,将这些文件备份到磁带设备中
# 模糊搜索,在$HOME目录下查找后缀txt的文件find ~ -name "*.txt" -print # 使用正则表达式,查找当前目录及子目录里大写开头的文件find . -name "[A-Z]*" -print # 在/etc里找host开头的文件find /etc -name "host*" -print # 查找两个小写字母开头,后跟两个数字的文件find . -name "[a-z][a-z][0-9][0-9].txt" -print # 当前目录下找权限为755的文件find . -perm 755 -print # 忽略/Apps/bin目录进行查找find /apps -name "/apps/bin" -prune -o -print # 用ls -l 列出所找到的文件find . -type f -exec ls -l {} ;# 删除5天前的日志find . -name "*.LOG" -mtime +5 -ok rm {} ;find /home/hap/src/* -name "*.o" -exec rm {} ;# 使用xargs # 用grep命令在所有的普通文件中搜索device单词find / -type f -print | xargs grep "device" 123456789101112131415161718192021【Linux 文件查找与编辑命令集合】# 查找大文件find . -type -size +200M # 查找大于400M的文件find . -type f -size +400M-print0 | xargs -0 du -h1234二、文本搜索工具 grep全称是 Global Regular Expression Print,使用正则表达式搜索文本 。命令格式: grep [options]主要参数: