`

如何查找文件/文件类型/属性--locate/find/whereis/file/lsattr

阅读更多

 <!-- 与君共勉,欢迎批评指正-->

-----查找文件

1、find名称查找文件格式:$ find  [ PATH ]  [ option ]  [ action]

常用option如下:

-name fileName

-size  [+-]SIZE   #+表示大于 -表示小于

-type TYPE      #TYPE为f/d/l/s/b/c

-perm mode    #搜寻文档权限等于mode的文档,如$find ./  -perm 0755

-perm -mode    #搜寻全部囊括mode权限的文档,如$find ./  -perm  -0744 则会列出权限为4755、0744的所有文件,因为-rwsr-xr-x囊括了-rwxr--r--的属性,即拥有4755权限的文件一定拥有0744的权限

-perm +mode    #搜寻包含任一mode权限的文档,例如$find ./ -perm +755 时,属性为-rw- --- ---的文件也会被列出来,因为他有rw的属性

 

与时间有关的option有-mtime/ctime/atime,这三者的区别请参考本博客的另一篇文章<atime/ctime/mtime的区别>

-mtime n   n天之前的一天内被修改过的文件

-mtime +n  n天之前(不含n)被修改过的文件

-mtime -n   n天之内(含n)被修改过的文件

 

例如:

$find ./ -mtime 4  

$find ./ -mtime -4  

$find ./ -mtime +4     




 
 

 

  例2:

将过去24小时内修改过的文件列出

$find ./ -mtime 0   #0 表示现在

 

 

例3:$find / -perm +7000  -exec ls -l {} \;

 

 

 

 说明:

{} 代表有find找到的内容

-exec一直到\;是关键词,代表find额外的动作的开始到结束,在这中间的就是find的额外动作

因为分号在bash环境下有特殊意义,这里的\主要是为了跳脱分号的特殊意义    

     

 例4:$find ./ -name '*http*'   #find命令中可以使用通配符来寻档案名

        

 

2.locate命令查找文件格式:$ locate [-ir] Keyword

例1:找出所有文件名含有passwd的文档

$ locate passwd

/etc/passwd

/etc/passwd-

/etc/pam.d/passwd

/etc/news/passwd.nntp

 

3、whereis命令格式$ whereis [-bmsu] 文档名或目录名

-b 只查找binary格式的文档

-m 只查找在说明文件manual路径下的文件

-s 只找source来源档案

-u 搜索不在上述三个项目中的其他文件

 

区别:

find命令搜寻命令花的时间长,因为他直接在硬盘上搜索。

 

locate命令搜索时以数据库文档(/var/lib/mlocate/)中搜索得到的,不用直接去硬盘取数据,所以较快。

 但是数据库的建立默认是在每天执行一次(即每天更新一次数据库),所以当你新建立起来档案后,在数据库更新前使用locate会找不到文件。

解决办法:可以使用updatedb命令更新数据库(这个命令一般会执行数分钟),然后再使用locate命令查询。

 

whereis命令也是根据数据库文档得到文件

 

根据上面的区别可知:一般我们先用locate 或whereis命令查找文件,在找不到的情况下才用find查找

 

-----查看文件的类型:file命令

-----查看文件的属性:lsattr命令

 

 

  • 大小: 6.3 KB
  • 大小: 5.7 KB
分享到:
评论

相关推荐

    linux.chm文档

    whereis halt 显示一个二进制文件、源码或man的位置 which halt 显示一个二进制文件或可执行文件的完整路径 挂载一个文件系统 mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经...

    Linux命令.pdf

    19. **whereis**:用于查找二进制文件、源代码文件和帮助文档的位置。 - 语法:`whereis [选项] 文件名` - 示例:`whereis grep` 20. **split**:用于将一个大文件分割成多个较小的文件。 - 语法:`split [选项]...

    Linux常用操作命令

    - `whereis` 命令用于查找二进制文件、源代码文件等的位置。 - 示例:`whereis ls`(显示`ls`命令的相关位置) 37. **寻找特定档案:locate** - `locate` 命令快速查找文件。 - 示例:`locate file`(查找名为`...

    Linux企业运维人员最常用150个命令汇总1

    - `whereis`:按PATH查找二进制命令。 - `locate`:从数据库快速查找文件,需先用`updatedb`更新。 7. **用户管理**: - `useradd`:创建新用户。 - `usermod`:修改用户属性。 - `userdel`:删除用户。 - `...

    Linux 档案与目录管理

    - **find**:强大的文件查找工具,支持复杂的查找条件。例如,`find / -name "file.txt"` 在根目录下查找名为 `file.txt` 的文件。 总之,在 Linux 中管理和操作文件与目录是一项基本技能,熟练掌握这些命令能够极...

    150个常用Linux命令

    - **whereis** - 查找二进制程序、源代码文件和手册页的位置。 - **locate** - 快速查找文件。 #### 七、用户管理 - **useradd** - 添加新用户。 - **usermod** - 修改用户账户。 - **userdel** - 删除用户账户。 -...

    Linux常用命令

    - `whereis`: 查找二进制文件、源代码文件和帮助页的位置。 - `which`: 显示命令的完整路径。 **31. 文件内容查看与编辑** - `cat`: 合并文件并打印到标准输出设备。 - `chattr`: 更改文件的扩展属性。 - `chgrp`: ...

    linux命令大全 例子演示

    - 用途:chattr用于设置特殊文件属性,lsattr用于显示这些属性。 - 示例: ```bash chattr +i immutable_file lsattr immutable_file ``` 14. **setuid & setgid** - 用途:分别用于设置文件的setuid和...

    linux非常实用的基本命令参数总结

    - **`whereis`**: 查找命令、二进制文件、手册页或源代码的位置。 - **示例**: 使用 `whereis ls` 查找 `ls` 命令的路径、手册页位置以及源代码位置。 - **`locate`**: 快速查找文件。 - **示例**: 使用 `locate ...

    Linux命令手册

    - **whereis**:查找可执行文件、源文件和帮助手册的位置。 #### 目录管理与磁盘管理维护 这部分主要涉及到对目录结构的操作以及磁盘空间的管理。 - **cd**:切换当前工作目录。 - **df**:显示文件系统的磁盘...

    linux常用命令手册

    - **whereis**:查找二进制文件、源代码文件和帮助文档的位置。 - **which**:查找指定命令的完整路径。 - **cat**:连接文件并打印到标准输出。 - **chattr (change attribute)**:更改文件的特殊属性。 - **chgrp ...

    深蓝linux培训教程

    - `whereis`:查找命令的手册页或源代码位置。 - `locate`:快速定位文件。 - `find`:根据多种条件查找文件。 - **压缩文件**: - `compress`、`uncompress`:早期的压缩/解压命令。 - `gzip`、`zcat`:用于...

    7_Linux__档案与目录管理

    - `whereis`:查找特定类型的文件(如源代码、帮助文件等)的位置。 - `locate`:基于数据库快速查找文件,比`find`更快但可能不实时。 - `find`:基于指定条件在文件系统中搜索文件,功能强大且灵活。 8. **...

    linux150个常用命令.docx

    例如,`find / -name "file.txt"`在根目录下查找名为`file.txt`的文件。 3. **whereis**:查找二进制命令、源代码和手册页的位置。例如,`whereis ls`。 4. **locate**:快速查找文件位置。例如,`locate file.txt`...

    红旗linux基本命令练习

    - **示例**:`whereis ls` 23. **locate** - **用途**:快速查找文件。 - **示例**:`locate filename` 24. **find** - **用途**:搜索文件。 - **示例**:`find / -name "*.txt"` 25. **which** - **用途*...

    linux运维必备150个命令.pdf

    - `whereis`:定位命令的二进制、源代码和手册页。 - `locate`:快速查找文件,基于预建的数据库。 7. **用户管理**: - `useradd`:创建新用户。 - `usermod`:修改用户账户属性。 - `userdel`:删除用户。 ...

Global site tag (gtag.js) - Google Analytics