find指令使用手册
find 目录 条件 选项
find . –print
find . –print0
.指明在当前目录中查找
-print 打印匹配文件的文件名,使用‘\n’作为分隔文件的定位符
-print0 打印匹配文件的文件名,使用null即’\0’作为分隔文件的定位符
1. 根据文件名或整个表达式匹配搜索
find /home/slynux -name “*.txt” –print
find /home/slynux -iname “*.txt” –print
-name选项后接文件名,可使用通配符
-iname选项后接文件名,可使用通配符,并忽略大小写
如果相匹配多个条件中的一个,可采用or 条件操作:
find . \( -name “*.txt” -o -name “*.pdf” \) -print
注意:\( 内容 \) 内容与括号之间必须有空格,否则会提示有错误
选项-path可使用通配符匹配文件的路径或文件名,-name总是匹配文件名,而-path则将文件路径(包括文件名)作为一个整体进行匹配
find /home/users -path “*slynux*” -print
输出结果:
/home/users/list/slynux.txt
/home/users/slynux/eg.css
-regex选项,类似于-path选项,基于正则表达式匹配文件路径
-iregex选项,忽略正则表达式的大小写
正则表达式是通配符的高级形式,可以指定文本模式。
2. find可使用!否定参数,进行反向匹配
find . ! -name “*.txt” -print
注意:感叹号!和选项-name之间必须保留一个空格
3.基于目录深度进行搜索
-maxdepth 告诉find最大向下查找几级
-mindepth 告诉find应该从此处开始先下查找
打印距离当前目录至少两个子目录的所有文件
find . –mindepth 2 -type f -print
注意:-maxdepth和-mindepth应作为find的第三个参数(作为第一个查找条件),以提高效率
4. 根据文件类型搜索
find . –type d -print
5. 根据文件时间进行搜索
-atime(访问时间)、-mtime(修改<内容>时间)、-ctime(改变<权限>时间),以天作为计量
配合: -7或7或+7
类似选项-amin、-mmin、-cmin以分钟作为计量
6.基于文件大小进行查找
find . –type f -size +2k #查找大于2k的文件
find . –type f -size -2k #查找小于2k的文件
find . –type f -size 2k #查找等于2k的文件
7. 删除匹配的文件(会实际从硬盘上将文件删除)
-delete 可用来删除find找到的匹配文件
find . –type f -name “*.swap” -delete
8. 基于文件的权限匹配
find . -type f -perm 644 -print 文件的权限大于或等于644都能匹配
find . -type f /perm 644 -print 文件的权限小于或等于644都等匹配
find . -type f perm 644 -print 文件的权限必须等于644才能匹配
9. 基于文件的硬链接数查找 –links
find . –links N 当前目录中查找硬链接数为N的文件
find . –links +N 当前目录中查找硬链接数大于N的文件
find . –links -N 当前目录中查找硬链接数小于N的文件
10. 根据用户或群组进行匹配
find . –user username -print
find . –group groupname -print
find . –uid uid -print
find . –gid gid -print
find . –nouser -print
11. find 结合其它命令执行
find -type f -user root -exec chown slynux {} \;
红色部分是要执行的命令,{}代表find匹配的每个文件
{}和\之间必须有一个空格
最后必须以分号;作为结束符
另外最好使用单引号将花括号引起来,这样可以防止因文件名中含有空格,而导致执行过程出现错误
find . –type f -name “*.c” -exec cat {} \;>output.txt
-exec结合多个命令
无法在-exec参数后直接使用多个命令,他只能接受单个指令,不过我们可以将多个命令写到shell脚本中,让手在-exec中使用这个脚本。
-exec ./commands.sh {} \;
红色部分是脚本的路径
12. 修剪——将某些文件或目录从搜索过程中排出的技术
find devel/source_path \( -name “.git” -prune\ ) -o \( -type f -print\ )
\( -name “.git” -prune\ )的作用是用于排除,指明了“.git”目录应该被排除掉
find指令使用手册的更多相关文章
- Linux C++ 开发常用工具,常用指令工作手册
vim常用: :set nu显示行数 :set mouse=a 鼠标滑动屏幕,:set ic :set noic 忽略不忽略大小写 /word_to_search\c \c表示忽略大小写 c小写忽略, ...
- AT指令(转)
资料来自网络 附录AT指令简编一. 一般命令1.AT+CGMI 给出模块厂商的标识.2.AT+CGMM 获得模块标识.这个命令用来得到支持的频带(GSM 900,DCS 1800 或PCS 1900) ...
- iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )
一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Bened ...
- 浅谈单片机中C语言与汇编语言的转换
做了一单片机设计,要用C语言与汇编语言同时实现,现将这次设计的感受和收获,还有遇到的问题写下,欢迎感兴趣的朋友交流想法,提出建议. 单片机设计:基于51单片机的99码表设计 软件环境:Proteus8 ...
- php.ini 配置详解【转载】
[PHP]engine = On #是否启用PHP解析引擎zend.ze1_compatibility_mode = Off #是否在Last-Modified应答头中放置该PHP脚本的最后修改时 ...
- php配置参数.md
php 5.5 配置文件 php.ini Options user_ini.filename string 设定了 PHP 会在每个目录下搜寻的文件名:如果设定为空字符串则 PHP 不会搜寻.默认值是 ...
- CocoaPods和git
CocoaPods是第三方框架的管理工具 CocoaPods 安装使用步骤: 1. 利用 gem 安装 CocoaPods! 1> gem 服务器在国外,提供了非常丰富的终端应用程序! gem ...
- 2.2 ARM处理器工作模式
ARM Architecture Reference Manual Arm 指令框架手册 种工作模式 Processor mode Mode number Description User usr 0 ...
- PHP配置详解
[PHP] ;;;;;;;;;;;;;;;;;;; ; About php.ini ; ;;;;;;;;;;;;;;;;;;; ; This file controls many aspects of ...
随机推荐
- NSA互联网公开情报收集指南:迷宫中的秘密·下
猫宁!!! 参考链接: https://www.nsa.gov/news-features/declassified-documents/assets/files/Untangling-the-Web ...
- kibana 操作
插入时不指明id,不会自动生成id,和视频中的不一样啊 解决: 其实是可以的,不过put不可以 POST才可以 中文输入有问题: 待解决: 基本操作记录 GET _search { "que ...
- 详解基于linux环境MySQL搭建与卸载
本篇文章将从实际操作的层面,讲解基于linux环境的mysql的搭建和卸载. 1 搭建mysql 1.1 官网下载mysql压缩包 下载压缩包时,可以先把安装包下载到本地,再上传到服务器,也可以在 ...
- hibernate Day1 案例代码
1.创建Person类 package com.icss.pojo; public class Person { private int uid; private String uname; priv ...
- 转 多个版本的数据库在同一服务器上ORA-12557
http://blog.chinaunix.net/uid-42518-id-3153473.html 问题描述:当同一台机子上安装了多个版本的数据库,可能在连接库或ASM时会报以下错误.ORA-12 ...
- 477 Total Hamming Distance 汉明距离总和
两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量.计算一个数组中,任意两个数之间汉明距离的总和.示例:输入: 4, 14, 2输出: 6解释: 在二进制表示中,4表示为0100,14表 ...
- AJPFX总结方法里的属性
嵌套循环:循环里套循环 假设外循环的循环次数是m次,内循环的循环次数是n次,那么内层循环的循环次数需要 m * n次. Eg:利用for循环语句的嵌套打印出乘法口诀表 class break1 ...
- 成为Android高手必须掌握的8项基本要求
[1] Android操作系统概述 1. Android系统架构. 2. Android利用设计理念. 3. Android 开源知识. 4. Android 参考网站与权威信息.[2] Androi ...
- Summary of 2016 International Trusted Computing and Cloud Security Summit
1) Welcome Remarks 2) The advancement of Cloud Computing and Tursted Computing national st ...
- Elasticsearch 插入地理索引文档一直为空
今天在获取插入索引数据的时候,一直提示插入不成功,尝试了很多方法,原来是因为在插入的时候应该先 插入Latitude后插入longitude修改后的代码如下 public boolean insert ...