Linux下查找文件常用命令有哪些
发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,这篇文章主要介绍了Linux下查找文件常用命令有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用linux系统难免会忘记文件所在
千家信息网最后更新 2024年12月12日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安全错误
数据库的锁怎样保障安全
常州现代软件开发售后服务
吉林省网络安全中标
浏览量怎么存到数据库
游戏服务器容量怎么分别
数字化网络技术是什么
轻量服务器规则
软件开发大拿
网络技术专业就是计算机吗
证券软件开发过程
京东上有软件开发
ppt软件开发模型
可以作为软件开发IDE
网络安全漏洞图片
疫情期间手机游戏服务器的数据
北京服务器机柜设计
江西服务器机柜按需定制
湖南正益互联网科技有限公司
在线学习软件开发外包
app 服务器配置
mysql数据库极限
咨询网络技术服务
浪潮英信服务器nf5468
关联挖掘只扫一次数据库
网络安全的手抄报简便
网络安全进校园宣讲稿
思科 网络技术挑战赛
电脑显示网络无法连接远程服务器
数据库的学号属于
光猫变http服务器
linux什么时候开始做服务器