[Linux服务器] linux搜索命令总结

787 0
Honkers 2025-8-19 15:07:53 来自手机 | 显示全部楼层 |阅读模式

1.下载安装:yum -y install vim +文件名

  1. yum -y install vim +文件名
复制代码

2.whereis命令:查找命令所在绝对路径以及配套的man文档所在绝对路径

  1. whereis [选项] 命令名称
复制代码

-b:只查找二精制文件。

-m :只查找命令的联机帮助手册。

 

3.whatis 命令:用于获取命令的简介

  1. whatis 命令名称
复制代码

 4.find命令:用于查找文件

  1. find 【路径】【匹配表达式】
复制代码
选项含义
-perm <权限数值>查找符合指定的文件的权限数值的文件或目录
-type <文件类型>只寻找符合指定的文件类型的文件
-name <范本样式>按照文件名查找文件
-expty寻找文件大小为0Byte 的文件,或目录下没有任何子目录或文件的空目录
-ls假设find指令的回传值为ture,就将文件或目录名称列出标准输出
-maxdepth <目录层级>设置最大目录层级
-mindepth <目录层级>设置最小目录层级
-exec <执行指令>假设find指令的回传值为ture,就执行该指令
-ok <执行指令>此参数的效果和指定-exec类似,但在执行指令之前会先询问用户,若回答y或Y,则放弃执行命令

 

【小技巧】*---通配符,表示任意数量的任意的字符

【案例1】在/testlinux目录下查找以.txt结尾的文件名

总结:-name  #按照文件名查找文件

【案例2】查找当前目录及其子目录下所有文件和文件夹

 

【案例3】组合查找文件名以file1开头(与、或、非)file2开头的文件

  1. * 组合查找语法:
  2. * -a 与(取交集)
  3. * -o 或(取并集)
  4. * -not 非(同 !)
  5. * ! 非(同 not)
复制代码
  1. find testlinux/ -name "file1*" -a -name "file2*"
复制代码

  1. find testlinux/ -name "file1*" -o -name "file2*"
复制代码

  1. find testlinux/ -name "file1*" -not -name "file2*"
复制代码

 

  1. find testlinux/ -name "file1*" ! -name "file2*"
复制代码

【案例4】查找当前目录及所有子目录下的普通文件

文件类型参数含义
f普通文件
l符号连接
d目录
c字符设备
b块设备
s套接字
pFifo
  1. find . -type f
复制代码

 【案例5】搜索当前目录下的普通文件,限制最大深度为 3

 【案例6】搜索权限为 777 的普通文件

【案例7】搜索 .txt 格式且权限不为 777 的普通文件

案例8】借助-exec命令,将当前目录及子目录下所有.txt格式的文件以长格式显示出

【案例9】借助-exec命令,将当前目录下权限为755的目录以长格式显示出来

  • -atime n:查找n天被访问过的文件。+n表示超过n天,-n表示未超过n天。
  • -mtime n:类似于atime
  • -size n:查找大小为n个块的文件,一块为512B。符号+n表示大小为n个块的文件:-n表示查找大小为n个块的文件;符号nc表示查找大小为n个字符的文件
  • -user username: 查找属于指定用户文件。
  • -group  grpname:查找属于指定组的文件。

4.locate命令:

用来查找文件的,但它的速度比find命令快很多,不搜索目录。

  1. yum -y install mlocate
  2. updatedb
复制代码

 (1)查找 passwd 文件,输入以下命令:

  1. locate passwd
  2. (find / -name passwd)
复制代码

(2)搜索 etc 目录下所有以 sh 开头的文件 :

  1. locate /etc/sh
复制代码

(3)忽略大小写搜索当前用户目录下所有以 r 开头的文件 :

  1. locate -i ~/r
复制代码

 

语法

locate -d --version

参数:

-c, --count 只输出找到的数量;

-d, --database DBPATH 使用DBPATH指定的数据库,而不是默认数据库/var/lib/mlocate/mlocate.db;

-i, --ignore-case 忽略大小写;

-q, --quiet 安静模式,不会显示任何错误讯息;

-e, --existing 只显示当前存在的文件条目;

5.updatedb

updatedb命令用来创建或更新locate命令所必需的数据库文件。

我们在用locate查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

6.which命令

主要是用来查找系统PATH目录下的可执行文件,说白了就是查找那些我们已经安装好的可以直接执行的命令。

 

 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行