Linux系统快速查找文件的方法
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,本篇内容介绍了"Linux系统快速查找文件的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Lin
千家信息网最后更新 2025年02月06日Linux系统快速查找文件的方法
本篇内容介绍了"Linux系统快速查找文件的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Linux 常用命令中,有些命令可以帮助我们查找二进制文件,帮助手册或源文件的位置,也有的命令可以帮助我们查找磁盘上的任意文件,今天我们就来看看这些命令如何使用。 |
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.txt locate -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优点:准确查找,功能丰富;缺点:速度较慢。find高级用法将在后面的文章介绍。
"Linux系统快速查找文件的方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
文件
命令
条件
参数
目录
路径
系统
帮助
位置
字节
时间
类型
变量
大小
手册
权限
速度
搜索
更新
不同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
lra数据库
济宁巨狮网络技术
戴尔服务器 装系统
深圳软件开发热线
微信公众号调取数据库
unity点击物体读取数据库
久久互联网科技公众号
迷你世界的服务器怎么进
无锡网络安全宣传周金融日
软件开发需要用到什么设备
网络安全月刊
数据库新增列存放家庭住址
直销式app软件开发多少钱
2000数据库查询语句
大型软件开发看板
重庆巴别软件开发有限公司
华为外包软件开发详细流程
关于我和网络安全的倡议书
滨州hr人力资源软件开发公司
联想软件开发工作内容
网络安全扫描
数据库自反律举例
河北精英网络技术服务指导
igix数据库
网络安全建设与维护实验报告
国家网络安全威胁案例
华为外包软件开发详细流程
sql数据库不能执行语句
csgo什么平台有重庆服务器
鸿蒙软件开发概念