`

ubuntu 搜索文件方法(find命令)

 
阅读更多
通用格式:find pathname -options [-print -exec -ok]
例子:
find / -name filename 再根目录里面搜索文件名为filename的文件
find /etc -name *s*在目录里面搜索带有s的文件
find /etc -name *S 在目录里面搜索以s结尾的文件
find /etc -name s*在目录里面搜索以s开头的文件
find / -amin -10在系统中搜索最后10分钟访问的文件
find / -atime -2查找在系统中最后48小时访问的文件
find / -empty 查找在系统中为空的文件或者是文件夹
find / -group groupname 查找在系统中属于groupname的文件
find / -mmin -5查找在系统中最后5分钟修改过的文件
find / -mtime -1查找在系统中最后24小时修改过的文件
find /-nouser查找在系统中属于费用户的文件
find / -user username 查找在系统中属于username的文件
find / -ctime -1查找在系统中最后24小时被改变状态的文件
find / -fstype type查找在系统中文件类型为?的文件
find / -user user1name -or -useruser2name查找在系统中属于user1name或着属于user2name的文件
find / -user user1name -and-user2name在系统中查找既属于user1name又属于user2name用户的文件.

一、find 命令格式


1、find命令的一般形式为;

find pathname -options [-print -exec -ok ...]


2、find命令的参数;

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


3、find命令选项

-name
按照文件名查找文件。
-perm
按照文件权限来查找文件。
-prune
使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
-user
按照文件属主来查找文件。
-group
按照文件所属的组来查找文件。
-mtime -n +n
按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
-nogroup
查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser
查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2
查找更改时间比文件file1新但比文件file2旧的文件。
-type
查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
-mount:在查找文件时不跨越文件系统mount点。
-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

另外,下面三个的区别:

-amin n
  查找系统中最后N分钟访问的文件
  -atime n
  查找系统中最后n*24小时访问的文件
  -cmin n
  查找系统中最后N分钟被改变文件状态的文件
  -ctime n
  查找系统中最后n*24小时被改变文件状态的文件
   -mmin n
  查找系统中最后N分钟被改变文件数据的文件
  -mtime n
  查找系统中最后n*24小时被改变文件数据的文件


4、使用exec或ok来执行shell命令

使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的

在有些操作系统中只允许-exec选项执行诸如l s或ls-l这样的命令。大多数用户使用这一选项是为了查找旧文件并删除它们。建议在真正执行rm命令删除文件之前,最好先用ls命令看一下,确认它们是所要删除的文件。

exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个/,最后是一个分号。为了使用exec选项,必须要同时使用print选项。如果验证一下find命令,会发现该命令只输出从当前路径起的相对路径及文件名。

例如:为了用ls -l命令列出所匹配到的文件,可以把ls -l命令放在find命令的-exec选项中

# find . -type f -exec ls -l { } /;
-rw-r--r-- 1 root root 34928 2003-02-25 ./conf/httpd.conf
-rw-r--r-- 1 root root 12959 2003-02-25 ./conf/magic
-rw-r--r-- 1 root root 180 2003-02-25 ./conf.d/README

上面的例子中,find命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用ls -l命令将它们列出。
在/logs目录中查找更改时间在5日以前的文件并删除它们:

$ find logs -type f -mtime +5 -exec rm { } /;

记住:在shell中用任何方式删除文件之前,应当先查看相应的文件,一定要小心!当使用诸如mv或rm命令时,可以使用-exec选项的安全模式。它将在对每个匹配到的文件进行操作之前提示你。

在下面的例子中,find命令在当前目录中查找所有文件名以.LOG结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示。

$ find . -name "*.conf" -mtime +5 -ok rm { } /;
< rm ... ./conf/httpd.conf > ?n

按y键删除文件,按n键不删除。

任何形式的命令都可以在-exec选项中使用。

在下面的例子中我们使用grep命令。find命令首先匹配所有文件名为“passwd*”的文件,例如passwd、passwd.old、passwd.bak,然后执行grep命令看看在这些文件中是否存在一个sam用户。

# find /etc -name "passwd*" -exec grep "sam" { } /;
sam:x:501:501::/usr/sam:/bin/bash



摘自:http://blog.csdn.net/chenqiai0/article/details/8150782
分享到:
评论

相关推荐

    ubuntu下的文件查找命令

    本文将详细介绍几个常用的Ubuntu文件查找命令,包括`whereis`、`locate`、`updatedb`以及`find`,并结合示例进行解析。 1. `whereis`命令: `whereis`命令主要用于查找软件的安装路径,它会搜索系统中预定义的一些...

    ubuntu系统中文件和内容查找命令总结linux操作系统电脑资料.doc

    ubuntu系统中文件和内容查找命令总结linux操作系统电脑资料 ...本文总结了 ubuntu 系统中文件和内容查找命令的使用,包括 find 命令和 locate 命令的使用实例,这些命令可以帮助用户快速地查找文件和内容。

    ubuntu系统读取ini配置文件

    本模块提供了一种在Ubuntu环境下使用C++读取INI配置文件的方法,使得开发者能方便地获取和修改配置信息。以下是关于这个功能模块的关键知识点和实现细节: 1. **INI文件格式**:INI文件是一种简单的文本格式,通常...

    linux Ubuntu常用命令

    * find命令:用于查找文件,例如find 路径 -name “”字符串。 * ln命令:用于创建硬链接或软链接,例如ln 源文件 链接名。 二、文件夹管理 在Linux Ubuntu系统中,文件夹管理也是一个重要的方面。下面是一些常用...

    Ubuntu 命令大全 -Unix命令大全

    10. **find**:搜索文件,可以根据文件名、大小、时间等多种条件查找文件。 11. **grep**:在文件中搜索特定的文本模式,有助于在大量文本数据中快速找到目标信息。 12. **chmod**:改变文件或目录的权限,控制...

    ubuntu终端命令大全

    以上总结了Ubuntu终端中常用的命令,涵盖了目录操作、文件操作、磁盘管理、软件包管理、压缩与解压、进程与任务管理、其他常用命令以及用户与组管理等多个方面,可以帮助用户更高效地管理和使用Ubuntu系统。

    Ubuntu 命令大全

    10. 查找文件:可以使用find和locate命令查找文件。 11. 链接:可以使用ln命令创建硬链接和符号链接。 二、驱动挂载类 1. 检查硬盘使用情况:使用命令df可以查看文件系统的磁盘空间使用情况。 2. 检查磁盘分区:...

    Ubuntu命令技巧.pdf

    - 可以通过 `apt search &lt;keyword&gt;` 命令来搜索软件仓库中与关键词相关的软件。 - 使用 `apt list &lt;package&gt;` 来查看特定软件的信息。 **1.3 查找文件属于哪个包** - 使用 `dpkg -S &lt;file&gt;` 命令可以找出某个文件是...

    Ubuntu常用的命令

    - **示例**: 运行`find /home/user -name "*.txt"`将查找所有扩展名为`.txt`的文件。 #### 二、系统管理 **fdisk** - **命令**: `fdisk -l` - **功能**: 查看系统分区信息。 - **示例**: 运行`fdisk -l`将显示所有...

    Ubuntu Linux 操作系统常用命令详细介绍

    此外,还有用于查找的命令,如`find`在指定路径下查找文件,`grep`在文件中搜索特定字符串。`history`查看命令历史,`alias`定义别名简化常用命令。 环境变量和配置文件也是重要的知识点。`.bashrc`或`.bash_...

    ubuntu常用命令大全

    11. **find**:搜索文件或目录,`find 路径 -name "字符串"`查找符合特定名称的文件。 12. **ln**:创建链接,`ln 源文件 链接名`创建硬链接,`ln -s 源文件 符号链接名`创建软链接(符号链接)。 13. **touch**:...

    ubuntu命令教程

    - find:在目录树中查找文件。 - man:显示命令的手册页。 5. 文件系统结构: Linux的文件系统以树状结构组织,所有文件和目录都被组织在一个根目录“/”下。例如,“/home”是存放用户个人文件的地方,“/etc”...

    Ubuntu命令手册下载

    10. **find**:在指定目录下搜索文件,如`find / -name "myfile"`查找名为myfile的文件。 11. **grep**:在文件中搜索特定字符串,如`grep "keyword" file.txt`。 12. **sudo**:以管理员权限执行命令,如`sudo apt ...

    Ubuntu常用命令大全

    - **find**: 在指定目录下查找文件。 - `find /path/to/search -name "file_pattern"`: 查找符合模式的文件。 - `find /path/to/search -type d`: 查找所有的目录。 - **grep**: 搜索文本文件中的字符串。 - `...

    ubuntu常用终端命令.docx

    14. find 命令:用于查找文件或目录。使用方法:find 路径 -name "字符串"。 15. ln 命令:用于创建硬链接或符号链接。使用方法:ln 源文件 链接名、ln -s a b 等。 磁盘管理命令 1. df 命令:用于报告文件系统的...

    虚拟机 ubuntu常用指令

    - `find` 命令用于查找文件,例如 `find 路径 -name “字符串”` 查找路径所在范围内满足字符串匹配的文件和目录。 9. 文件链接命令:`ln` - `ln` 命令用于创建文件链接,例如 `ln 源文件 链接名` 创建当前目录...

    ubuntu常用命令大全.pdf

    7. find 命令:用于查找路经所在范围内满足字符串匹配的文件和目录。 二、系统管理 1. fdisk 命令:用于查看系统分区信息,选项包括: * -l:查看系统分区信息。 2. chown 命令:用于改变文件或目录的属主。 3....

    Ubuntu在terminal的常用命令

    ### Ubuntu Terminal 常用命令详解 #### 一、文件管理与操作 1. **`ls`** - **命令**: `ls` - **参数**: - `-a`: 列出当前目录下的所有文件,包括以`.`开头的隐藏文件。 - `-l`: 显示详细的文件列表信息,包括...

    linux ubuntu系统操作命令

    ### Linux Ubuntu系统操作命令 #### 一、重启与关机命令 **重启命令:** - `reboot`:这是最常用的重启命令。 - `shutdown -r now`:立即重启。 - `shutdown -r 10`:十分钟后重启。 - `shutdown -r 20:35`:在...

    ubuntu 实用命令

    以下是对标题“ubuntu实用命令”以及描述中提到的Linux命令的详细解析,涵盖目录管理、文件操作、权限设置、磁盘管理、打印配置、用户与组管理以及软件包处理等多个方面。 #### 目录管理 1. **ls**:列出当前目录...

Global site tag (gtag.js) - Google Analytics