which locate whereis find
which命令
用途:查找可执行文件并显示所在的位置,适用于系统命令,shell命令无法查询
which lsb_release 查看命令的绝对路径,即这个可执行文件的位置
/usr/bin/lsb_release
which cd 查找不到路径,cd是shell的内部命令
locate命令
格式:locate 文件名
根据每天更新的数据库(/var/lib/mlocate)查找,速度快;
但是不能找到自己新建的文件,但会找到已经删除的文件
如果是新建立的文件,需要手动更新数据库updatedb
updatedb 命令,更新数据库文件
whereis shuangxing 查不到新建的文件
cp shuangxing /sbin/ 放到PATH变量的路径里
whereis shuangxing 能查询到
shuangxing: /sbin/shuangxing
find命令
用途:用于查找文件或目录
格式:find [查找范围] [查找条件] [动作]
常用查找条件
-name:按文件名称查找
-size: 按文件大小查找
-user: 按文件属主查找
-type: 按文件类型查找
-perm :按文件权限查找
-mtime :按文件更改时间查找
find / -size +500M
在根目录下查找 文件大小大于500M的文件
find /boot -size +1024k -o -name "vmlinuz*"
在/boot目录下查找文件名包含vimlinuz开头的或者大小大于1024k的文件
find . -type f 查找当前目录下文件类型是普通文件的
find . ! -type f 查找不是普通文件的(即目录)
find . -type d 查找文件类型为目录的
find /tmp -size +10k -ok cp {} /bak -rf \;
-ok 执行命令的时候,给予提醒,询问是否执行
-exec 执行命令的时候,不给予提醒,直接执行
逻辑组合
-a and
-o or
! not(非)
文件类型
-type 使用的
d 目录 DIRECTORY
f 普通文件 file
l 链接文件 link
c 字符设备文件 character
b 块设备文件(磁盘设备文件)block
[root@teacher boot]# find /tmp -size +10k -ok cp {} /bak -rf \;
< cp ... /tmp/hsperfdata_root/5493 > ? y
which 和whereis 查找命令比较好用,在$PATH变量定义的路径下查找。
locate 查找文件比较快,因为在整个根目录下的数据库中查找
find查找是一个一个的比对查找,但是一般耗时间比较多,多后台执行
-ok 执行命令的时候,给予提醒,询问是否执行
-exec 执行命令的时候,不给予提醒,直接执行
grep命令 查找命令
^ 脱字符 以什么开头
$ 美元符号 以什么结尾
^$ 代表空行
grep ^root /etc/passwd 查找以root开头的行
grep bash$ /etc/passwd 查找以bash结尾的行
grep lingshao /etc/passwd 查找包含lingshao的行
cat /etc/passwd|grep bash$ 查找以bash结尾的行
cat /etc/passwd|grep -v bash$ 查找不是以bash结尾的行::-v 是取反 就是不包含
cat /etc/vsftpd/vsftpd.conf |grep -v ^# |grep -v ^$
除去以#开头的行和空行