Linux 学习

Linux常用命令之--which,whereis,locate

2020-12-10  本文已影响0人  逗儿比的日常

可执行文件的搜索

在Linux系统中,有成百上千个指令,不同的指令对应的指令文件,又放在不同的目录里。如果快速地查找指令的绝对路径是相当重要的
• which <指令>
显示一个指令的完整路径与别名
• whereis <指令>
搜索一个指令的完整路径以及其帮助文件

locate搜索

在Linux系统中存在一个数据库,在这个数据库中保存了系统中所有文件的绝对路径。用户就可以使用下面的命令来查询文件的完整路径
• 语法:locate [关键字]
• 这个指令会将文件名或目录名中包含有此关键字的路径全部显示出来
• 用户刚创建的文件系统不会立即加入数据库中,用户可以通过updatedb指令来手动的更新这个数据库,一般需要系统重启两三次之后才能locate到,刚追加的文件/文件夹搜不到

Find查询的描述

find是一个相当重要的查询文件绝对路径的指令
• 语法:find <路径> <选项> [表达式]
find查找文件的特点:
• 从指定路径下递归向下搜索文件
• 支持按照各种条件方式搜索。 比如按照文件的所有者,所属组等
• 支持对搜索得到的文件再进一步的使用指令操作(例如:删除、统计大小、 复制等)
重要选项:
• -name 根据文件名寻找文件
例:find / -name *tong 以任意开头,以tong结尾的
例:find / -name tong*以tong开头,以任意结尾的
例:find / -name tong名字为tong的
例:find / -name *tong* 包含tong的
• -user 根据文件拥有者寻找文件
• -group 根据文件所属组寻找文件
• -perm 根据文件权限寻找文件
• -size 根据文件大小寻找文件[±Sizek] +1M为大于1M的
• -type 根据文件类型寻找文件,常见类型有: f(普通文件) 、c(字符设备文件)、b(块设备文件)、l(连接文件)、d(目录)
• -o 表达式或
• -and 表达式与
• -not 表达式非
例:find /dev -type c -and -name tty*

对查找到的文件进一步操作 find [路径] [参数] [表达式] -exec 指令 {} \;

• 语法:find [路径] [参数] [表达式] -exec 指令 {} \;
• {}代表find找到的文件,即哪儿需要它就放在哪儿
• \ 转意
• ;表示本行指令结束
• 例:find /etc –name “host*” –exec du –h {} \; 查找/etc文件夹下名字以host开头的文件并显示文件的大小
例:find /tmp/ -name "file*" -exec cp -f {} /tmp/u+s/ \; 查找/tmp文件夹下名字以file开头的文件,并将其拷贝到/tmp/u+s/文件夹内
❉必须要有双引号,不然不好用

上一篇 下一篇

猜你喜欢

热点阅读