`
corejava2008
  • 浏览: 296592 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

巧用liunx Find 删除大量文件

阅读更多
公司有个旧的系统,相关的数据处理是通过文件的形式来处理的
由于系统做的很烂,经常会造成一段时间后大量的数据文件堆积
然后发现竟然有一个专门的程序去清理这些文件。
本人又很懒,不想写,使用liunx 命令行搞定,方便 简洁  。。 哈哈
find /home/goojia/sitedata/adaptor/rent/ -name 'com.XXX.*' -mtime -10|xargs rm

Find详解
·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;
#-print 将查找到的文件输出到标准输出
#-exec   command   {} \;      —–将查到的文件执行command操作,{} 和 \;之间有空格
#-ok 和-exec相同,只不过在操作前要询用户

====================================================

-name   filename              #查找名为filename的文件
-perm                        #按执行权限来查找
-user    username             #按文件属主来查找
-group groupname             #按组来查找
-mtime   -n +n                #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime    -n +n               #按文件访问时间来查GIN: 0px">-perm                         #按执行权限来查找
-user    username             #按文件属主来查找
-group groupname             #按组来查找
-mtime   -n +n                #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime    -n +n               #按文件访问时间来查找文件,-n指n天以内,+n指n天以前

-ctime    -n +n               #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                      #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer   f1 !f2               找文件,-n指n天以内,+n指n天以前
-ctime    -n +n               #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                      #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer   f1 !f2               #查更改时间比f1新但比f2旧的文件
-type     b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size      n[c]               #查长度为n块[或n字节]的文件
-depth                       #使查找在进入子目录前先行查找完本目录
-fstype                      #查更改时间比f1新但比f2旧的文件
-type     b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size      n[c]               #查长度为n块[或n字节]的文件
-depth                       #使查找在进入子目录前先行查找完本目录
-fstype                      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount                       #查文件时不跨越文件系统mount点
-follow                      #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                 %;      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount                       #查文件时不跨越文件系统mount点
-follow                      #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                        #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune                       #忽略某个目录

====================================================
$find   ~   -name   "*.txt"   -print     #在$HOME中查.txt文件并显示
$find   .    -name   "*.txt"   -print
$find   .    -name   "[A-Z]*"   -pri26nbsp;    #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune                               #忽略某个目录

=====================================================
$find   ~   -name   "*.txt"   -print     #在$HOME中查.txt文件并显示
$find   .    -name   "*.txt"   -print
$find   .    -name   "[A-Z]*"   -print   #查以大写字母开头的文件
$find   /etc   -name   "host*"   -print #查以host开头的文件
$find   .   -name   "[a-z][a-z][0–9][0–9].txt"    -print   #查以两个小写字母和两个数字开头的txt文件
$find .   -perm   755   -print
$find   .   -perm -007   -exec ls -l {} \;   #查所有用户都可读写执行的文件同-perm 777
$find   . -type d   -print
$find   .   !   -type   d   -print
$find   .   -type l   -print

$find   .   -size   +1000000c   -print        #查长度大于1Mb的文件
$find   .   -size   100c         -print       # 查长度为100c的文件
$find   .   -size   +10   -print              #查长度超过期作废10块的文件(1块=512字节)

$cd /
$find   etc   home   apps    -depth   -print   | cpio   -ivcdC65536   -o   /dev/rmt0
$find   /etc -name "passwd*"   -exec grep   "cnscn"   {}   \;   #看是否存在cnscn用户
$find . -name "yao*"   | xargs file
$find   . -name "yao*"   |   xargs   echo    "" > /tmp/core.log
$find   . -name "yao*"   | xargs   chmod   o-w

======================================================

find   -name april*                       在当前目录下查找以april开始的文件
find   -name   april*   fprint file         在当前目录下查找以april开始的文件,并把结果输出到file中
find   -name ap* -o -name may*   查找以ap或may开头的文件
find   /mnt   -name tom.txt   -ftype vfat   在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件
find   /mnt   -name t.txt ! -ftype vfat    在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件
find   /tmp   -name wa* -type l            在/tmp下查找名为wa开头且类型为符号链接的文件
find   /home   -mtime   -2                  在/home下查最近两天内改动过的文件
find /home    -atime -1                   查1天之内被存取过的文件
find /home -mmin    +60                   在/home下查60分钟前改动过的文件
find /home   -amin   +30                   查最近30分钟前被存取过的文件
find /home   -newer   tmp.txt              在/home下查更新时间比tmp.txt近的文件或目录
find /home   -anewer   tmp.txt             在/home下查存取时间比tmp.txt近的文件或目录
find   /home   -used   -2                   列出文件或目录被改动过之后,在2日内被存取过的文件或目录
find   /home   -user cnscn                 列出/home目录内属于用户cnscn的文件或目录
find   /home   -uid   +501                  列出/home目录内用户的识别码大于501的文件或目录
find   /home   -group   cnscn               列出/home内组为cnscn的文件或目录
find   /home   -gid 501                    列出/home内组id为501的文件或目录
find   /home   -nouser                     列出/home内不属于本地用户的文件或目录
find   /home   -nogroup                    列出/home内不属于本地组的文件或目录
find   /home    -name tmp.txt    -maxdepth   4   列出/home内的tmp.txt 查时深度最多为3层
find   /home   -name tmp.txt   -mindepth   3   从第2层开始查
find   /home   -empty                      查找大小为0的文件或空目录
find   /home   -size   +512k                查大于512k的文件
find   /home   -size   -512k                查小于512k的文件
find   /home   -links   +2                  查硬连接数大于2的文件或目录
find   /home   -perm   0700                 查权限为700的文件或目录
find   /tmp   -name tmp.txt   -exec cat {} \;
find   /tmp   -name   tmp.txt   -ok   rm {} \;

find    /   -amin    -10        # 查找在系统中最后10分钟访问的文件
find    /   -atime   -2          # 查找在系统中最后48小时访问的文件
find    /   -empty               # 查找在系统中为空的文件或者文件夹
find    /   -group   cat         # 查找在系统中属于 groupcat的文件
find    /   -mmin   -5          # 查找在系统中最后5分钟里修改过的文件
find    /   -mtime   -1         #查找在系统中最后24小时里修改过的文件
find    /   -nouser              #查找在系统中属于作废用户的文件
find    /   -user    fred        #查找在系统中属于FRED这个用户的文件
分享到:
评论

相关推荐

    可在windows系统使用的类liunx工具find

    `会删除所有.txt文件。 在Windows中使用`find.exe`时,需要注意的是,它通常依赖于一些Cygwin的动态链接库(如给出的dll文件),这是因为`find`本身是为Unix-like系统设计的。这些库文件如`cygwin1.dll`等是将Linux...

    liunx命令

    * `rm -f file1`:删除一个叫做 'file1' 的文件 * `rmdir dir1`:删除一个叫做 'dir1' 的目录 * `rm -rf dir1`:删除一个叫做 'dir1' 的目录并同时删除其内容 * `mv dir1 new_dir`:重命名/移动 一个目录 * `cp file...

    liunx常用操作命令_liunx常用操作命令_

    8. **more** 和 **less**:分页查看文件内容,更适合大文件。`more filename`或`less filename`可以逐页浏览。 9. **grep**:在文件中搜索特定字符串。例如,`grep "keyword" filename`会查找包含“keyword”的行。...

    liunx操作杂记

    此外,还可以使用`find`命令配合`exec`来查找并执行某些命令,如删除特定时间之前的文件: ```bash find /var/www/html -type f -mtime +2 -exec rm -rf {} \; ``` 这条命令会查找`/var/www/html`目录下超过两天的...

    ram的课件含liunx系统文件

    6. **查找文件**:掌握`find`命令的用法,用于在文件系统中定位文件。 7. **文件系统挂载**:了解如何挂载外部存储设备,如USB驱动器或网络共享,以及`/etc/fstab`文件的配置。 8. **文件权限与所有权**:学习如何...

    liunx操作指令.rar

    `cat [文件名]`常用于查看文件的完整内容,`more`和`less`则是分页查看,尤其适合处理大文件。 9. **grep**:搜索文件内容。`grep [关键词] [文件名]`可以帮助你在文件中查找包含特定文字的行。 10. **find**:...

    Liunx系统定时删除任务,定时清理日志,定时清理任务

    本篇文章将深入讲解如何利用Linux的crontab工具设置定时删除任务,特别是针对日志文件的清理。 首先,我们需要了解`crontab`这个命令。`crontab`是Linux下的一个计划任务调度命令,它允许用户定义周期性的任务。每...

    linux命令大集合 liunx下java环境的搭配

    10. **find**:在指定路径下查找文件,如`find / -name "myfile"`。 11. **sudo**:以管理员权限执行命令,如`sudo apt-get install software`安装软件。 12. **apt-get**/**yum**:软件包管理器,用于安装、更新...

    liunx初级基础命令

    小心使用,因为删除的文件通常无法恢复。 5. `mv` 命令:移动文件或重命名。例如,`mv filename1 filename2`将`filename1`重命名为`filename2`,`mv qib.tgz ../qib.tgz`将`qib.tgz`移动到上一级目录。 6. `cd` ...

    linux下nohup日志输出过大问题的解决方法

    split 命令是一个非常有用的命令,可以将大文件分割成多个小文件,以便于查看和管理。在上面的示例代码中,我们使用 split 命令将 nohup.out 文件分割成多个小文件,每个文件的大小为 5M。 `/usr/bin/split -b 5m ...

    liunx就是这个范儿

    - `find`: 搜索文件系统中满足特定条件的文件或目录。 通过实践这些基本命令,用户可以逐渐掌握Linux的强大功能。 ### 结论 Linux不仅仅是一个操作系统,更代表了一种文化和理念。它强调开放、自由和协作的精神,...

    liunx学习基础命令

    5. **rm -rf dir**:`rm`命令用于删除文件或目录,`-rf`组合表示强制删除并递归处理目录,小心使用,因为这可能会永久删除数据。 6. **touch file**:如果文件已经存在,`touch`命令将更新文件的时间戳;如果文件不...

    linux_solaris_command.zip_liunx

    5. **rm**:删除文件或目录。`rm -rf dir`谨慎使用,因为它是强制删除且不提示确认。 6. **cp**和**mv**:复制或移动文件和目录。`cp file1 file2`或`mv file1 file2`。 7. **cat**:查看文件内容。`cat filename`。...

    嵌入式LIUNX入门总结

    15. `find`:查找文件,`grep`:搜索字符串,`top`:查看CPU使用情况,`ps aux`:查看所有进程,`kill`:结束进程,`man`:查看命令帮助。 **VI编辑器:** 1. VI有三种模式:命令模式、插入模式和底行模式。 2. `i`...

    liunx常用命令l命令

    - `locate`: 快速查找文件,基于数据库,比`find`快。 - `which`: 查找命令的完整路径。 **3. 系统和程序控制命令** - `init`: 控制运行级别,不同的级别对应系统的不同状态。 - `shutdown`: 安全关闭系统或重启,...

    liunx常用命令大全

    4. **rm(删除文件或目录)** - 用途:删除文件或目录。 - 示例: - `rm -r directory`:递归删除目录及其内容。 5. **mkdir(创建新目录)** - 用途:创建一个新的目录。 - 示例: - `mkdir new_dir`:创建...

    liunx命令大全 帮助文档

    例如,`find / -name myfile`在根目录下搜索名为myfile的文件。 13. **grep**:在文件中搜索特定字符串。`grep "pattern" file`在file中查找pattern。 14. **chmod**:更改文件或目录的权限。`chmod 755 file`给予...

    liunx常用命令大全.doc

    以上只是Linux命令的冰山一角,还有许多其他命令,如`mkdir`用于创建目录,`rmiregister`用于查看系统信息,`grep`用于搜索文件内容,`find`用于查找文件,`chmod`用于改变文件权限,以及`chown`和`chgrp`用于改变...

    liunx常用命令[参考].pdf

    - `find`命令结合`grep`删除包含特定关键字的文件,如`find /mnt/ebook/ -type f -exec grep "关键字" {} ; -print -exec rm {} ;` - 解压缩rpm文件:`cat kernel-ntfs-2.4.20-8.i686.rpm | rpm2cpio | pax –r` ...

Global site tag (gtag.js) - Google Analytics