linux中查找(find、locate、which、whereis、grep)命令汇总、帮助命令(man、whatis、apropos、info、help)汇总

(一)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的时候会再次询问你是否真的要进行如此的操作,例:

[[email protected] ~]# 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 命令 ;例:

[[email protected] ~]# which ls
alias ls=‘ls --color=auto‘
/usr/bin/ls

(4)whereis 命令详解

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

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

选项:

-b:只查找二进制文件;
-B<目录>:只在设置的目录下查找二进制文件;
-f:不显示文件名前的路径名称;
-m:只查找说明文件;
-M<目录>:只在设置的目录下查找说明文件;
-s:只查找原始代码文件;
-S<目录>只在设置的目录下查找原始代码文件;
-u:查找不包含指定类型的文件。参数:要查找的二进制程序、源文件和man手册页的指令名
[[email protected] ~]# 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排除指定字符串,例:

[[email protected] tmp]# cat file
match pattern
test 1
wode
ceshi
oooo
hahahha
哈哈哈哈

[[email protected] 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 命令详解

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

[[email protected] tmp]# whatis ls
ls (1p)              - list directory contents
ls (1)               - list directory contents
[[email protected] 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 [配置文件名]

[[email protected] 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内部命令。

[[email protected] 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.

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

原文地址:https://www.cnblogs.com/zxh-xy/p/10764106.html

时间: 2024-08-28 13:46:08

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

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

主要有find,locate,whereis,which等 1. find是最常用也是最强大的查找命令,它可以查找任何类型的文件. find命令的一般格式为:find <指定目录><指定条件><指定动作>,即find pathname -options [-print -exec -ok] 参数解释: pathname:pathname为搜索的目录及其子目录,默认情况下为当前目录 常用的option选项: -name:按文件名来查找文件 -user:按照文件的属主来查找

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

linux中查找命令find.locate.whereis.which.type区别 1. find Java代码 find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件.与查询数据库(/var/lib/locatedb)文件不同,find查找磁盘空间 find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> - <指定目录>: 所要搜索的目录及其所有子目录.默认为当前目录. - <指定条件>: 所要搜索的文件

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

一.linux中查找文件属于那个软件包的方法 [[email protected] prod]# whereis htpasswdhtpasswd: /usr/bin/htpasswd /usr/share/man/man1/htpasswd.1.gz [[email protected] prod]# rpm -qf /usr/bin/htpasswdhttpd-tools-2.4.6-80.el7.centos.x86_64 原文地址:https://www.cnblogs.com/nuli

&nbsp; &nbsp; linux 中的文本处理工具,grep,egrep

一:grep与egrep简介:                    grep与egrep是在linux中对linux文本搜索用的比较多的一个工具.它结合正则表达式实现与模型匹配的行. 二:语法格式: grep [option]... 'PATTERN' FILE... 支持基本正则表达式                  egrep [option]... 'PATTERN' FILE...支持扩展正则表达式                  [option]常用的主要有:          

linux中ls、ls -l、ls -al、ll命令

ls只是简单的列出目录下文件名,ll更加详细的列出了文件的类型.文件所有者权限.文件所有者组权限.文件大小.文件最后修改时间,etc... 我们可以用一个简单的图来说明,如下图1: 图1 1.第一位就"-",表示普通文件. 2.rw- ,表示文件所有者对Text.txt文件有读.写权限,(x位置为"-"表示没有执行权限) 3.rw- ,表示文件所有者所在组对Text.txt文件有读.写权限,(x位置为"-"表示没有执行权限) 4.r--  ,表示

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

命令名称:find功能:文件搜索命令所在路径:/bin/find用法:find 搜索范围 匹配条件其他:举例:find /root -name initfind /root -size +1024find /root -user dashenfind /root -group yizufind /root -cmin -5find /root -size +1024 -a -size -2048find /root -type ffind /root -inum 1234find /root -

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

一.whereis <程序名称> 查找软件的安装路径-b 只查找二进制文件 -m 只查找帮助文件-s 只查找源代码-u 排除指定类型文件-f 只显示文件名-B <目录> 在指定目录下查找二进制文件-M <目录> 在指定目录下查找帮助文件-S <目录> 在指定目录下查找源代码 二.locate <文件名称>在文件索引数据库中搜索文件-d <数据库路径> 搜索指定数据库updatedb更新文件索引数据库 三.find [路径] <表

Linux中查找帮助文档的几种方法

初学Linux,看到了关于查看命令帮助的几种方法,觉得有用故记录与此,以备不时之需,也希望能帮到他人.刚学,如有不对之处,还请各位前辈不令赐教. 一.help COMMAND -->shell的内嵌命令可以用此命令. 二.COMMAND --help -->命令自带的普通格式的使用帮助 三.使用手册:man [options] COMMAND  -->使用手册在man命令里面主要有以下几个选项:NAME:功能性说明,SYNOPSIS:语法格式(很重要),DESCRIPTION:描述,OP

Linux中查找最耗性能的JAVA代码

在这里总结一下查找Linux.Java环境下最耗CPU性能的代码段的方法.基本上原理就是使用top命令查看最耗cpu的进程和线程(子进程).使用jstack把java线程堆栈给dump下来.然后,在堆栈信息中查找出对应的代码块.具体操作如下: 一.查找最耗cpu的进程 执行:top 输出: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 12789 root 20 0 3320m 689m 10m S 120.5 8.8 15430:4