本文作者:不许人间见白头

Linux之如何使用find命令

不许人间见白头 3年前 ( 2017-11-15 ) 50

Linux find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

find :饭的

which,她是从变量里面搜索的PATH

whereis ls

mlocate 命令不存在的话运行一下命令

# yum install mlocate -y

[root@localhost ~]# locate ls         模糊搜索

locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory

他会文件不存在,mlocate.db库文件,每天凌晨4点会自动生成

[root@localhost ~]# updatedb    手动生成后就会出现如图以下

image.png

如搜索一个文件

image.png

快捷键

ctrl +d  退出终端

ctrl +c 结束当前命令行重新开始

ctrl +u   删除光标之前的东西

ctrl +e  把光标放到最后面

ctrl +a  移到最前面的

find的用法

比如你知道文件名字

# find /etc/ -name "sshd_config"

image.png

也可以模糊搜索

find /etc/ -name "sshd*"

搜索出只要目录

find /etc/ -type d -name "sshd*"

搜索出只要文件

find /etc/ -type f -name "sshd*"

l c b s 等等可以搜索类型

stat 2.txt 查看文件的详细信息,三个time

image.png

mtime   最近更改的内容的时间

-ctime   最近改动的文件属性

改了文件内容,ctime的时间会跟着变,相反不会

-atime  访问这个文件的时间

find / -type f -mtime  -1    //一天以内的  +1 一天以前的的

# find /etc/ -type f -mtime -1 -name "*.conf"

一天以内修改的文件并且包含.conf的文件内容

# find /etc/ -type f -o -mtime -1 -o -name "*.conf"

一天以内修改的文件或者包含.conf的文件内容

如何查找硬链接呢?

# find / -inum 401101 其中401101为iNode

image.png

如何找一个小时以内的文件

# find /root/ -type f -mmin -60 

image.png

{} :表示你列出来的文件

查找一个以内修改的文件并改名

# find /root/ -type f -mmin -60 -exec mv {} {}.bak \;

找一个文件小鱼几k或者大鱼几k的

# find /root -type f -site -10k 

有两个{}符号:

第一个{}表示的是前面find /root/ -type f -mmin 120查找出来的文件的总概括:

第二个{}表示的是把他更改成bak时候的前缀了。

比如我要找某个目录下一天以内的文件,并且移到指定目录

# find /root/ -type f -mtime -1 -exec cp -rcv {} /root/123/ \;

是可以复制一份目录到/root/123 目录,但是提示

cp: "/root/123/12.txt.bak" 与"/root/123/12.txt.bak" 为同一文件

他的意思执行的时候先查找root下1天以内修改的文件复制一份到/root/123这个目录,然后在查找下一个一天以内的修改在次执行一次复制?,也就是说你查找的目录里面不要包含你要复制的目标目录,不然他搜到会在执行一次复制命令

文件名后缀

文件是有后缀名的,在linux下并不规范,只是习惯性的比如文本就.txt 

可以看看http://blog.csdn.net/haiross/article/details/13509963

切换语言 LANG


文章版权及转载声明

作者:不许人间见白头本文地址:https://www.ahaoyw.com/article/21.html发布于 3年前 ( 2017-11-15 )
文章转载或复制请以超链接形式并注明出处阿豪运维笔记

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享