首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux下which、whereis、locate、find 区别

    我们经常在linux要查找某个文件或命令,但不知道放在哪里了,可以使用下面的一些命令来搜索。 which      查看可执行文件的位置  whereis    查看文件的位置  locate     配合数据库查看文件位置  find       实际搜寻硬盘查询文件名称  1、which  语法: which 可执行文件名称  例如:  [root@redhat ~]# which passwd  /usr/bin/passwd  which是通过 PATH 环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件  2、whereis  语法: whereis [-bmsu] 文件或者目录名称  参数说明:  -b : 只找二进制文件  -m: 只找在说明文件manual路径下的文件  -s : 只找source源文件  -u : 没有说明文档的文件  例如:  [root@redhat ~]# whereis passwd  passwd: /usr/bin/passwd /etc/passwd /usr/bin/X11/passwd /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1.gz /usr/share/man/man1/passwd.1ssl.gz 将和passwd文件相关的文件都查找出来  [root@redhat ~]# whereis -b passwd passwd: /usr/bin/passwd /etc/passwd /usr/bin/X11/passwd  只将二进制文件 查找出来  和find相比,whereis查找的速度非常快,这是因为linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。  但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。  3、 locate  语法: locate 文件或者目录名称  例 如:  [root@redhat ~]# locate passwd  /etc/passwd /etc/passwd- /etc/cron.daily/passwd /etc/init/passwd.conf /etc/init.d/passwd /etc/pam.d/chpasswd /etc/pam.d/passwd /etc/security/opasswd …………

    04

    认识目标文件的格式——a.out COFF PE ELF

    目标文件是源代码编译后未进行链接的中间文件(Windows的.obj和Linux的.o),与可执行文件(Windows的.exe和Linux的ELF)的结构和内容相似,因此跟可执行文件采用同一种格式存储。PC平台常见的可执行文件格式主要有Windows的PE(Portable Executable)和Linux的ELF(Executable and Linkable Format)。PE和ELF都是通用目标文件格式(COFF,Common Object File Format)的变种。在Windows下,我们将目标文件与可执行文件统称为PE-COFF文件,Linux统称为ELF文件。除此之外,还有些不常用的目标文件与可执行文件格式,比如Intel和Microsoft以前使用的对象模型文件(OMF,Object Module File)、Unix的最初使用的a.out和MS-DOS的.COM格式等。

    03

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券