命令2

文件搜索命令:

locate

locate 文件名 

速度快,在后台数据库中按 文件名 搜索

/var/lib/mlcate 
  1. locate 命令所搜索的后台的数据库
  2. 默认每天自动更新,所以新建文件搜索不到
  3. 在不同linux中,该数据库名字稍微不同,例如locatedb、slocate、mlocate
updatedb

手动更新数据库

可使用

locate locate

搜索locate相关文件,

缺点:只能按照文件名进行搜索,但常用。

配置文件

touch /root/cangls
touch /tmp/cangls
updatedb
locate cangls

显示为 /root/cangls 只有一条,而/tmp下的cangls没有显示出来,原因在于locate搜索遵循配置文件

vi              /etc/updatedb.conf
PRUNE_BIND_MOUNTS = "yes"
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"
PRUNENAMES = ".git .hg .svn"
PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp"

在PRUNEPATHS 中配置了/tmp/目录不进行搜索,所以没有进行查找root
PRUNE_BIND_MOUNTS = “yes”
开启搜索限制,yes为后面三项都生效。no为后面三项都不生效
1. PRUNEFS = 搜索时,不搜索的文件系统
2. PRUNENAMES =搜索时,不搜索的文件类型
3. PRUNEPATHS =搜索时,不搜索的路径

搜索命令的命令whereis与which

whereis
[root@VM_55_31_centos ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

/usr/bin/ls
ls的位置,可执行文件
/usr/share/man/man1/ls.1.gz
帮助文档所在位置

1.只能搜索系统命令,不能搜索普通文件,可查看帮助文档位置,执行文件位置
-b:只查看执行文件
-m:只查看帮助文件

which
[root@VM_55_31_centos ~]# which ls
alias ls='ls --color=auto'
        /usr/bin/ls

alias ls='ls --color=auto'
别名
/usr/bin/ls
执行命令的位置
1.which 命令名,可以查询到执行命令的位置,可以查看命令的别名
2.shell内部命令whereis和which搜索不到该命令例:cd

PATH环境变量:系统搜索命令的路径

[root@VM_55_31_centos ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

打印$PATH变量,命令如ls的路径
当执行ls命令时就从上述路径中找,本来是要通过输入/bin/ls的路径才可执行ls,这样就可以只是输入ls命令就可以执行了
自己定义的命令,如果要直接执行不用写绝对路径,就要放在上述目录之中
which和whereis

总结

相同点:
1. 都能搜索命令所在的位置。
2. 都只能搜索到外部安装的命令。不能搜索到shell自带的命令,比如cd
3. 搜索命令范围都依赖与环境变量PATH
不同点:
1. whereis能搜索到命令的帮助文档所在位置, 而which可以搜索到命令的别名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值