linxu下的grep命令其实是一个搜索文件文本的工具。下面由我为大家整理了linux的grep命令的详细解释的相关知识,希望对大家有帮助!
创新互联建站是一家专注于成都网站制作、做网站与策划设计,昆明网站建设哪家好?创新互联建站做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:昆明等地区。昆明做网站价格咨询:18980820575
一、linux中的grep命令的详细解释
1.作用
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
2.格式
grep [options]
3.主要参数
[options]主要参数:
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\:从匹配正则表达 式的行开始。
\:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的单个字符。
* :有字符,长度可以为0。
二、linux中的grep命令的详解实例
1.grep命令使用简单实例
$ grep ‘test’ d*
显示所有以d开头的文件中包含 test的行。
$ grep ‘test’ aa bb cc
显示在aa,bb,cc文件中匹配test的行。
$ grep ‘[a-z]\{5\}’ aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
$ grep ‘w\(es\)t.*\1′ aa
如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着 另外一个es(\1),找到就显示该行。如果用egrep或grep -E,就不用”\”号进行转义,直接写成’w(es)t.*\1′就可以了。
2.grep命令使用复杂实例
假设您正在’/usr/src/Linux/Doc’目录下搜索带字符 串’magic’的文件:
$ grep magic /usr/src/Linux/Doc/*
sysrq.txt:* How do I enable the magic SysRQ key?
sysrq.txt:* How do I use the magic SysRQ key?
其中文件’sysrp.txt’包含该字符串,讨论的是 SysRQ 的功能。
默认情况下,’grep’只搜索当前目录。如果 此目录下有许多子目录,’grep’会以如下形式列出:
grep: sound: Is a directory
这可能会使’grep’ 的输出难于阅读。这里有两种解决的办法:
明确要求搜索子目录:grep -r
或忽略子目录:grep -d skip
如果有很多 输出时,您可以通过管道将其转到’less’上阅读:
$ grep magic /usr/src/Linux/Documentation/* | less
这样,您就可以更方便地阅读。
有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用 *)。如果您忘了,’grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 CTRL c ,然后再试。
下面还有一些有意思的命令行参数:
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
grep -n pattern files 即可显示行号信息
grep -c pattern files 即可查找总行数
这里还有些用于搜索的特殊符号:
\ 和 \ 分别标注单词的开始与结尾。
例如:
grep man * 会匹配 ‘Batman’、’manic’、’man’等,
grep ‘\man’ * 匹配’manic’和’man’,但不是’Batman’,
grep ‘\man\’ 只匹配’man’,而不是’Batman’或’manic’等其他的字符串。
‘^’:指匹配的字符串在行首,
‘$’:指匹配的字符串在行 尾,
1.cd/home/fleety/Diagserver/log
cd到指定的目录
2.tail -f day.log
实时读取指定目录下的日志(一直中,不停止)
3.grep -a 'mdtId' day.log 或 grep -v 'mdtid' day.log
指定条件下查找mdtid文件的记录
4.tar -zcvf day.log.tgz day.log 或 tar -zcvf day.log.tgz
分别是四个参数
x : 从 tar 包中把文件提取出来
z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压
v : 显示详细信息
f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz
5.mkdir -p/home/fkeety/Diagserver/log
在home下建一个fleeety的子目录,在fleety下建一个DiagServer的子目录,在DiagServer建一个log的子目录
6.mv day.log day.log.bak
mv,移动文件到另一个文件,备份
7.rm -rf day.log
删除这个文件
8.vi day.log
打开或新建day.log文件,并将光标置于第一行首
9.pwd
显示工作目录
10. In -s aa bb
为bb文件在aa文件上建立一个同步的链接
11.unzip day.log.zip
解压到当前目录下
12. find/home/fleety/Diagserver -name ' zwyc' -print**
查找名称为XXX的内容并打印
13.ssh -l root 180.168.34.250 -p 9222
root权限连接主机,端口是9222
14.telnet 192.168.0.22 23
建立远程tcp连接
15. sed -n '100.2720p'1159857_20150506_2159857_20150506_2_2
将字符串'100,2720p' 写入文件15..._2文件里 并重定向到15..._2_2文件里
16.chmod fleety.fleety aaa
给fleety.fleety设置权限
17.chown 755 aaa
给aaa 添加
7 拥有者有 读取,写入,执行权限
7 组用户有 读取,写入,执行权限
5 其他用户有 读取,执行权限
18.cp -r /home/fleety/Diagserve/log ./
将log文件下的所有内容 复制到当前目录下
19.ftp 192.168.0.218 21
ftp模式连接远程主机 ,服务器会询问用户名和密码
20.more day.log
查看day.log日志,分页形式打开, more 一页页显示文件内容 空白键下一页 b键上一页
21.ps -ef
查看系统进程
22.top
主要用于查看进程的相关信息,同时它也会提供系统平均负载,cpu 信息和内存信息
ls会列举出当前工作目录的内容(文件或文件夹)。
mkdir 用于新建一个新目录
显示当前工作目录
切换文件路径,cd 将给定的文件夹(或目录)设置成当前工作目录。
删除给定的目录。
rm 会删除给定的文件
cp 命令对文件进行复制
mv 命令对文件或文件夹进行移动,如果文件或文件夹存在于当前工作目录,还可以对文件或文件夹进行重命名。
cat 用于在标准输出(监控器或屏幕)上查看文件内容
ail 默认在标准输出上显示给定文件的最后10行内容,可以使用tail -n N 指定在标准输出上显示文件的最后N行内容。
less 按页或按窗口打印文件内容。在查看包含大量文本数据的大文件时是非常有用和高效的。你可以使用Ctrl+F向前翻页,Ctrl+B向后翻页。
grep 在给定的文件中搜寻指定的字符串。grep -i “” 在搜寻时会忽略字符串的大小写,而grep -r “” 则会在当前工作目录的文件中递归搜寻指定的字符串。
这个命令会在给定位置搜寻与条件匹配的文件。你可以使用find -name 的-name选项来进行区分大小写的搜寻,find -iname 来进行不区分大小写的搜寻。
tar命令能创建、查看和提取tar压缩文件。tar -cvf 是创建对应压缩文件,tar -tvf 来查看对应压缩文件,tar -xvf 来提取对应压缩文件。
gzip 命令创建和提取gzip压缩文件,还可以用gzip -d 来提取压缩文件。
unzip 对gzip文档进行解压。在解压之前,可以使用unzip -l 命令查看文件内容。
help会在终端列出所有可用的命令,可以使用任何命令的-h或-help选项来查看该命令的具体用法。图就省略啦,会有详细列表显示出来的。
whatis 会用单行来描述给定的命令,就是解释当前命令。
exit用于结束当前的终端会话。
ping 通过发送数据包ping远程主机(服务器),常用与检测网络连接和服务器状态。
who能列出当前登录的用户名。
su 用于切换不同的用户。即使没有使用密码,超级用户也能切换到其它用户。
uname会显示出关于系统的重要信息,如内核名称、主机名、内核版本、处理机类型等等,使用uname -a可以查看所有信息。
df查看文件系统中磁盘的使用情况–硬盘已用和可用的存储空间以及其它存储设备。你可以使用df -h将结果以人类可读的方式显示。
ps显示系统的运行进程。
top命令会默认按照CPU的占用情况,显示占用量较大的进程,可以使用top -u 查看某个用户的CPU使用排名情况。
shutdown用于关闭计算机,而shutdown -r用于重启计算机。这个我就不试了......