《如何使用Linux云服务器的搜索命令》这篇文章的知识点大部分人都不懂,所以主机频道为大家总结了以下内容,内容详细,步骤清晰,具有一定的参考价值。希望你看完这篇文章后能有所收获。我们先来看看这篇文章《如何使用Linux云服务器的搜索命令》。
whereiswhereis命令用于查找二进制文件、源代码和帮助手册。其中只能在几个常用的安装目录中找到,无法找到整个系统中的所有文件。虽然这是whereis的限制,但正是因为这个原因,whereis的搜索速度非常快。另外值得注意的是,whereis并不寻找shell中内置的命令。
例如,我们想找到ls命令:
whereis ls的结果如下,其中/bin/ls是ls的路径,另外两个是帮助手册的路径。
Ls:/bin/LS/usr/share/man/man 1/LS . 1 . gz/usr/share/man/man 1p/LS . 1p . gz如果我们将LS复制到主目录和/usr/bin/ls目录,请再次执行whereis命令:
cp /bin/ls ~
cp /bin/ls /usr/bin/ls
结果如下。可以发现,whereis没有找到主目录,因为主目录不是常用的安装目录之一。
ls:/bin/ls/usr/bin/ls/usr/share/man/man 1/ls . 1 . gz/usr/share/man/man 1p/ls . 1p . gz使用whereis查找这些shell中内置的命令:
whereis cd的结果如下,只显示了帮助手册的路径。
命令CD:/usr/share/man/man 1/CD . 1 . gz/usr/share/man/man1p/CD . 1p . gzlocatelocate是一个基于文件数据库(/var/lib/mlocate/mlocate.db)的搜索工具,它是整个文件系统的镜像。默认情况下,locate命令的搜索模式是模糊匹配,这意味着将找到所有包含文件名的文件,因此返回的结果通常会更多。值得注意的是,文件数据库通常每天更新一次,因此可能无法找到一些刚刚创建或删除的文件。我们可以执行updatedb命令来手动更新该数据库。因为它基于文件数据库而不是文件系统,所以locate的执行速度也相当快。
仍以ls为例进行查找:
定位ls我们将得到很多包含ls的结果。为了使输出结果更准确,可以使用-b指令,即使用精确匹配模式来查找它。
定位-b & quot;\ ls & quot因此输出只包含ls命令所在的路径。
/bin/lswhich命令的搜索范围是环境变量PATH,默认只返回第一个结果,所以执行速度非常快。如果我们要查找别名,在查找之前,哪个命令还会映射到别名对应的实际路径。
例如,我们定义了一个名为ll的别名,搜索命令如下:
哪些ll结果如下:
别名ll = & # 39ls-l-color = auto & # 39;
/bin/ls如果我们想显示所有结果,只需添加-a命令。
Which -a your_commandtypetype命令用于显示命令的类型,如别名、关键字、函数、内置命令、文件等。与whereis命令一样,type命令只能在几个常用的安装目录范围内找到。
显示cd命令的类型:
cd标牌
Cd是一个shell内置的显示二进制文件的类型:
sudo类型
Sudo是/usr/bin/sudo显示别名:
ls型
ls是` ls-color = auto & # 39;Find在五个搜索命令中,find命令是功能最强大的命令,也是最慢的命令。与其他四个命令不同,find命令基于文件系统搜索,一次搜索一个文件节点。find命令甚至可以对搜索结果执行后续操作。
查找命令的基本用法:
在主目录及其子目录中找到【路径】【选项】【操作】,找到文件名为aaa的文件:
查找~-名称& # 39;aaa & # 39在整个文件系统中,查找修改时间在24小时以内的文件:
Find/-mtime 0在nginx的web目录及其子目录中,找到用户为nginx的文件:
在当前目录中找到/usr/share/nginx/html/-user nginx,找到权限为744的文件:
Find -perm -0744在当前目录中,找到文件名为aaa的文件并显示其详细信息:
find-name & # 39;aaa & # 39-exec ls-l { } \;
评论前必须登录!
注册