`

Linux中find常见用法示例以及删除7天前的文件

阅读更多
·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

find命令的参数;

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

#-print 将查找到的文件输出到标准输出
#-exec   command   {} \;      —–将查到的文件执行command操作,{} 和 \;之间有空格
#-ok 和-exec相同,只不过在操作前要询用户
例:find . -name .svn | xargs rm -rf
====================================================
-name   filename             #查找名为filename的文件
-perm                        #按执行权限来查找
-user    username             #按文件属主来查找
-group groupname            #按组来查找
-mtime   -n +n                #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime    -n +n               #按文件访问时间来查GIN: 0px">

-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]*"   -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这个用户的文件
=============================================================================
在/ l o g s目录中查找更改时间在7日以前的文件并删除它们:
$ find logs/ -type f -mtime +7 -exec rm -f {} \;
在/ l o g s目录中查找更改时间在7日以内的文件并删除它们:
$ find logs/ -type f -mtime -7 -exec rm -f {} \;
然后加入的计划任务中每日执行便可

分享到:
评论

相关推荐

    Linux中find常见用法

    在Linux系统中,`find`命令是极其强大的文件查找工具,它允许用户基于多种标准来定位文件和目录,包括但不限于文件名、权限、所有者、组、修改时间、访问时间等。下面,我们将深入探讨`find`命令的常见用法及其参数...

    Linux中find常见用法.doc

    在Linux操作系统中,`find`命令是一个非常强大的工具,它允许用户在文件系统中搜索符合特定条件的文件和目录。这个命令的灵活性在于其丰富的选项,可以满足多种复杂的搜索需求。下面我们将详细讨论`find`命令的一些...

    Linux find 按文件修改时间查找文件

    在Linux系统中,`find`命令是非常强大的文件搜索工具之一,它能够帮助用户根据不同的条件查找文件,包括文件名、大小、类型以及文件最后修改时间等。本篇文章将重点介绍如何利用`find`命令按文件最后修改时间进行...

    linux中find命令的使用示例

    常见用法示例 1. 查找文件 使用 `-name` 选项可以根据文件名称查找文件,例如:`find . -name "filename"` 2. 按执行权限查找 使用 `-perm` 选项可以根据文件的执行权限查找文件,例如:`find . -perm 755` 3. 按...

    linux下find命令

    常见用法示例 1. 查找名为 `filename` 的文件 ``` find . -name filename ``` 2. 按执行权限来查找文件 ``` find . -perm 755 ``` 3. 按文件属主来查找文件 ``` find . -user username ``` 4. 按组来查找文件 ``` ...

    LNUX下find的用法

    本文档将详细解析 `find` 的基本用法以及各种参数的意义,以方便使用者能够更好地理解和运用此命令。 #### 基本语法 ```bash find path option [-print] [-exec-ok command {} \;] ``` - **path**:指定查找的起始...

    which,whereis,locate,find的用法与区别

    - `find / -mtime -7` 查找最近 7 天内被修改过的文件。 - `find / -perm 755` 查找具有 755 权限的文件。 - `find / -user root` 查找属于 root 用户的所有文件。 #### 六、总结 - `which` 适合查找命令的路径; -...

    linux下find命令大全

    - `find / -mtime +7`:查找在过去7天未被修改的文件。 - `find / -atime -2`:查找在过去两天内被访问过的文件。 2. **基于大小的查找**:使用`-size`选项查找特定大小的文件。 - `find /home/user -size +10M`...

    find的用法很有用

    `find` 命令是 Linux 系统中一个非常强大的工具,用于在指定路径下查找文件。它支持多种选项来帮助用户精确地定位到需要的文件或目录。下面将详细介绍 `find` 的各个选项以及它们的使用方法。 #### 基本语法 ```sh ...

    Linux_的命令find_xargs详述(1).txt

    `find` 命令是Linux系统中最强大的文件查找工具之一,它可以根据多种条件来查找文件,如文件名、文件类型、文件大小、文件所有者等。 ##### 基本语法 ```bash find [路径] [选项] [-print | -exec | -ok] ``` - **...

    linux 文件查找

    本篇文章将深入探讨 `find` 命令的基本用法、常用选项以及实际应用案例。 #### 一、`find` 命令概述 `find` 命令用于在指定目录树下查找符合条件的文件。它提供了多种条件组合方式,如文件名、类型、大小、时间戳...

    red hat linux 命令

    以上命令涵盖了 Red Hat Linux 中系统信息查询、文件与目录管理、磁盘与文件系统管理以及权限与所有权管理等多个方面。掌握这些命令对于 Linux 用户来说至关重要,不仅能够提高工作效率,还能更好地理解和控制系统的...

    Linux常用命令、Linux常用命令

    这个命令会在 `/var/log` 目录中查找在过去7天未被修改的普通文件,并在删除前询问用户。 2. **touch命令**: `touch` 用于创建新文件或更新现有文件的时间戳。如果你指定了一个不存在的文件,`touch`会创建一个...

    Linux下crontab命令的用法[归类].pdf

    : 每周一至周五 3 点钟,在目录 /home中,查找文件名为*.xxx的文件,并删除4 天前的文件。 * 30 6 */10 * * ls : 每月的1 、11 、21 、31 日是的 6 :30 执行一次 ls 命令 这些示例展示了Crontab命令的强大功能和...

    主机find命令详情

    在UNIX和类UNIX系统(如Linux)中,`find`命令是极为重要的工具之一,它帮助用户在文件系统中搜索特定的文件或目录。通过深入理解并掌握`find`命令的各种选项和用法,可以极大地提高工作效率,特别是在进行文件管理...

    kali Linux常用命令

    - 示例:在Kali Linux中输入`arch`后,会返回如`x86_64`这样的结果。 2. **Name -m (显示机器的处理器架构)** - 命令:`uname -m` - 用途:与`arch`类似,用于显示处理器架构。 - 示例:在终端中输入`uname -m`...

    linuxC函数手册

    `cat` 是一个非常实用的命令行工具,在 Linux 和 Unix 系统中广泛使用,主要用于显示文本文件的内容或者合并多个文件内容到一个新的文件中。 **基本用法:** ``` cat [选项] 文件名 ``` **常用选项:** - `-n` 或 ...

    Linux命令大全(精编).pdf

    - **示例**: 查找在100天内未被使用过的文件。 **5. find / -name "*.rpm" -exec chmod 755 '{}' \;** - **功能**: 搜索特定类型的文件并修改权限。 - **用法**: `find / -name "*.rpm" -exec chmod 755 '{}' \;` -...

    linux查找目录.docx

    下面我们将根据描述中的示例逐一解析`find`命令的用法: 1. **查找当前目录下所有子目录**: ```bash find . -type d ``` 在这个命令中,`.` 表示当前目录,`-type d` 表示我们要查找的是目录,而不是文件。此...

    Centos 7下的操作命令

    `find` 命令是在 Linux 或类 Unix 操作系统中非常强大的一个工具,用于搜索文件系统中的文件。它提供了多种选项来精确地定位符合特定条件的文件。 #### 二、Find 命令的基本语法 `find` 命令的基本格式如下: ```...

Global site tag (gtag.js) - Google Analytics