Linux命令之find(二)
接上一篇Linux命令之find(一)
(1).实例
1.列出当前目录下及子目录下所有的.txt文件
[xf@xuexi ~]$ ls
1.txt 3.txt b.txt 公共 视频 文档 音乐
2.txt a.txt c.txt 模板 图片 下载 桌面
[xf@xuexi ~]$ find . -name "*.txt"
]./.cache/tracker/db-version.txt
./.cache/tracker/db-locale.txt
./.cache/tracker/parser-sha1.txt
./.cache/tracker/locale-for-miner-user-guides.txt
./.cache/tracker/locale-for-miner-apps.txt
./.cache/tracker/last-crawl.txt
./.cache/tracker/first-index.txt
./1.txt
./2.txt
./3.txt
./a.txt
./b.txt
./c.txt
2.查找当前用户下更改时间在一天内或一天以上的.txt文件
[xf@xuexi ~]$ find . -mtime -1 -name "*.txt" //一天内
./.cache/tracker/locale-for-miner-user-guides.txt
./.cache/tracker/locale-for-miner-apps.txt
./1.txt
./2.txt
./3.txt
./a.txt
./b.txt
./c.txt
[xf@xuexi ~]$ stat 1.txt
文件:"1.txt"
大小:0 块:0 IO 块:4096 普通空文件
设备:803h/2051d Inode:52016194 硬链接:1
权限:(0664/-rw-rw-r--) Uid:( 1000/ xf) Gid:( 1000/ xf)
环境:unconfined_u:object_r:user_home_t:s0
最近访问:2019-03-04 15:33:04.998746697 +0800
最近更改:2019-03-04 15:33:04.998746697 +0800
最近改动:2019-03-04 15:33:04.998746697 +0800
创建时间:-
[xf@xuexi ~]$ find . -mtime +1 -name "*.txt" //一天以上
./.cache/tracker/db-version.txt
./.cache/tracker/db-locale.txt
./.cache/tracker/parser-sha1.txt
./.cache/tracker/last-crawl.txt
./.cache/tracker/first-index.txt
[xf@xuexi ~]$ stat ./.cache/tracker/db-version.txt
文件:"./.cache/tracker/db-version.txt"
大小:2 块:8 IO 块:4096 普通文件
设备:803h/2051d Inode:35360 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 1000/ xf) Gid:( 1000/ xf)
环境:unconfined_u:object_r:cache_home_t:s0
最近访问:2019-03-04 10:05:12.993515697 +0800
最近更改:2018-09-06 11:43:45.770953885 +0800
最近改动:2018-09-06 11:43:45.770953885 +0800
创建时间:-
3.对查找内容执行相应命令
exi ~]$ touch {1,2,3}.back
[xf@xuexi ~]$ find . -name "*.back"
./1.back
./2.back
./3.back
[xf@xuexi ~]$ find . -name "*.back" -exec ls -l {} \;
-rw-rw-r--. 1 xf xf 0 3月 4 18:39 ./1.back
-rw-rw-r--. 1 xf xf 0 3月 4 18:39 ./2.back
-rw-rw-r--. 1 xf xf 0 3月 4 18:39 ./3.back
[xf@xuexi ~]$ ls -l ./1.back;ls -l ./2.back;ls -l ./3.back; //拆分执行
-rw-rw-r--. 1 xf xf 0 3月 4 18:39 ./1.back
-rw-rw-r--. 1 xf xf 0 3月 4 18:39 ./2.back
-rw-rw-r--. 1 xf xf 0 3月 4 18:39 ./3.back
4.与xargs -i联合使用,find的结果值代替其中的{}
[xf@xuexi ~]$ find . -name "*.back" | xargs -i ls -l {}
-rw-rw-r--. 1 xf xf 0 3月 4 18:39 ./1.back
-rw-rw-r--. 1 xf xf 0 3月 4 18:39 ./2.back
-rw-rw-r--. 1 xf xf 0 3月 4 18:39 ./3.back
5.查找多个类型文件
[xf@xuexi ~]$ touch a.pdf
[xf@xuexi ~]$ find . -name "*.back" -o -name "*.pdf" //-o或者,也可写成-or
./1.back
./2.back
./3.back
./a.pdf
[xf@xuexi ~]$ find . -size +20k -a -size -30k //-a并且,也可写成-and
./.config/pulse/93c68f6a5c7b462db558e8e995b4212a-card-database.tdb
./.local/share/evolution/addressbook/system/contacts.db
6.按照权限查找
[root@xuexi ~]# mkdir aaa
[root@xuexi ~]# mkdir bbb
[root@xuexi ~]# touch a.sh
[root@xuexi ~]# chmod 777 aaa
[root@xuexi ~]# chmod 1777 bbb
[root@xuexi ~]# chmod 4777 a.sh
[root@xuexi ~]# find /root/ -perm 777 //权限为777的所有文件或文件夹
/root/aaa
[root@xuexi ~]# find /root/ -perm -777 //权限至少为777的所有文件或文件夹
/root/aaa
/root/bbb
/root/a.sh
[root@xuexi ~]# find /root -type f -perm -777 //权限至少为777的所有普通文件。-type f指定普通文件
/root/a.sh
7.查找目录深度
[root@xuexi ~]# find /bin -maxdepth 1 -perm -755 //bin后没有/,那么bin为第一层
/bin
[root@xuexi ~]# find /bin/ -maxdepth 1 -perm -755 //bin后有/,则下一层为第一层
/bin/cp
/bin/lua
/bin/captoinfo
/bin/csplit
/bin/clear
/bin/cut
/bin/luac
/bin/infocmp
/bin/fmt
/bin/unxz
//比较多,只截取部分
8.查找所有属于用户xf的文件,并复制到指定目录
[root@xuexi ~]# mkdir findresults
[root@xuexi ~]# ls
1.txt core.3160 initial-setup-ks.cfg 模板 图片 下载 桌面
anaconda-ks.cfg findresults 公共 视频 文档 音乐
[root@xuexi ~]# find / -user xf -exec cp -a {} /root/findresults/ \;
find: ‘/proc/11379/task/11379/fd/5’: 没有那个文件或目录
find: ‘/proc/11379/task/11379/fdinfo/5’: 没有那个文件或目录
find: ‘/proc/11379/fd/6’: 没有那个文件或目录
find: ‘/proc/11379/fdinfo/6’: 没有那个文件或目录
cp: 无法以目录"/home/xf" 来覆盖非目录"/root/findresults/xf"
上面的命令是没有问题的,这里涉及到同一目录下文件与文件、文件夹与文件夹,文件与文件夹都不能同名。Windows文件与文件夹能够同名是因为文件有扩展名,否则也不能重名。
这时我们可以临时修改一下文件名,以便可以继续执行
[root@xuexi ~]# mv /var/spool/mail/xf /var/spool/mail/xf.mail //临时修改一下文件名
[root@xuexi ~]# rm -rf /root/findresults/* //清空原来的复制文件
[root@xuexi ~]# find / -user xf -exec cp -a {} /root/findresults/ \; //重新执行
find: ‘/proc/12438/task/12438/fd/5’: 没有那个文件或目录
find: ‘/proc/12438/task/12438/fdinfo/5’: 没有那个文件或目录
find: ‘/proc/12438/fd/6’: 没有那个文件或目录
find: ‘/proc/12438/fdinfo/6’: 没有那个文件或目录
cp: "/root/findresults/.esd-1000" 与"/root/findresults/.esd-1000" 为同一文件
cp: "/root/findresults/.mozilla" 与"/root/findresults/.mozilla" 为同一文件
cp: "/root/findresults/.bash_logout" 与"/root/findresults/.bash_logout" 为同一文件
cp: "/root/findresults/.bash_profile" 与"/root/findresults/.bash_profile" 为同一文件
cp: "/root/findresults/.bashrc" 与"/root/findresults/.bashrc" 为同一文件
cp: "/root/findresults/.cache" 与"/root/findresults/.cache" 为同一文件
cp: "/root/findresults/.changed" 与"/root/findresults/.changed" 为同一文件
cp: "/root/findresults/.dbus" 与"/root/findresults/.dbus" 为同一文件
cp: "/root/findresults/.config" 与"/root/findresults/.config" 为同一文件
cp: "/root/findresults/.ICEauthority" 与"/root/findresults/.ICEauthority" 为同一文件
cp: "/root/findresults/.local" 与"/root/findresults/.local" 为同一文件
cp: "/root/findresults/.esd_auth" 与"/root/findresults/.esd_auth" 为同一文件
cp: "/root/findresults/.bash_history" 与"/root/findresults/.bash_history" 为同一文件
cp: "/root/findresults/.lesshst" 与"/root/findresults/.lesshst" 为同一文件
cp: "/root/findresults/.viminfo" 与"/root/findresults/.viminfo" 为同一文件
[root@xuexi ~]# mv /var/spool/mail/xf.mail /var/spool/mail/xf //最后再改回来
[root@xuexi ~]# ls /var/spool/mail/
root rpc xf
Linux命令之find(二)的更多相关文章
- Linux命令-磁盘管理(二)
Linux命令-磁盘管理(二) Linux mmount命令 Linux mmount命令用于挂入MS-DOS文件系统. mmount为mtools工具指令,可根据[mount参数]中的设置,将磁盘内 ...
- Linux命令汇总(二)
1.登录用户设置 新创建了一个用户,用useradd指令,但是发现通过终端无法登陆: echo password | passwd --stdin username 或者 passwd --st ...
- Linux命令基础(二)
一.列表显示目录内容-ls 1.显示目录中内容,包括子目录和文件相关属性信息 ls(列表的形式去显示目录内容) [选项](可有可无的) ...
- Linux命令(十二) 分割文件 split 合并文件 join
一.分割文件 split 命令介绍 当处理文件时,有时需要将文件做分割处理,split 命令用于分割文件,可以分割文本文件,按指定的行数分割,每个分割后的文件都包含相同的行数.split 可以分割非文 ...
- Linux命令(十二)制作静态库和共享库
1. 静态库 静态库文件命名:libxxxx.a 1.1 步骤: ar rcs libCalc.a *.o 1.2 用nm查看文件内容 1.3 发布并使用 gcc main.c -o mycpp.ou ...
- Linux命令实战(二)
1.printf格式化输出(format and print data) 语法:printf(选项)(参数) 参数 输出格式:指定数据输出时的格式: 输出字符串:指定要输出的数据. 格式替代符 %c ...
- Linux命令博客目录
Linux 目录结构 Linux命令(一) pwd ,cd Linux命令(二) 复制文件 cp Linux命令(三) 移动文件 mv Linux命令(四)删除文件 rm Linux终端常用快捷键 L ...
- OS第1次实验报告:熟悉使用Linux命令和剖析ps命令
零.个人信息 姓名:陈韵 学号:201821121053 班级:计算1812 一.实验目的 熟悉Linux命令行操作 二.实验内容 使用man查询命令使用手册 基本命令使用 三.实验报告 1. 实验环 ...
- 《sed的流艺术之四》-linux命令五分钟系列之二十四
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...
- 《sed的流艺术之三》-linux命令五分钟系列之二十三
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...
随机推荐
- Jmeter-Java heap内存溢出
使用jmeter进行压力测试时遇到一段时间后报内存溢出outfmenmory错误,导致jmeter卡死了,先尝试在jmeter.bat中增加了JVM_ARGS="-Xmx2048m -Xms ...
- Item 28 利用有限制通配符来提升API的灵活性
<? extends E> 和<? super E>的使用 <? extends E>的使用 Item 26 这是堆栈的公有API: public class ...
- 【BZOJ】3779 重组病毒
[算法]Link-Cut Tree+线段树(维护DFS序) [题解]整整三天……T_T 这篇题解比较资瓷:permui 这道题虽然树形态没有变化,但用lct写的原因在于把题目中的操作一进行了神转化:每 ...
- CSS哪些样式属性可以继承
不可继承的:display.margin.border.padding.background.height.min-height.max- height.width.min-width.max-wid ...
- 【HNOI】五彩斑斓 模拟
[题目描述] 给定一个n*m的矩阵,矩阵的某些位置有一个颜色(可以没有颜色,即为0),现在你可以将矩阵的某一行或者某一列染成同一种颜色,问最少用多少步能达到目标矩阵的染色方案,输出最少步数和方案. [ ...
- dump_stack 实现分析【转】
转自:http://kernel.meizu.com/2017/03/18-40-19-dump_stack.html 1 简介 说起 dump_stack() ,相信从事 Linux 内核或者驱动相 ...
- python基础===requests学习笔记
这里有一个新的学习requests网站:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html2017/11/30 Requ ...
- perl_nc.pl
#!/usr/bin/perl use strict; use IO::Socket; use IO::Select; use Getopt::Std; my %option;getopts('lp: ...
- 1.ubuntu的安装
分两种 1. 在VMware中安装,则与Centos的安装类似 2. 在VirtualBox里安装 --> 1. 先“新建” 一个虚拟电脑 2. 根据需求编辑虚拟电脑的信息 (具体的大小.内存等 ...
- 各种好用的代码生成器(C#)
各种好用的代码生成器(C#) 1:CodeSmith 一款人气很旺国外的基于模板的dotnet代码生成器 官方网站:http://www.codesmithtools.com 官方论坛:http:// ...