千家信息网

Linux下查找文件常用命令有哪些

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章主要介绍了Linux下查找文件常用命令有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用linux系统难免会忘记文件所在
千家信息网最后更新 2025年02月03日Linux下查找文件常用命令有哪些

这篇文章主要介绍了Linux下查找文件常用命令有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

使用linux系统难免会忘记文件所在的位置,可以使用以下命令对系统中的文件进行搜索。搜索文件的命令为"find";"locate";"whereis";"which";"type"

which

which命令会在PATH变量指定的路径中,搜索某个系统命令的位置。例如:

which -a which  #查看命令which所在位置,-a参数表示找出所有/usr/bin/which/bin/which

PATH变量有哪些内容呢?我们来看一下(不同电脑可能不同):

echo $PATH/home/hyb/bin:/home/hyb/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/binPATH环境变量存放着一些路径信息,例如/usr/bin,当你在shell终端敲入一个命令,但是在PATH中包含的路径下没有时并且也不是内置命令时,就会提示:command not found。

当你已经安装了一个命令,但是使用时却提示找不到该命令,可以查看该环境变量,是否有你安装命令的路径。

所以是不是明白了为什么有些命令或程序需要添加环境变量才能直接使用了吧?

whereis

whereis命令用于搜索程序的二进制文件,源代码文件或帮助文档。例如:whereis ls  #如果上述三者有,则三者都会显示。ls: /bin/ls /usr/share/man/man1/ls.1.gzwhereis -m ls #只查看ls的帮助手册ls: /usr/share/man/man1/ls.1.gzwhereis -b ls #只查找ls的二进制文件ls: /bin/lswhereis stdio.h #查找stdio.h头文件,和帮助手册stdio: /usr/include/stdio.h /usr/share/man/man3/stdio.3.gz同样地,它不能查找到内置命令。

type

type用于查看命令类型,一般有以下类型:

alias:别名keyword:关键字builtin:内置命令file:外部命令而常见参数如下:-t 输出类型名,如file-p 如果是外部命令,则显示其所在路径-a 对于外部命令,它会显示命令路径,命令类型等信息我们来看几个例子:type ls   #ls是一个别名ls is aliased to `ls --color=auto'type cd    #cd是一个内置命令cd is a shell builtintype findfind is /usr/bin/findtype  function  #function是一个shell关键字function is a shell keywordtype -a which  #显示所有路径which is /usr/bin/whichwhich is /bin/which

locate

前面所说的命令都限于查找命令,帮助手册或源文件,而locate用于快速查找任何文件。它从一个系统数据库进行文件查找,而不需要遍历磁盘,因此速度极快。通常该系统数据库每天更新一次(可以查看系统的/etc/cron.daily/mlocate,不同系统可能不一样)。

常见选项如下:-e  仅查找存在的文件-q  安静模式,不会显示任何错误讯息-n  至多显示 n个输出-r  使用正规运算式-i  查找忽略大小写-c  打印匹配结果数量假设当前目录早已存在以下文件:locate.txt  locate.log  LOCATE.zip我们来看一些实例。快速查找文件locate locate.txt  #查找locate.txt/home/hyb/workspaces/shell/locate/locate.txt查找存在的文件locate locate.txt  #查找之前删除locate.txt#虽然文件不存在,但是仍然被查找出来/home/hyb/workspaces/shell/locate/locate.txtlocate -e locate.txt  #-e参数可以查找只存在的文件(由于该文件不存在,因此也不会被查找出来)查找计算文件的数量locate -c locate.log #只计算查找到的数量1忽略大小写查找locate -i locate.zip/home/hyb/workspaces/shell/locate/LOCATE.zip使用正则表达式普通的查找是模糊匹配的,因此只要目标名称中包含要搜索的名称,都会被搜索出来,但是我们可以利用正则表达式,来精确查找。locate -r /locate.log$  #查找以/locate.log结尾的文件结合正则表达式,locate有更丰富的查找方式,这里不展开。locate查找存在的一个问题是,如果最近有文件被删除,它仍然能找出来,最近有文件增加,它却找不到。也就是说,它的查找并不具备实时性。当然我们可以手动执行updatedb命令来更新数据库(可能需要root权限)。

find

find命令是linux下一个强大的查找命令。与locate命令相比,它需要遍历磁盘文件,因此查找速度较慢,但正因如此,它的实时性比locate好得多。另外一方面,find命令的查找条件比locate丰富得多。

以名称为条件最常用的恐怕就是以文件名为条件了,涉及参数-name,-iname,例如:当前目录下查找以sort开头的文件:find ./ -name "sort*"./sort4.txt./sort2.txt./sort3.txt./sort.txtfind ./ -iname "SORT.txt" #忽略大小写./sort.txt以权限为条件有时候需要查找特定权限的文件,可以使用-perm参数,例如查找当前目录下权限为777的文件:find ./ -perm 777./test./sort.txt以文件类型为条件涉及参数-type,例如要查找当前目录下的符号链接文件:find ./ -type l./testls -al testlrwxrwxrwx 1 hyb hyb 8 11月 24 10:10 test -> home.zip主要类型有:f 普通文件d 目录b 块设备文件c 字符设备文件l 符号链接s 套接字p 管道文件以文件大小为条件涉及参数-size,例如:find ./ -size 1k  #查找当前目录下小于1k的文件./test./sort4.txt./sort2.txt./sort3.txt./test.sh./sort.txtfind -size +1M  #查找当前目录下大于1M的文件./test.zip常用单位有:k 千字节M 兆字节G 吉字节c 字节b 块,一般为512字节w 字大小,两个字节以归属为条件涉及参数-user,-nouser,-group,-nogroup等,例如:find ./ -user root  #查找当前目录下root用户的文件find ./ -nouser   #查找当前目录下root用户的被删除的文件-group,-nogroup类似的用法,只不过条件是用户组。以时间为条件涉及参数-mtime,-atime,-ctime,-newer,-anewer,-cnewer,-amin,-cmin等,例如:find ./ -mtime 3 #查找3天前更改过的文件find ./ -mtime -3 #查找3天内更改过的文件find ./ -mtime 0 #查找今天更改过的文件find ./ -newer sort.txt #查找比sort.txt修改时间更新的文件find ./ -anewer sort.txt #查找比sort.txt访问时间更新的文件find ./ -amin  5 #查找5分钟之前访问过的文件注:atime 最后访问时间mtime 最后修改时间ctime 最后修改时间,这里包括属性和权限find命令的查找条件比较多,而其用法也非常丰富,本文仅简单介绍,后面的文章将会介绍find的一些高级用法。

总结

which命令可用于查找命令位置。whereis可查找命令的位置,手册,源文件等。which和whereis都不能查找内置命令位置。locate优点:查找速度块;缺点:模糊匹配,匹配路径,实时性差。find优点:准确查找,功能丰富;缺点:速度较慢。

感谢你能够认真阅读完这篇文章,希望小编分享的"Linux下查找文件常用命令有哪些"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

文件 命令 条件 参数 目录 路径 系统 位置 字节 时间 类型 搜索 变量 大小 权限 帮助 常用 手册 篇文章 速度 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 企业服务器怎么打开 屏幕共享软件开发一般哪家好 企业服务器维护要求 ML视频软件开发 软件无法加载数据库 软件开发任务分解模板 电商和网络技术 福信计算机网络技术在哪个校区 数据库安全保护总结与分析 pc服务器和小型机区别 ice服务器能搬运吗 珠海市香洲区获客软件开发中心 怎么从服务器上查看本机地址 东软数据库审计默认登录地址 西继迅达服务器 服务器远程桌面怎么安全配置 成武高校诚信积分管理软件开发 锐起无盘服务器 校外线上培训网络安全 网络安全法进校园宣传 武汉网络技术有限责任公司 广州新华互联网科技学院 服务器磁盘未分配磁盘管理 科技互联网网站有哪些内容 ocm数据库怎么注册 宁夏中恒德瑞能源互联网科技 网络安全专业教师招聘 网络安全教育认识 逃离塔科夫内蒙古使用哪个服务器 湖南振江软件开发有限公司
0