linux中查找(findlocatewhichwhereisgrep)命令汇总帮助命令(manwhatisaproposinfohelp)汇总(代码片段)

zxh-xy zxh-xy     2022-11-30     624

关键词:

(一)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.

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

 

linux目录下所有文件中查找内容

find./-name'*'|xargsgrep'9-25' 查看详情

linux中find命令用法全汇总,看完就没有不会用的!

...-04-10  糖豆贴心提醒,本文阅读时间7分钟Linux 查找命令是Linux系统中最重要和最常用的命令之一。查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令。查找可以在各种条件下使用,您可以... 查看详情

在linux中查找字符串用啥命令

Linux查找字符串用grep命令,可以查找文件,也可以在命令的结果中查找。如果是在文件中查找字符串,用法是:grep用英文单引号括起来的字符串文件名如果是在命令的显示结果中查找,需要用管道符将命令与grep连接起来,像这... 查看详情

在 Linux 中查找目录的创建日期

】在Linux中查找目录的创建日期【英文标题】:FindcreationdateofadirectoryinLinux【发布时间】:2022-01-2312:48:54【问题描述】:我想知道如何在linux中找到目录的创建日期。我尝试了debugfsstats,但对我不起作用并且显示以下错误:尝试从... 查看详情

sh在linux中查找平均文件大小(代码片段)

查看详情

linux目录下所有文件中查找内容(代码片段)

find./-name'*'|xargsgrep'9-25' 查看详情

linux目录下所有文件中查找内容(代码片段)

find./-name'*'|xargsgrep'9-25' 查看详情

以编程方式在 Linux 中查找文件类型

】以编程方式在Linux中查找文件类型【英文标题】:FindingfiletypeinLinuxprogrammatically【发布时间】:2013-01-2009:28:31【问题描述】:我正在尝试查找.pdf、.doc、.docx等文件的文件类型,但以编程方式不使用shell命令。实际上我必须制作... 查看详情

linux命令在文件中根据命令查找

find.-typef-name"*.tmp"|xargsgrep-ri"2016-08-3004:00:00|2016-08-3005:00:00"-l  //在当前目录以下,在*.tmp所有文件中查找内容为“2016-08-3004:00:00|2016-08-3005:00:00”的匹配数据 查看详情

在 C (Linux) 中查找虚拟网络接口

】在C(Linux)中查找虚拟网络接口【英文标题】:FindVirtualNetworkInterfacesinC(Linux)【发布时间】:2019-08-1909:24:37【问题描述】:我试图在C代码中找到一种方法来区分网络接口是虚拟的还是物理的。我在想检查一下网络接口是否映射到... 查看详情

linux系统下,在文件中查找某个字符串

在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。Vim查找支持正则表达式,例如/vim$匹配行尾的"vim"。需要查找特殊字符需要转义,例如/vim\$... 查看详情

使用 sed 在 linux 中查找以开头并替换的行 [重复]

】使用sed在linux中查找以开头并替换的行[重复]【英文标题】:Findlinestartswithandreplaceinlinuxusingsed[duplicate]【发布时间】:2018-10-0902:03:36【问题描述】:如何查找行开头并替换完整行?文件输出:xyzabc/dev/linux-test1/代码:output=/dev/sda... 查看详情

如何在 Linux 中查找进程 ID 打开的端口?

】如何在Linux中查找进程ID打开的端口?【英文标题】:HowtofindportsopenedbyprocessIDinLinux?【发布时间】:2010-10-3021:06:50【问题描述】:假设进程的PID已知【问题讨论】:这个问题不应该在serverfault.com上问吗?【参考方案1】:netstat--a... 查看详情

如何在linux中查找包含字符串的行[关闭]

】如何在linux中查找包含字符串的行[关闭]【英文标题】:Howtofindlinescontainingastringinlinux[closed]【发布时间】:2012-08-0114:53:51【问题描述】:我在Linux中有一个文件,我想在该文件中显示包含特定字符串的行,该怎么做?【问题讨... 查看详情

markdown在linux中查找文件的文件和内容(代码片段)

查看详情

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

 一、linux中查找文件属于那个软件包的方法[[email protected]prod]#whereishtpasswdhtpasswd:/usr/bin/htpasswd/usr/share/man/man1/htpasswd.1.gz[[email protected]prod]#rpm-qf/usr/bin/htpasswdhttpd-tools-2.4.6 查看详情

linux常见命令整理

一、文件管理1、文件查找findfind[查找目录][查找条件]查找目录.:表示当前目录以及子目录中进行查找、A:在目录A及A的子目录中进行查找查找条件-name:根据文件名查-regex:正则表达式匹配-size:按大小查找实例:1、find.–name*.cpp &... 查看详情

linux中find命令用法全汇总,看完就没有不会用的!

Linux查找命令是Linux系统中最重要和最常用的命令之一。查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令。查找可以在各种条件下使用,您可以通过权限,用户,组,文件类型,日期,大小等可能... 查看详情