查找文件定位命令
- pwd
pwd命令用于显示用户当前所处的工作目录
,英文全称为“print working directory”,输入该命令后按回车键即可。 - cd
cd命令用于切换当前的工作路径
,英文全称为“change directory”,语法格式为“cd [参数] [目录]”
cd常用操作 | |
---|---|
cd - | 返回到上一次所处的目录 |
cd.. | 进入上级目录 |
cd ~ | 切换到当前用户的家目录 |
cd ~username | 切换到用户的家目录 |
- ls
ls命令用于显示目录中的文件信息
,英文全称为“list”,语法格式为“ls [参数] [文件名称]”
ls命令 | |
---|---|
参数 | 作用 |
-a | 可以看到全部文件(包括隐藏文件) |
-l | 可以查看文件的属性、大小等详细信息 |
-d | 查看目录属性信息 |
-r | 将文件以相反次序显示(默认依英文字母次序) |
-t | 根据最后的修改时间排序 |
-A | 同-a,但不列出“.”(当前目录)及“..”(父目录) |
-S | 根据文件大小排序 |
-R | 递归列出所有子目录 |
- tree
tree命令用于以树状图的形式列出目录内容及结构
,输入该命令后按回车键执行即可
- find
find命令用于指定条件来查找文件所对应的位置
,语法格式为“find [查找范围] 寻找条件”
find命令可以使用不同的文件特性作为寻找条件(如文件名、大小、修改时间、权限等信息)
find命令中的参数及作用 | |
---|---|
参数 | 作用 |
-name | 名称 |
-perm | 匹配权限(mode为完全匹配,-mode为包含即可) |
-user | 匹配所有者 |
-group | 匹配所属组 |
-mtime -n +n | 匹配修改内容的时间(-n指n天以内,+n指n天以前) |
-atime -n +n | 匹配访问文件的时间(-n指n天以内,+n指n天以前) |
-ctime -n +n | 匹配修改文件权限的时间(-n指n天以内,+n指n天以外) |
-nouser | 匹配无所有者的文件 |
-nogroup | 匹配无所属组的文件 |
-newer f1 !f2 | 匹配比文件f1新但比f2旧的文件 |
--type b/d/c/p/l/f | 匹配文件类型(后面的字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件) |
-size | 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件) |
-prune | 忽略某个目录 |
-exec.... {}\; | 后面可跟用于进一步处理所有结果的命令 |
"-exec {} \;参数,其中{}表示find命令搜索出的每一个文件,并且命令的结尾必须是“\;” "
-
locate
locate命令用于按照名称快速搜索文件所对应的位置
,语法格式为“locate 文件名称”
使用find命令进行全盘搜索虽然更准确,但是效率有点低。在使用locate命令时,先使用updatedb命令生成一个索引库文件,这个库文件的名字是/var/lib/mlocate/mlocate.db,后续在使用locate命令搜索文件时就是在该库中进行查找操作,速度会快很多
。
-
whereis
whereis命令用于按照名称快速搜索二进制程序(命令)、源代码以及帮助文件所对应的位置
,语法格式为“whereis 命令名称”
whereis命令也就是updatedb命令所生成的索引库文件进行搜索
,它与locate命令的区别是不关心那些相同名称的文件,仅仅是快速找到对应的命令文件及其帮助文件所在的位置
-
which
which命令用于按照指定名称快速搜索二进制程序(命令)所对应的位置
,语法格式为“which 命令名称”
which命令是在PATH变量所指定的路径中,按照指定条件搜索命令所在的路径。如果我们既不关心同名文件(find 与 locate),也不关心命令所对应的源代码和帮助文件(whereis),仅仅是想找到命令本身所在的路径
,那么这个which命令就比较合适
总结
find命令查找的比较全面;locate基于索引库查找,查找文件比较快,文件不如find全面;whereis 用于查找命令的源代码
以及帮助文件;which查找命令所对应的路径