Linux下的find命令

Linux中的find命令及其相关内容(灰常重要):

Linux下find命令用于在目录结构中搜索文件,并执行相关操作。Linux为find命令提供了相当多的查找调价,功能强大。由于find具有非常强大的功能,所以它的选项也很多。即使在系统中含有网络文件系统(NFS),若具有相应权限,find命令该文件系统中同样有效。

在运行非常消耗资源的find命令是,都倾向于把它放在后台执行,因为遍历一个大的文件系统(30G以上)可能会话费很长的时间。

*格式:

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

pathname:查找路径。例如:用.表示当前目录,用/表示系统目录

-option:

*命令参数:

-print:将匹配的文件输出到标准输出

-exec:对匹配的文件执行所给的shell命令。形式为:command { } \;注意{ }和\;之间的空格

-ok:和-exec作用相同。只不过以一种更安全的模式执行该参数所给的shell命令。在执行每个命令之前,都会给出提示,让用户确定是否执行。

  1. -name:按照文件名称查找

    a)按文件全名查找

b)按文件名的一部分查找

查找02开头的文件

查找以.c结尾的文件

c)在当前目录下按名字找(用.表示当前目录,用/表示系统目录)缺省时,默认在当前目录下找

c)查以大写字母开头的文件

d)查以两个小写字母和两个数字结尾的txt文件

e)查找以0开头或以1开头的文件

2. 按修改时间查找最近文件

a)查找home目录下最近两天修改的文件

b)查找20分钟内存取过的文件

-mtime -10(10天内改动的文件)

-atime -9(9天内存取过的文件)

-mmin +60(60分钟前改动过的文件)

-amin -30(30分钟内存取过的文件)

c)在/home下查更新时间比test.test近的文件或目录

d)在/home/footmart/cmd下查存取时间比tmp.txt近的文件或目录

e)/home/footmart/cmd中在2日内被存取过的文件或目录

3.按用户查找文件或目录

a)查找用户root(footmart)在当前目录中的文件

*命令选项:

-name:按照文件名称查找

-prune:不在当前指定的路径查找。如果同时指定了-depth选项,则prune被忽略

-user:按照文件属主查找

-group:按照文件属组查找

-mtime -n +n:按照文件更改时间查找。-n 指距离现在时间n天以内;+n n天以外

-nogroup:查找无效属组文件

-nouser:查找无效属主文件

-newer file1 !file2:查找更改时间比file1新比file2旧的文件

-type:查找某一类型文件

b:块设备文件

d:目录

c:字符设备文件

P:管道文件

l:符号链接文件

f:普通文件

-size n[c]查找文件长度为n块的文件 有[c]表示文件长度以字节计

-depth:查找时,首先查找当前目录文件,然后再在其子目录查找

-fstype:查找位于某一类型文件系统中的文件,文件系统类型可在/etc/fstab中找到

-mount:查找文件不跨越文件系统mount点

-follow:如遇到链接文件,则跟踪至链接所指向文件

-cpio:对匹配的文件使用cpio命令,将文件备份到磁带设备中

时间: 2024-11-06 07:49:22

Linux下的find命令的相关文章

linux下修改rm命令防止误删除

前言:相信很多朋友都遇到过在linux下用rm命令误删除文件的时候,此刻的心中仿佛有无数的羊驼在奔腾.那么怎么防止这种情况发生呢?当然是有方法的,我们可以写一个shell脚本,改变一下rm命令的作用. 第一步: 先在home目录下创建一个叫username名字的目录(当然名字可以自定义),具体命令为:sudo mkdir username(自定义的名字) 这时候记得要用命令:sudo chmod 777 username(自定义的名字)来改变一下你的目录权限,因为在home目录下刚创建的目录是没

Linux下使用ps命令来查看Oracle相关的进程

Linux下可以使用ps命令来查看Oracle相关的进程 Oracle Listener 这个命令会列出Oracle Net Listener的进程 [[email protected] www.linuxidc.com ~]$ ps -ef | grep tnslsnr oracle    1999 29986  0 09:47 pts/2    00:00:00 grep tnslsnr oracle    3647     1  0 Jul03 ?        00:00:34 /u01

linux下的shell命令的编写,以及java如何调用linux的shell命令(java如何获取linux上的网卡的ip信息)

程序员都很懒,你懂的! 最近在开发中,需要用到服务器的ip和mac信息.但是服务器是架设在linux系统上的,对于多网口,在获取ip时就产生了很大的问题.下面是在windows系统上,java获取本地ip的方法.贴代码: package com.herman.test; import java.net.InetAddress; /** * @see 获取计算机ip * @author Herman.Xiong * @date 2014年5月16日 09:35:38 */ public class

Linux下使用crontab命令以及Python脚本实现自动签到

关于这一部分, 我首先介绍下如何实现使用Python脚本实现签到功能其实,linux下有个命令叫做curl,完全可以完成模拟签到的功能,但是为了练习Python,我就用Python来写了.有这个想法完全是因为实验室的学长开发了一款App,上边收个起床签到,还有排名,为了能那个首签... 言归正传 首先,因为是手机上的App, 所以,我们需要抓包看下它具体的URL以及发送的内容是什么,关于这部分内容我就不在赘述了,我实现的功能主要有模拟发布状态和模拟签到两种功能,两个的URL也是不同的.为了不让学

Linux下常用SVN命令

1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain  --username qinxiaohui 简写:svn co 2.往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) 3.将改动的文件提交到版本库 svn commit -m "L

Linux下内存查看命令

在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. Linux下内存查看命令free详解: 在Linux下查看内存我们一般用free命令: $ free             total       used       free     shared    buffers     cachedMem:       3266180    3250004      16176          0     1106

[转] 关于linux下通过shell命令(自动)修改用户密码

关于linux下通过shell命令(自动)修改用户密码 2012-04-23 18:47:39 分类: 原文地址:关于linux下(自动)修改用户密码 作者:ubuntuer 本文章总结了如何手动.自动修改本地用户密码及远程机器的用户密码.对做自动化测试提供了自动修改用户密码的原理及方法. 修改本地用户密码:1.交互配置本地用户:以root用户: passwd <username>Changing password for user dewang.New UNIX password: BAD

[转载]linux下使用tar命令

转自:http://www.cnblogs.com/li-hao/archive/2011/10/03/2198480.html linux下使用tar命令 解压语法:tar [主选项+辅选项] 文件或者目录 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用. 主选项: c 创建新的档案文件.如果用户想备份一个目录或是一些文件,就要选择这个选项.相当于打包. x 从档案文件中释放文件.相当于拆包. t 列出档案文件的内容,查看已经备份了哪些文件. 特别注意

Linux下好玩的命令

Linux下好玩的命令 1.yes命令,输出很多个y,可以用来对付选择很多y/n的应用. 2.banner命令,打印字符标题,就是用字符拼出大字来: 3.ddate命令,把日历转换成其他的什么历: 4.fortune命令,随机输出一句话,或者是一句英文名言,或者是一首唐诗宋词来,如果没有唐诗宋词,那就需要用fortune-zh 5.cal 9 1752,打印日历,但是这个月非常有意思(在9月2日后居然跳到了14日了),这是有原因的: 在1582年,罗马教皇格列高里十三世宣布改历(由于闰年积累的原

小知识点:linux下的mv命令怎么用?

linux下的mv命令怎么用? mv a.txt b.txt  将a.txt 改名为b.txtmv a.txt /mnt/b.txt    同时更改路径为/mnt/mv a.txt /opt/ftp/    将a.txt  剪切到/opt/ftp/下常用的用法就是以上.