搜寻命令
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多平台公布
发表回复