shell命令find
概述
find命令的工作方式:沿着文件层次结构向下遍历,匹配符合条件的文件,并执行相应的操作。
选项
-print:指明打印出匹配文件的文件名(路径)。当使用-print时,'\n'作为用于分隔文件的定界符
-print0:指明使用'\0'作为定界符来打印每一个匹配的文件名。当文件名中包含换行符时,这个方法就有用武之地了
-name:指定文件名所必须匹配的字符串。支持通配符
find /home/dd -name "*.txt" -print
-iname:-name忽略大小写
-path:匹配路径,支持通配符
find . -path "*www*"
-perm:指定权限
-regex:使用正则表达式来匹配文件
find . -regex ".*\(\.py\|\.sh\)$"
-iregex:-regex忽略大小写
-maxdepth:指定查找最大深度目录
find . -maxdepth -type f -print
-mindepth:指定从第几深度目录开始查找
运算符:
( expr ):Force precedence.
expr1 expr2
Two expressions in a row are taken to be joined with an implied "and"; expr2 is not evaluated if expr1 is false.
find . -name '1.txt' -type f -user 'pdd'
! expr:逻辑非
find ! -name 'tmp'
expr1 -a expr2:逻辑与,默认选项
Same as expr1 expr2.
expr1 -o expr2:逻辑或
Or; expr2 is not evaluated if expr1 is true.
find . \( -name "*.txt" -o "*.pdf" \) -print
-type: 指定查找文件的类型
b 块设备
c 字符设备
d 目录
f 普通文件
l 符号链接
p FIFO
s 套接字
根据文件时间进行搜索(-{a,m,c}time以天为计量单位,-{a,m,c}min以分钟为计量单位)
访问时间(-atime,-amin):用户最近一次访问文件的时间
修改时间(-mtime,-mtime):文件内容最后一次被修改的时间
变化时间(-ctime,-cmin):文件元数据(metadata,例如权限或所有权)最后一次改变的时间
find . -type f -atime - -print # 最近七天内被访问过的文件
find . -type f -atime -print # 恰好七天前被访问过的文件
find . -type f -atime + -print # 访问时间超过七天的文件
-size:根据文件的大小进行搜索
b 块(512字节 default)
c 字节
w 字(2字节)
k 千字节
M 兆字节
G 吉字节
find . -type f -size +2k # 大于2KB的文件
find . -type f -size -2k # 小于2KB的文件
find . -type f -size 2k # 等于2KB的文件
-delete:删除查找到的匹配文件
-user(可以是用户名或UID):查找特定用户所拥有的文件
-exec command {} \;:与其他命令进行结合
find . -type f -user root -exec chown www {} \;
在这个命令中,{}是一个特殊的字符串,与-exec选项结合使用。对每一个匹配的文件,{}会变替换成相应的文件名。例如,上述命令找到两个文件test1.txt和test2.txt,它最终会被解析位chown www test1.txt和chown www test2.txt
-prune:跳过指定的目录
find . -path ./pdd -prune -o -print
find / -path /data -prune -o -size +10M -type f # 打印/data目录以外体积大于10M的文件
shell命令find的更多相关文章
- Hadoop Shell命令大全
hadoop支持命令行操作HDFS文件系统,并且支持shell-like命令与HDFS文件系统交互,对于大多数程序猿/媛来说,shell-like命令行操作都是比较熟悉的,其实这也是Hadoop的极大 ...
- Shell命令和流程控制
Shell命令和流程控制 在shell脚本中可以使用三类命令: 1)Unix 命令: 虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令.这些命令通常是用来进行文件和文字 ...
- 在程序中执行shell命令
在linux系统下的操作中我们会经常用到shell命令来进行,一开始学习进程的时候对于shell命令也进行了思考,认为shell命令就是一个进程的外壳,经过了后来的学习对于这一点也有了更多的认识. 用 ...
- Linux远程执行Shell命令或脚本
## 远程执行shell命令 ssh [user]@[server] '[command]' # eg. ssh root@192.168.1.1 'uptime' ## 远程执行本地shell脚本 ...
- HBase基本shell命令
HBase基本shell命令 以下shell命令都是经过测试,正常展示,若有不足,还望指点! 1.创建表 create ‘表名称’,‘列族名称1’,‘列族名称1’create 'test_M_01', ...
- Linux SHELL 命令入门题目答案(一)
1.如何使用shell 打印 “Hello World!” (1)如果你希望打印 !,那就不要将其放入双引号中,或者你可以通过转义字符转义(2)echo 'hello world!' 使用单引号ech ...
- Linux SHELL 命令入门题目(一)
新年新气象,注重知识积累,提高手敲代码能力,而不是眼高手低,只会复制黏贴. 1.使用shell 打印 “Hello World!” 2.求变量'hello world'的字符长度 3.$0 .$SHE ...
- shell命令获取最新文件的名称
最近有一个需求,在部署游戏战场服时,从程序包到部署需要做一些本地化的操作,手工操作费时费力,故写一个shell脚本,一键部署. 遇到的问题是每次要部署最新的程序包,因此需要shell命令获取最新的文件 ...
- 【转】Hadoop FS Shell命令
FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args> 的形式. 所有的的FS shell命令使用URI路径作为参数.URI格式是scheme ...
- [蟒蛇菜谱] Python封装shell命令
# -*- coding: utf-8 -*- import os import subprocess import signal import pwd import sys class MockLo ...
随机推荐
- [deviceone开发]-Star分享的几个示例
一.简介 这个是star早期分享的几个示例,都非常实用,包括弹出的菜单,模拟支付密码输入等.初学者推荐.也可以直接使用.二.效果图 三.相关下载 https://github.com/do-proje ...
- react-native DatePicker日期选择组件的实现
本教程的实现效果如下: 为了实现其淡入/淡出的覆盖效果, 还有取消按钮, 在此用了一个三方的组件, 大家可以先安装一下: 三方组件的地址:https://github.com/eyaleizenber ...
- Linux2.6内核协议栈系列--TCP协议1.发送
在介绍tcp发送函数之前得先介绍很关键的一个结构sk_buff,在linux中,sk_buff结构代表了一个报文: 然后见发送函数源码,这里不关注硬件支持的分散-聚集: /* sendmsg系统调用在 ...
- [Erlang 0118] Erlang 杂记 V
我在知乎回答问题不多,这个问题: "对你职业生涯帮助最大的习惯是什么?它是如何帮助你的?",我还是主动回答了一下. 做笔记 一开始笔记软件做的不好的时候就发邮件给自己, ...
- MySQL备份锁
无论逻辑备份还是物理备份,为了获取一致性位点,都强依赖于FTWRL(Flush Table With Read Lock).这个锁杀伤力非常大,因为持有锁的这段时间,整个数据库实质上不能对外提供写服务 ...
- Spring, MyBatis 多数据源的配置和管理
同一个项目有时会涉及到多个数据库,也就是多数据源.多数据源又可以分为两种情况: 1)两个或多个数据库没有相关性,各自独立,其实这种可以作为两个项目来开发.比如在游戏开发中一个数据库是平台数据库,其它还 ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- how2heap分析系列:0
新学期到了,给学弟们写点东西, https://github.com/shellphish/how2heap 这个how2heap挺不错的,讲述了heap上几种不同的漏洞利用技术,在后面发的几篇中我会 ...
- 三维网格精简算法(Quadric Error Metrics)附源码
在计算机图形应用中,为了尽可能真实呈现虚拟物体,往往需要高精度的三维模型.然而,模型的复杂性直接关系到它的计算成本,因此高精度的模型在几何运算时并不是必须的,取而代之的是一个相对简化的三维模型,那么如 ...
- 并行计算提升32K*32K点(32位浮点数) FFT计算速度(4核八线程E3处理器)
对32K*32K的随机数矩阵进行FFT变换,数的格式是32位浮点数.将产生的数据存放在堆上,对每一行数据进行N=32K的FFT,记录32K次fft的时间. 比较串行for循环和并行for循环的运行时间 ...