(一)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程序如何正确的打日志

    什么是日志 简单的说,日志就是记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题. 我们 Java 程序员在开发项目时都是依赖 Eclipse/ Idea 等开发工具的 Debug 调试功能 ...

  2. mysql 查询 最大值,最小值,第二大,第三大 一共四个值

    最大值:select max(num) from table 第二大值:select max(num) from tablewhere num not in(select max(num) from ...

  3. war 包tomcat部署和maven的tomcat插件部署的不同

    不用插件 1在linux服务器上下载号tomcat 或者上传tomcat 2上传war包,最好创建一个目录房war包,和tomcat 3解压war包,jar -xvf war   或者unzip wa ...

  4. 20175313 张黎仙《Java程序设计》第九周学习总结

    目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ...

  5. DCDC参数测量及方法

    此文章目的为补充知识,防止遗忘,记录DCDC相关的. 1.拿到一颗DCDC芯片应该测试哪些参数:纹波.电源效率和动态响应. 1)纹波测量方法:示波器偶合方式选择AC:示波器探头的接地也不能用鳄鱼夹,这 ...

  6. Virtual Memory is deprecated in Redis 2.4

    在读一个源码的讲解的文章时或者读一本关于某个技术的数据集时,可能书籍的讲解是滞后的,就是没有更上最新的代码,那么就要注意了WARNING! Virtual Memory is deprecated i ...

  7. egg.js异步请求数据

    之前已经简单的使用egg-init初始化项目,并创建控制器controller和服务service 在实际项目中, service主要负责数据的请求,并处理(http请求) controll主要负责获 ...

  8. C#中的反射 Reflection

    起初是因为这个4.0才新增的新的引用类型,我当时很惊讶为什么string和int他都能装,然后我就发在了群里,以为大佬告诉我他的内部实现是通过反射来实现的,于是我就去看反射了,看了网上的好多篇文章大篇 ...

  9. Selenium Edge Driver Python 自动化测试

    Finally I got it. 没有自动化过edge,今天被小坑了一下,但是还好现在弄好了. 1. 查看edge 版本,我的是14.14393 2. https://developer.micro ...

  10. Linux Centos 删除除某(多)个文件之外的所有文件

    好久没有写东西了.通常我们通过rm -rf  *可以直接强制删除当前文件夹里面的所有内容,但是有些时候我们需要保留一些文件,就比如,网站转移更新需要保留程序压缩包等就需要用到在linux centos ...