(一)find命令详解

find:功能:文件搜索;

语法:find[搜索范围][匹配条件];  只要匹配条件完全符合才可以被显示,使用通配符*匹配条件*则可以显示匹配条件的所有目录,问号?匹配单个字符

所在路径:/bin/find;
按照名字查找文件:

eg:# find /tmp -name *test*:区分大小写,显示所有包含test的文件;
# find /tmp -iname *test* :不区分大小写,显示所有包含test的文件

按照所有者查找文件:

find / -user zxh:在系统文件中查找用户zxh的所有文件

按照组别查找文件:

find /home -group zxh:在系统中查找组别是zxh的所有的文件

按照时间查找文件:

find /etc -cmin -5:在/etc下查找五分钟内被修改过属性的文件和目录

{-amin:访问时间 a:access;-cmin:文件属性c:change即:ls -l可以看到的那些属性;-mmin:文件内容m:modify即:文档内容被改变}
根据文件类型查找文件:

find / -type f:按照文件类型查找文件,f代表文件,d代表目录,l代表软连接文件,例:# find / -mmin -30 -type f

-inum:根据i节点查找
对查找到的文件进行操作:
# find /etc -name inittab -exec -ok  ls -l {} \:查看找到的文件的详细信息;其中-exec [操作命令] {} \;是固定的格式;
-ok的时候会再次询问你是否真的要进行如此的操作,例:

[root@localhost ~]# find /etc -name inittab -ok -exec ls -l {} \;
< ls ... /etc/inittab > ? y
-rw-r--r--. 1 root root 491 6月 10 2014 /etc/inittab

详情请参考:http://man.linuxde.net/find

(2)locate命令详解

locate:功能:在文件资料库中查找文件,locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

语法:locate 文件名;eg:locate inittab
locate -i 文件名:不区分大小写的在资料库里面查找文件
问题一:[linux]centos7及以上找不到locate命令及locate搜索不到存在的文件:安装mlocate包:yum -y install mlocate;更新数据库:updatedb
问题二:仍然有一些文件无法通过locate命令找到
原因:
查看配置文件
cat /etc/updatedb.conf

输入命令后可看到:
PRUNE_BIND_MOUNTS = "yes"
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"
PRUNENAMES = ".git .hg .svn"
PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp"
PRUNE_BIND_MOUNTS = “yes” 开启搜索限制,如果为’no’则表示不开启搜索限制;
PRUNEFS = 搜索时,不搜索的文件系统;
PRUNENAMES = 搜索时,不搜索的文件类型;
PRUNEPATHS = 搜索时,不搜索的路径;
不只locate命令遵循搜索限制,whereis与which也遵循

(3)which命令详解

which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

which:功能:搜索命令所在目录以及别名信息,语法:which 命令 ;例:

[root@node001 ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls

(4)whereis 命令详解

whereis命令用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径

语法:whereis(选项)(参数)

选项:

-b:只查找二进制文件;
-B<目录>:只在设置的目录下查找二进制文件;
-f:不显示文件名前的路径名称;
-m:只查找说明文件;
-M<目录>:只在设置的目录下查找说明文件;
-s:只查找原始代码文件;
-S<目录>只在设置的目录下查找原始代码文件;
-u:查找不包含指定类型的文件。
参数:
要查找的二进制程序、源文件和man手册页的指令名
[root@node001 ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz

(5)grep命令详解

grep:功能:在文件中搜索字串匹配的行并输出。

语法:grep -iv [指定字串][指定文件],-i代表不区分大小写,-v排除指定字符串,例:

[root@node001 tmp]# cat file
match pattern
test 1
wode
ceshi
oooo
hahahha
哈哈哈哈 [root@node001 tmp]# grep ceshi file
ceshi

 详情请参考:http://man.linuxde.net/grep

(6)man命令详解

man :功能:获得帮助信息;语法:man [命令或者配置文件];一般优先显示命令帮助,1是命令帮助,5是文件帮助 ,例:man 5 passwd;

选项:

-a:在所有的man帮助手册中搜索;
-f:等价于whatis指令,显示给定关键字的简短描述信息;
-P:指定内容时使用分页程序;
-M:指定man手册搜索的路径。

输入:man services的时候显示没有 services 的手册页条目,则解决办法是:安装man帮助文档包:sudo yum install man-pages

(7)whatis 命令详解

功能:获得一个简短的命令的信息,是用于查询一个命令执行什么功能,并将查询结果打印到终端上。例:

[root@node001 tmp]# whatis ls
ls (1p) - list directory contents
ls (1) - list directory contents
[root@node001 tmp]# whatis passwd
sslpasswd (1ssl) - compute password hashes
passwd (1) - update user's authentication tokens
passwd (5) - password file

(8)apropos命令详解 

apropos:获得一个配置文件的信息,相当于man -k 关键字

语法:apropos [配置文件名]

[root@node001 tmp]# apropos who
at.allow (5) - determine who can submit jobs via at or batch
at.deny (5) - determine who can submit jobs via at or batch
btrfs-filesystem (8) - command group of btrfs that usually work on the whole filesystem
docker-trust-signer (1) - Manage entities who can sign Docker images
Font::TTF::Manual (3pm) - Information regarding the whole module set
ipsec_newhostkey (8) - generate a new raw RSA authentication key for a host
ipsec_showhostkey (8) - show host's authentication key
Net::LDAP::Extension::WhoAmI (3pm) - LDAP "Who am I?" Operation
w (1) - Show who is logged on and what they are doing.
who (1) - show who is logged on
who (1p) - display who is on the system
whoami (1) - print effective userid

(9)info命令详解

info:获得帮助信息;语法:info(选项)(参数);

选项:

-d:添加包含info格式帮助文档的目录;
-f:指定要读取的info格式的帮助文档;
-n:指定首先访问的info帮助文件的节点;
-o:输出被选择的节点内容到指定文件。

参数:帮助主题:指定需要获得帮助的主题,可以是指令、函数以及配置文件。

常用快捷键和命令:

快捷键:
?键:它就会显示info的常用快捷键。
N键:显示(相对于本节点的)下一节点的文档内容。
P键:显示(相对于本节点的)前一节点的文档内容。
U键:进入当前命令所在的主题。
M键:敲M键后输入命令的名称就可以查看该命令的帮助文档了。
G键:敲G键后输入主题名称,进入该主题。
L键:回到上一个访问的页面。
SPACE键:向前滚动一页。
BACKUP或DEL键:向后滚动一页。
Q:退出info。 命令:
q 退出 info
n 打开与本 Node 关联的下一个 Node
p 打开与本 Node 关联的前一个 Node
u 打开与本 Node 关联的上一个 Node
l 回到上一次访问的 Node
m或g 选择一个菜单项(Node 的名字)
输入指定菜单的名字后按回车,打开指定菜单项关联的 Node
空格键 下一页(PageDown 也可以,下一页从当前页的最后两行开始算起)
下一个 Node (若当前页在 Node 文档的末尾)
Del 键 上一页(PageUp 也可以,上一页从当前页的开始两行开始算起)
上一个 Node (若当前页 Node 文档的开始) b 或 t 或 Home 文档的开始(b 是 begining 的意思)
e 或 End 文档的末尾(b 是 ending 的意思)
Ctrl-l 刷新当前页,若当前文档显示情况有问题时
Ctrl-g 取消所键入的指令

(10)help命令详解

功能:用于显示shell内部命令的帮助信息。help命令只能显示shell内部的命令帮助信息。而对于外部命令的帮助信息只能使用man或者info命令查看。

语法:help(选项)(参数)

选项:-s:输出短格式的帮助信息。仅包括命令格式。

参数:内部命令:指定需要显示帮助信息的shell内部命令。

[root@node001 tmp]# help shopt
shopt: shopt [-pqsu] [-o] [optname ...]
Set and unset shell options. Change the setting of each shell option OPTNAME. Without any option
arguments, list all shell options with an indication of whether or not each
is set. Options:
-o restrict OPTNAMEs to those defined for use with `set -o'
-p print each shell option with an indication of its status
-q suppress output
-s enable (set) each OPTNAME
-u disable (unset) each OPTNAME Exit Status:
Returns success if OPTNAME is enabled; fails if an invalid option is
given or OPTNAME is disabled.

 以上个人学习笔记,仅供参考!!!

linux中查找(find、locate、which、whereis、grep)命令汇总、帮助命令(man、whatis、apropos、info、help)汇总的更多相关文章

  1. linux中find,locate,whereis,which关系和用法

    主要有find,locate,whereis,which等 1. find是最常用也是最强大的查找命令,它可以查找任何类型的文件. find命令的一般格式为:find <指定目录>< ...

  2. linux中查找命令find、locate、whereis、which、type区别

    linux中查找命令find.locate.whereis.which.type区别 1. find Java代码 find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件.与查询数据库(/ ...

  3. linux中其他搜索命令(locate/which/whereis/grep)

    目录 locate which whereis grep locate 解释 命令名称:locate 命令所在路径:/usr/bin/locate 执行权限:所有用户 功能描述:在文件资料库中查找文件 ...

  4. linux中查找文件属于那个软件包的方法

    一.linux中查找文件属于那个软件包的方法 [root@salt prod]# whereis htpasswdhtpasswd: /usr/bin/htpasswd /usr/share/man/ ...

  5. linux中查找命令find、locate、whereis、which、type的区别

    find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件.与查询数据库(/var/lib/locatedb)文件不同,find查找的是磁盘空间. locate locate命令其实 ...

  6. linux笔记:搜索命令find,locate,which,whereis,grep

    命令名称:find功能:文件搜索命令所在路径:/bin/find用法:find 搜索范围 匹配条件其他:举例:find /root -name initfind /root -size +1024fi ...

  7. Linux中查找文件和文件内容的常用命令

    一.whereis <程序名称> 查找软件的安装路径-b 只查找二进制文件 -m 只查找帮助文件-s 只查找源代码-u 排除指定类型文件-f 只显示文件名-B <目录> 在指定 ...

  8. 如何使用find命令在Linux中查找文件

    Linux Find命令是Linux系统管理员工具库中最强大的工具之一. Find是一个命令行实用程序,它允许您根据用户给定的表达式搜索目录层次结构中的文件和目录,并对每个匹配的文件应用用户指定的操作 ...

  9. linux文件查找工具——locate,find

    一文件查找介绍 文件的查找就是在文件系统上查找符合条件的文件. 文件查找的方式:locate, find非实时查找也就是基于数据库查找的locate,效率特别高. 实时查找:find 二locate ...

随机推荐

  1. 使用java操作elasticsearch(1)

    1.安装elasticsearch 这儿用的是5.6.9的版本,下载安装过程较为简单,在官网上下载好后解压到文件夹.需要注意的是在elasticsearch-5.6.9\config下的elastic ...

  2. Install Superset from Python3.6

    本文安装Superset大致分为以下部分: 在操作系统中安装相关依赖,我所用的操作系统为Centos6.5 安装Python3.6.6 安装Superset 详细步骤如下: 相关依赖的安装 yum i ...

  3. springcloud第七步:fegin客户端调用工具

    什么是Feign Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单.使用Feign,只需要创建一个接口并注解.它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解 ...

  4. 基于token与基于服务器的身份认证

    1.基于服务器的身份认证 我们清楚 http 协议是无状态的,也就是说,如果我们已经认证了一个用户,那么他下一次请求的时候,服务器不知道我是谁,我们就必须要再次认证. 我们与浏览器交互时,比如说登陆成 ...

  5. 使用easyui搭建网页架子

    使用踩坑: 一.弹出框上datagrid第二次加载数据,必须在显示状态,datagrid加载数据才会渲染,否则是空白 $('#xq_selKs').window('open').window('cen ...

  6. 一文讲透静电放电(ESD)保护(转发)

    一直想给大家讲讲ESD的理论,很经典.但是由于理论性太强,任何理论都是一环套一环的,如果你不会画鸡蛋,注定了你就不会画大卫. 先来谈静电放电(ESD: Electrostatic Discharge) ...

  7. 基于Spark自动扩展scikit-learn (spark-sklearn)(转载)

    转载自:https://blog.csdn.net/sunbow0/article/details/50848719 1.基于Spark自动扩展scikit-learn(spark-sklearn)1 ...

  8. TCP 数据传输工具类

    package com.ivchat.test.propertysystem.util; import java.io.BufferedReader;import java.io.ByteArrayO ...

  9. Spring MVC请求流程

    Spring MVC 发起请求到前端控制器DispathServlet 前端控制器请求处理器映射器 handerMapping查找handler 处理器映射器handerMapping像前端控制器返回 ...

  10. java操作JacocClient下载dump文件

    记录瞬间 import org.jacoco.core.data.ExecutionDataWriter; import org.jacoco.core.runtime.RemoteControlRe ...