##locate

按文件名称搜索,速度很快

locate xxx : 检索 xxx 文件
####
Mac 下面或许使用不了 解决方法如下
sudo cp /usr/libexec/locate.updatedb /bin/updatedb
####
sudo updatedb  重新检索数据 (更新数据)
sudo locate locate  也可以这样重新检索数据

whereis

搜索命令的命令 (搜索系统命令文件目录)

whereis [系统命令]
参数 :
     -b : 只查找可执行文件
     -m : 只查找帮助文件

which

搜索命令的命令 (与 whereis 很像,搜索命令所在路径及别名)

which [系统命令]

find

文件搜索命令 (耗资源)

find [搜索范围 ~ path ] [搜索条件 ~ name ] (find pathname -options [exec])
ps : 避免太大范围搜索,真的很耗资源
参数 :
    pathname :搜索范围 文件查找目录
    exec  : 支持正则中的匹配符号
        -> *  : 匹配任意美容
        -> ?  : 匹配任意字符
        -> []  : 匹配括号中的任意字符
    -name :  按照文件名查找
    -iname :  按照文件名查找 不区分大小写
    -perm : 按照文件权限查找
    -user :  按照文件属主查找
    -group :  按照文件属分组查找
    -mtime -n +n  : 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
    -nogroup : 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
    -nouser  : 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
    -newer file1 ! file2 : 查找更改时间比文件file1新但比文件file2旧的文件。
    -type : 查找某一类型的文件,诸如:
        -> b : 块设备文件。
        -> d : 目录。
        -> c : 字符设备文件。
        -> p : 管道文件。
        -> l : 符号链接文件。
        -> f : 普通文件。
    -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
    -fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
    -mount:在查找文件时不跨越文件系统mount点。
    -follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
    -cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

    注意下面几个的区别:
    -amin n  : 查找系统中最后N分钟访问的文件
    -atime n : 查找系统中最后n*24小时访问的文件
    -cmin n  : 查找系统中最后N分钟被改变文件状态的文件
    -ctime n : 查找系统中最后n*24小时被改变文件状态的文件
    -mmin n  : 查找系统中最后N分钟被改变文件数据的文件
    -mtime n : 查找系统中最后n*24小时被改变文件数据的文件

grep

字符串搜索命令

grep [参数] 字符串 文件名
参数:
    -i 忽略大小写
    -v 排除自定字符串 (取反的意思)