菜鸟linux find命令的最基本认识

    find,顾名思义,寻找,查询的意思,所以,从意思上看,find命令的主要功能是查询,搜索文件

    find命令的一般格式为:

            find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]

     find命令常用格式为:

              find [path...] [expression]

(一) 对find命令的基本应用:

1.find或find .

     当在linux命令行中仅输入find命令其后不跟任何东西时,find命令通常执行查询当前目录下所有文件及文件夹(包括隐藏文件及文件夹);

[zhanglinlin@localhost work]$ find
.
./.file.swp
./test.c
./file
./.file.swo
./test
./cmd
./text
./.test

2.find   name

     此命令中name表示要查询的文件名称,当执行此命令时,将会在当前目录下寻找文件名为name的文件,并予以显示,仅限从当前目录中查找。

[zhanglinlin@localhost work]$ find test
test

3.find   dir

     此命令中dir表示要查询的文件夹名称,当执行此命令时,将会寻找名为dir的文件夹并显示文件夹名及此文件夹内所有的内容,包括隐藏内容,仅限当前目录下。

[zhanglinlin@localhost ~]$ find work
work
work/.file.swp
work/test.c
work/file
work/.file.swo
work/test
work/cmd
work/text
work/.test

4.find    *.c

     此命令中c表示文件的扩展名,执行此命令将会寻找当前目录下所有扩展名为.c的文件,*表示所有。

[zhanglinlin@localhost work]$ find *.c
test.c

5.find   /

      此命令表示从根目录下查找所有文件及文件夹。

6.find  ~

      此命令表示从HOME目录下查找所有文件。

(二)几种find命令常用格式:

1.-name

(1)想要在当前目录及子目录中查找所有的*.c文件,可以用: 

find . -name *.c -print  

[zhanglinlin@localhost work]$ find . -name *.c -print  
./test.c

(2)想要的当前目录及子目录中查找文件名以一个大写字母开头的文件,可以用:  

find . -name [A-Z]* -print  

(3)想要在/etc目录中查找文件名以host开头的文件,可以用:  

find /etc -name host* -print  

(4)想要查找$HOME目录中的文件,可以用:  

find ~ -name * -print 或

find . -print  

(5)要想让系统高负荷运行,就从根目录开始查找所有的文件。  

find / -name * -print  

(6)如果想在当前目录查找文件名以一个个小写字母开头,最后是4到9加上.log结束的文件  

命令:

 find . -name [a-z]*[4-9].c -print


2.perm

     这是一种基于文件权限的查询方式,文件权限即为 读 、写、 执行以八进制数表示。命令格式如下:

     find . -perm 775   或

     find . -perm  -775

3.-prune

     这是一种当你知道某目录下无你要寻找的文件时,此命令用以忽视这个目录,命令如下:

     find test -path "test/test1" -prune -o 

表示在test下忽略test1目录查找文件。

4。按照更改时间查找文件:

如果希望按照更改时间来查找文件,可以使用mtime,atime或ctime选项。

用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。  

希望在系统根目录下查找更改时间在5日以内的文件,可以用:

find / -mtime -5 

为了在/var/adm目录下查找更改时间在3日以前的文件,可以用:

find /var/adm -mtime +3


5.type

      查找当前目录下所有的目录:

         find . -type d  

[zhanglinlin@localhost work]$ find    .   -type   d   
.
./text

在当前目录下查找除目录以外的所有类型的文件  

命令:

find . ! -type d   

在/etc目录下查找所有的符号链接文件

命令:

find /etc -type l


6.depth

在使用find命令时,可能希望先匹配所有的文件,再在子目录中查找。使用depth选项就可以使find命令这样做。这样做的一个原因就是,当在使用find命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录中的文件。  

find命令从文件系统的根目录开始,查找一个名为test的文件。   

命令:

find / -name "test" -depth 

说明:

它将首先匹配所有的文件然后再进入子目录中查

       


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值