网站首页 > 博客文章 正文
在linux系统中大量的文件,我们如何快速定位找出我们需要的文件?下面我们来给大家揭晓答案。
如find命令,它能够迅速在指定范围内查找到文件。如,在/usr/bin/目录中查找zip命令。
#Find /usr/bin/ -name zip -print
/usr/bin/zip
从上面的实例中,可以看到find会深入这个路径的每一个子目录去寻找,因此如果指定“/”,那么就查找整个文件系统。-name选项指定了文件名,zip.另一种表达形式可以使用通配符来指定文件名,如“find ~/ -name *.c -print”将列出用户主目录下所有的c程序文件。-print的意思是将结果输出到标准输出(这里指的是屏幕)。Find命令会打印出文件的绝对路径。
Find命令还可以指定文件的类型。如-type选项定位特殊文件类型。例如在/etc/目录中查找名叫init.d的目录。
#find /etc/ -name init.d -type d print
find :/etc/ssl/private:Permission denied
find:/etc/cups/ssl:Permission denied /etc/init.d
从上面例子中,我们可以看到出现了两行permission denied.原因是普通用户没有这两个目录的权限。
-type选项可以使用的参数如下所示
Find命令的-type选项可供使用的
参数 | 含义 | 参数 | 含义 |
b | 块设备文件 | f | 普通文件 |
c | 字符设备文件 | p | 命名管道 |
d | 目录文件 | l | 符号连接 |
Find命令还可以通过指定时间来查找文件。-atime 用来查找最后一次使用在n天前的文件,
-mtime n用来查找最后一次修改在n天前的文件。但是在实际使用过程中,很少能准确确定n的大小。在这种情况下,可以用+n表示大于n,用-n表示小于n。例如,在/usr/bin/中查找最近100天内没有使用过的命令(就是最后一次使用在100天或100天以前的命令)
Find /usr/bin/ -type f -atime +100 -print
/usr/bin/pilconvert.py
/usr/bin/espeak-synthesis-driver.bin
/usr/bin/pildriver.py
/usr/bin/pilfont.py
/usr/bin/gnome-power-bugreport.sh
/usr/bin/gnome-power-cmd.sh
/usr/bin/pilprint.py
/usr/bin/pilfile.py
如下面的查找命令,当前目录中,在最近一天内修改过的文件。
#find . -type f -mtime -1 -print
./text1
./day
./weather
查找指定时间内修改过的文件。
#find -atime -2
按照目录或文件的权限来查找文件
#find /opt/soft/test/ -perm 777
按类型查找。
#find . -type f -name “*.log”
查找当前目录大于1k的文件。
#find . -size +100c -print
另外一个命令which文件的定位。Which是在path变量指定的路径中,搜索某个系统命令的位置,返回第一个搜索结果。使用which命令,可看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。Which的使用方法如:
#which lsmod
Which的命令参数说明如下。
-n指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p与-n参数相同,但此处的文件名长度包含了文件的路径。
-w指定输出时栏位的宽度。
-v显示版本信息。
最后,介绍一下管道,什么是管道,管道起了什么样的作用?
管道将“重定向”再向前推进了一步。通过一根竖线“|”,将一条命令的输出连接到另一条命令输入。如何在文件列表中查找文件名中包含某个特定字符串的文件。
#ls | grep ay
days
hrad_days
mplayer
mplayer~
my_days
ls 列出当前目录下的所有文件名。
管道“|”接收到这些输出,并把他们发送给grep命令作为其输入。Grep在这些文件列表中查找包含字符串ay的文件名,并标准输出(也就是显示器)显示。
命令中可以使用多个管道,构造出复杂的shell命令。合理使用管道是提高工作效率的有效手段。
猜你喜欢
- 2024-10-02 K8s 网络问题自己能解决吗?(k8s网络不稳定)
- 2024-10-02 重学计算机组成原理(七)- 程序无法同时在Linux和Windows下运行
- 2024-10-02 AOP编程_Android优雅权限框架(2)Demo完全解析
- 2024-10-02 微信小程序云数据库update更新数据为0问题解决
- 2024-10-02 su切换用户:su failed to execute /bin/bash;Permission denied
- 2024-10-02 大数据------安装错误集锦(详细解决教程)
- 2024-10-02 gradle4.1后not resolve com.android.tools.build:gradle:3.0.1
- 2024-10-02 纳税申报系统常见问题(纳税申报系统常见问题有哪些)
- 2024-10-02 mediaDevices.getUserMedia提示DOMException:Permission denied by
- 2024-10-02 终于有人把所有的Java异常处理方法给总结出来了
你 发表评论:
欢迎- 07-08Google Cloud Platform 加入支持 Docker 的容器引擎
- 07-08日本KDDI与Google Cloud 签署合作备忘录,共探AI未来
- 07-08美国Infoblox与Google Cloud合作推出云原生网络和安全解决方案
- 07-08GoogleCloud为Spanner数据库引入HDD层,将冷存储成本降低80%
- 07-08谷歌推出Cloud Dataproc,缩短集群启动时间
- 07-08Infovista与Google Cloud携手推进射频网络规划革新
- 07-08比利时Odoo与Google Cloud建立增强合作,扩大全球影响力
- 07-08BT 和 Google Cloud 通过 Global Fabric 加速 AI 网络
- 最近发表
-
- Google Cloud Platform 加入支持 Docker 的容器引擎
- 日本KDDI与Google Cloud 签署合作备忘录,共探AI未来
- 美国Infoblox与Google Cloud合作推出云原生网络和安全解决方案
- GoogleCloud为Spanner数据库引入HDD层,将冷存储成本降低80%
- 谷歌推出Cloud Dataproc,缩短集群启动时间
- Infovista与Google Cloud携手推进射频网络规划革新
- 比利时Odoo与Google Cloud建立增强合作,扩大全球影响力
- BT 和 Google Cloud 通过 Global Fabric 加速 AI 网络
- NCSA和Google Cloud合作开发AI驱动的网络防御系统,加强泰国网络空间的安全性
- SAP将在沙特阿拉伯 Google Cloud 上推出BTP服务
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)