乐趣区

关于程序员:linux-搜索命令

搜寻命令

locate 命令

搜寻速度快,是依照数据库进行搜寻的(数据库地位在 /var/lib/mlocate/mlocate.db)

locate abc.txt

这个数据库是在中午通过 cron 执行 updatedb 建设的,有时候新创建的文件应用 locate 来搜寻文件搜寻不到,可能是因为文件的索引还没有更新到数据库中,能够应用 updatedb 来手动更新

<!– more –>

find 命令

尽管 locate 命令搜寻速度很快,然而 locate 只能搜寻文件名,不能依据权限、类型、工夫来进行搜寻,而应用 find 命令来搜寻文件就能够进行细分了

#find 搜寻门路 [选项] 搜寻内容
find . db

------------------------
选项
按文件名
-name  按文件名
-iname 按文件名,不辨别大小写
-inum  按 inode 搜寻
按大小
-size  [+|-]大小  依照文件大小来搜寻,- 示意该工夫以内,+ 示意该工夫以外
按批改工夫,以天为单位
-atime [+|-]工夫  拜访工夫
-mtime [+|-]工夫  数据批改工夫
-ctime [+|-]工夫  状态批改工夫
按权限
-perm
按文件所有者和所属组
-uid  用户 id
-gid  组 id
-user 用户名
-group 组名
-nouser  没有所有者的文件
按类型
-type  d 目录 f 一般文件 l 软链接
按逻辑运算,能够使得多种条件组合
-a   与
-o   或
-not 非

find 命令还能够进行组合操作

#find 门路 [选项] 内容 -exec 命令 2 {} \;
#把 find 命令搜寻到的后果交给 -exec 中命令 2 去解决  {}代表了 find 命令搜寻到的后果
 find . -name *.cfg -exec ls -l {} \;
#find 门路 [选项] 内容 -ok 命令 2 {} \;
#ok 与 exec 的区别在于  exec 间接执行,ok 会进行询问

grep 命令

用于在文件中搜寻符合条件的字符串,是最早的文本匹配命令

#grep [选项] 字符串 文件名
grep  "cd" 123.txt

--------------------------
选项
-q  后跟关键词,此时查找时不会产生任何信息
-i  疏忽大小写
-l  只显示文件名
-c  只输入匹配行的计数
-n  输入行号
-v  反向查找,显示不匹配的行
-w  全字匹配
--color=auto 搜寻进去的文字色彩显示
-A 显示匹配行以及前面的 n 行
-B 显示匹配行以及后面的 n 行
-C 显示匹配行和它前后 n 行
-F 查找固定的字符串,如果匹配的文本中不蕴含正则,默认就应用了 -F

cut 命令

与 grep 绝对应,grep 是提取一行数据,cut 是提取一列数据(列与列之间必须应用 tab 分隔)

cut -f 2 stu.txt
name
张三
李四

#提取多列
cut -f 1,2 stu.txt
id    name
1    张三
2    李四

--------------------
参数
-f 列号  提取第几列
-d 分隔符  依照指定分隔符分隔列(默认是 tab)
-c 字符范畴  n- 示意从第 n 个字符到行尾   n- m 示意从第 n 个字符到第 m 个字符 - m 示意从第 1 个字符到第 m 个字符

type 命令

应用 type 命令能够查找到命令存储地位

type java
java is /usr/bin/java

https://zhhll.icu/2021/linux/ 根底 / 搜寻命令 /

本文由 mdnice 多平台公布

退出移动版