CDA数据分析师:数据科学、人工智能从业者的在线大学。
数据科学(Python/R/Julia)数据分析、机器学习、深度学习 Q群:874447702
这节我们介绍如何在Linux系统中进行查找文件。
●locate
在Linux系统中查找最快的方法就是locate,Linux系统中专门有个数据库database,这个数据库是每天进行更新的,locate就相当于查询系统中的这个数据库,所以它的速度最快。
用locate查找的时候,相当于在整个Linux系统中所有的directory、file、folder中去查找,只要是目前我们使用这个命令的用户有权限的话,就能寻找到。locate这种寻找并不是在file system(文件管理系统)中寻找,它相当于把文件管理系统中的文件专门放到一个database数据库中,然后locate寻找的时候就专门到这个数据库中去寻找,所以是查找速度非常快。
比如我们使用命令:locate ls
相当于查找关于ls这个命令相关的文件。
如下图:
上面图片是我输入locate ls命令,运行之后的录屏,我们看到查找的速度飞快。
●find
接着我们再介绍一个慢一点的查找方法--find。
find是直接在我们的file system文件系统中去寻找,所以它比locate查找稍微慢点,而且在查找的时候要大概说明一下需要到哪里去找。
比如说,之前我在桌面上曾经创建过文件夹test,而且在test这个文件夹中曾经创建过一些.txt结尾的文件,现在我想把所有以.txt结尾的文件都找出来。
那么就使用命令:
find Desktop/test -name '*.txt'
如下图:
我们看到找到了桌面上test文件夹里面所有以.txt结尾的文件。
●whereis
如果我们想查找一个文件在哪几个目录里面存在的话,可以使用命令whereis
比如我们常用的cd、ls等等会存在于很多目录里面,比如说我们查找一下ls在哪些路径里面存在,就使用命令:
whereis ls
如下图:
运行结果如上图,我们看到ls在/usr/bin/ls、/usr/share/man/man1/ls.1.gz、/usr/share/man/man1p/ls.1p.gz这三个目录中都有。这些目录中的man其实就是manual这个单词的前三个字母,就是手册、说明书的意思,因为我们的系统是自带说明书的,我们的命令具体的option、argument等说明,我们如果不清楚或者忘了,可以直接输入mau 后面跟一个命令,就能打开这个命令的说明书。
比如,我们想查看ls这个命令的相关说明,可以使用命令:
man ls
当你在命令行输入man ls并回车后,就打开了ls这个命令的说明书,如下图:
一定要自己动手实践。