搜索命令

搜索的命令或可执行文件的路径——which

#which 命令或可执行文件名——//搜索范围是环境变量path所包含的路径

ticy@ubuntu:~$ which passwd-------查找命令 passwd所在路径
/usr/bin/passwd
ticy@ubuntu:~$ which ifconfig-------查找命令 ifconfig所在路径
/sbin/ifconfig
ticy@ubuntu:~$ cd dir_xrw----查找可执行文件,需要先放到环境变量的某个目录下
ticy@ubuntu:~/dir_xrw$ ls
file  file_r  file-r  file_rw  file_rx  file_w  file_x
ticy@ubuntu:~/dir_xrw$ mv file_x /usr/bin/
mv: cannot move 'file_x' to '/usr/bin/file_x': Permission denied
ticy@ubuntu:~/dir_xrw$ su root
Password: 
root@ubuntu:/home/ticy/dir_xrw# mv file_x /usr/bin/
root@ubuntu:/home/ticy/dir_xrw# which file_x
/usr/bin/file_x

PATH环境变量——定义系统搜索命令的路径

系统在执行脚本命令时需要绝对路径才能执行,定义PATH环境变量后就可以不用写绝对路径,系统自动到PATH环境变量中搜索命令的路径。如果是自己写的脚本,需要将脚本放到PATH环境变量下,这样,不需要写绝对路径就能能执行命令。

#whatis   命令名  ——//用于查询命令有什么功能

#whoami  ——//查看当前用户是谁

搜索系统命令、配置文档及帮助文档所在路径——whereis

#whereis  命令名 ——//搜索范围是自己的数据库

选项:

-b——只查找可执行文件

-m——只查找帮助文件

root@ubuntu:/# whereis ping
ping: /bin/ping /usr/share/man/man8/ping.8.gz
root@ubuntu:/# whereis ifconfig
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
 

模糊搜索包含文件名的路径——locate

#local 文件名 —— //搜索范围后台数据库,输出信息量大,可以用重定向查看

root@ubuntu:/# locate passwd
/etc/passwd
/etc/cron.daily/passwd
/etc/init/passwd.conf
/etc/pam.d/chpasswd
/etc/pam.d/passwd
/etc/security/opasswd
/usr/bin/gpasswd
/usr/bin/grub-mkpasswd-pbkdf2
/usr/bin/passwd
/usr/bin/smbpasswd
········

 在系统当中搜索符合条件的文件名——Find

#find [搜索范围] [搜索条件] ——搜索文件名 避免大范围搜索,减少系统资源浪费

搜索条件

  • -iname——不区分大小写搜索文件名
  • -name——区分大小写搜索文件名
  • -user——按照所有者搜索
  • -group——按照所属组搜索
  • -nouser——查找没有所有者的文件,一般是垃圾文件需要删除(内核产生 外来数据如U盘)
  • -atime——按照文件被访问的时间搜索
  • -ctime——按照改变文件属性状态的时间搜索
  • -mtime——按照文件内容被修改的时间搜索
  • -size——按照文件大小搜索(k是小写,M是大写,必须加单位)
  • -inum——按照i节点大小搜索

#find  /var/log/  -mtime  [+-]数字——//查找某段时间修改的文件

  • -10:10天内修改文件
  • 10:前10天当天修改的文件
  • 0:当天24小时内修改的文件
  • +10:10天前修改的文件

#find  /var/log/  -size  数字 ——//查找指定文件大小的文件

  • -25k:小于25KB的文件
  • 25k:等于25KB的文件
  • +25k:大于25KB的文件

#find  /etc  -size  +20k -a -size -50k——//查找/etc/目录下,大于20kB且小于50KB的文件

-a——and——逻辑与,两个条件都满足

-o——or——逻辑或,两个条件满足一个即可

root@ubuntu:/# find -name passwd--------搜索passwd的路径,完全匹配
./usr/share/doc/passwd
./usr/share/bash-completion/completions/passwd
./usr/share/lintian/overrides/passwd
./usr/bin/passwd
./etc/cron.daily/passwd
./etc/pam.d/passwd
./etc/passwd
root@ubuntu:/#  find -name pass*------------使用通配符查找相关名称文件
./usr/share/plymouth/themes/ubuntu-logo/password-field16.png
./usr/share/help-langpack/en_GB/evince/password.page
./usr/share/doc/libnet-ssleay-perl/examples/passwd-cb.pl
./usr/share/doc/passwd/examples/passwd.expire.cron

root@ubuntu:/# find / -user tp----拥有者是tp的文件
find: ‘/proc/3176/fdinfo/5’: No such file or directory
find: ‘/run/user/1000/gvfs’: Permission denied
/var/tmp/file_r.swp
/home/ticy/dir_xrw/.file_rw.swp
/home/ticy/dir_xrw/.file_rx.swp
/home/ticy/dir_xrw/.file_w.swp
root@ubuntu:/# find / -nouser-----没有所属用户或组的文件
find: ‘/proc/3231/task/3231/fd/6’: No such file or directory
find: ‘/proc/3231/task/3231/fdinfo/6’: No such file or directory
find: ‘/proc/3231/fd/5’: No such file or directory
find: ‘/proc/3231/fdinfo/5’: No such file or directory
find: ‘/run/user/1000/gvfs’: Permission denied

字符串搜索命令——grep

#grep [选项]  字符串  文件名——//在文件当中匹配符合条件的字符串

选项:

  • -i——忽略大小写
  • -v——取反,排除指定字符串

#grep "牛客" 文件名 | wc -l ——//统计一个文件中"牛客"出现的行数

wc -l——统计行数

wc -w——统计单词数量

 

Find命令与grep命令的区别

Find命令是在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配

Grep命令是在文件数据内容当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux系统中,有一些全局搜索命令可以帮助您在整个系统中搜索文件和文本。以下是几个常用的全局搜索命令: 1. `grep`:`grep`命令用于在文件中搜索指定的文本模式,并输出匹配的结果。它可以在多个文件中进行全局搜索,而不仅仅是单个文件。使用方法如下: ```shell grep "搜索文本" 文件名或目录名 ``` 例如,要在整个系统中搜索名为"example.txt"的文件中包含文本"hello"的行,可以使用以下命令: ```shell grep "hello" /path/to/example.txt ``` 2. `find`:`find`命令用于在文件系统中搜索文件和目录,并执行指定的操作。它支持在文件名、大小、修改时间等条件上进行搜索。使用方法如下: ```shell find 目录路径 -name "搜索文本" ``` 例如,要在整个系统中搜索名为"example.txt"的文件,可以使用以下命令: ```shell find / -name "example.txt" ``` 3. `locate`:`locate`命令通过数据库中存储的文件名信息来搜索文件。它使用一个文件名数据库(通常是/var/lib/locate.db),并在很短的时间内返回匹配的结果。使用方法如下: ```shell locate 搜索文本 ``` 例如,要在整个系统中搜索名为"example.txt"的文件,可以使用以下命令: ```shell locate example.txt ``` 这些命令可以与管道(pipe)和重定向(redirect)操作一起使用,以实现更复杂的搜索和过滤操作。请注意,这些命令可能需要相应的权限才能在整个系统中执行搜索
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值