
正文
linux命令及实例讲解,linux 命令详解
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
linux中grep命令的详细解释
linxu下的grep命令其实是一个搜索文件文本的工具。下面由我为大家整理了linux的grep命令的详细解释的相关知识,希望对大家有帮助!
一、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’等其他的字符串。
‘^’:指匹配的字符串在行首,
‘$’:指匹配的字符串在行 尾,
相关问答
Q1: linux系统基本操作命令 linux下基本命令使用讲解
1、文件与文件夹(目录)操作命令
1)rm:删除命令
例:$ rm -i 文件名-------------有询问“Y/N”; rm -r 文件名 ---------------删除该文件夹和子目录下的所有文件;
例:$ rm -f 文件名------------- 直接删除,不询问
2) mv:移动目录或文件,还可以重命名
例:$ mv text /zzz -------------将text移动到zzz目录下;
例:$ mv text zzz ---------------text重命名为zzz
3) mkdir:创建路径和删除路径,创建目录
例:$ mkdir zzz -------------在当前目录下创建zzz的目录;
例:$ rmdir zzz ---------------删除目录zzz
4) touch :创建空文件
例:$ touch zzz.xx ----------------创建文件名是zzz.xx的文件
5)cat :查看文件内容
例:$ cat zzz.xx -----------------查看文件zzz.xx中的内容
6)tail :监视文件尾部内容,默认10行
例:$ tail -n 20 -f zzz.xx -----------查看文件zzz.xx的尾部20行内容
7)cp :复制
例:$ cp a.xx b -------将a.xx文件复制到b目录(文件夹)下
8)scp :拷贝文件
例:$ scp -i zzz.xx root@192.168.1.35:/xxx/xxxx/ -----------------从一台虚拟机上将文件zzz.xx拷贝到另外一台35的虚拟机的指定目录下;
例:$ scp -r zzz root@192.168.1.35:/xxx/xxxx/ -----------------从一台虚拟机上将文件夹(目录)zzz拷贝到另外一台35的虚拟机的指定目录下
9)chmod :给文件赋权限
例:$ chmod 777 zzz.xx 给zzz.xx文件增加可执行的权限2、查看端口号的命令 : netstat -antpl
3、查看正在执行的进程的命令 : ps -ef
4、强制杀死xxxx该进程的命令 :kill - 9 xxxx
5、配置Java环境变量的命令:
先执行---- vi /etc/profile 配置结束执行------- socrce /etc/profice 然后执行-------cat /etc/profile进行查看,用java -version查看Java版本
6、df -h ----------------是查看磁盘容量的使用情况
必要参数:
-a 全部文件系统列表
-h 方便阅读方式显示
-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024
-i 显示inode信息
-k 区块为1024字节
-l 只显示本地文件系统
-m 区块为1048576字节
--no-sync 忽略 sync 命令
-P 输出格式为POSIX
--sync 在取得磁盘信息前,先执行sync命令
-T 文件系统类型
选择参数:
--block-size=区块大小 指定区块大小
-t文件系统类型 只显示选定文件系统的磁盘信息
-x文件系统类型 不显示选定文件系统的磁盘信息
--help 显示帮助信息
--version 显示版本信息
“df -h”这条命令再熟悉不过。以更易读的方式显示目前磁盘空间和使用情况。
“df -i” 以inode模式来显示磁盘使用情况。
7、网络命令
1)ifconfig :查看用户网络配置。它显示当前网络设备配置。补充:Windows 用的是 ipconfig
2)ping 将数据包发向用户指定地址。当包被接收,目标机器发送返回数据包。ping 主要有两个作用:
用来确认网络连接是畅通的。
用来查看连接的速度信息。
Q2: 实训第二天内容总结(Linux常用命令及使用)
1、目录切换命令
cd usr/ 切换到该目录下usr目录
cd ../ 切换到上一层目录
cd /切换到系统根目录
cd ~ 切换到用户主目录
2、目录操作命令
(1)增加目录
命令:mkdir 目录名称
(2)查看目录
ls [-al] 父目录 ls -l 可以缩写成ll
(3)寻找目录
find 目录 参数(重点)
注意这里涉及权限问题,需要先切换到root目录 su root
(4)修改目录名称
mv 目录名称 新目录名称
(5)拷贝目录
cp -r 被目录名称 目录拷贝的目标位置 -----r代表 递归拷贝
将/usr下的newTest拷贝到根目录下的test中,使用cp -r /usr/newTest test/rm
(6)删除目录
rm [-rf] 目录
删除/usr下的newTest,进入/usr下使用rm -r newTest
3、文件操作命令
(1)文件创建 touch 文件名称 ----- 空文件
(2)文件查看 cat/more/less/tail 文件
(3)修改文件内容 vim 文件
vim 文件------进入文件-----命令模式------按i进入编 辑模式-----编辑文件 -------按Esc进入底行模式----- 输入:wq/q!
(4)删除文件
熟记 rm -rf 文件 即可
4、压缩文件操作命令
(1)tar -zcvf 打包压缩后的文件名 要打包压缩的文件
z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
(2) 解压压缩包(重点)
tar [-xvf] 压缩文件
5、其他命令
(1)显示当前所在位置 pwd
(2)搜索命令 grep 要搜索的字符串 要搜索的文件
(3)管道命令 | 将前一个命令的输出作为本次目录的 输入
(4)查看进程 ps -ef
(5)网络通信命令 查看当前系统的网卡信息:ifconfig
查看与某台机器的连接情况:ping
(6)查看当前系统的端口使用 netstat –an,通常和 | grep一起使用
6、Linux的权限命令
在随意某个目录下ls -l 查看某个目录下的文件或目录 的权限 rwx 读取权 写入权 执行权
这个字符串有10位,可以分为4段来解读
第一段(第1位)表示是目录还是文件,-表示是文件,d表示是目录;
第二段(第2-4位,共3个字符串)表示文件所属用户对它的权限 - 属主权限(User);
第三段(第5-7位,共3个字符串)表示文件所属用户组用户对它的权限 - 属组权限(Group);
第四段(第8-10位,共3个字符串)表示其他用户对它的权限 - 其他权限(other);
注意:①我们用3位8进制来表示文件的权限,r(read)用4标识,w(write)用2标识,x(excute)用1标识
②r–可读,w–可写,x–可执行。
③每一段的三位顺序不可变,如果没有对应的权限,则使用-表示
上图中的-rwxrw-r–可以用八进制数字764表示。
!!!!修改文件/目录的权限的命令:chmod
chmod u=rwx,g=rw,o=r aaa.txt 或者777 代表全部权限
7、 free查看内存信息
df -h 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计
8、top查看资源信息(CPU)
top
补充:
关机命令
reboot 重新启动操作系统
shutdown -h now 立刻关机,其中now相当于时间为0的状态
shutdown -h 10:23
shutdown -h +10 系统再过十分钟后自动关机
Linux命令
目录操作
cd usr/ 切换到该目录下usr目录
cd .. 切换到上一层目录
cd / 切换到系统根目录
mkdir 目录名称 创建目录
ls 目录名称 查询该目录下所有的目录和文件
ls [-a] 目录名称 查询该目录下所有的目录和文件,包含隐藏文件
ls [-l] 目录名称 查询该目录下所有的目录和文件的详细信息
find / -name 目录名称 查找/root下的目录(文件)
mv 目录名称 新目录名称 修改目录名称
mv 目录名称 目录的新位置 剪切
cp -r 目录名称 目录的目标位置 拷贝
rm -rf 目录 强制删除目录
文件操作
touch 文件名称 创建空文件
cat/more/less/tail 文件 查看文件内容
tail -f 文件 动态查看/实时查看文件(日志)
grep 要搜索的字符串 要搜索的文件 关键字搜索
vi/vim 文件 修改文件内容
rm -rf 文件 强制删除文件
文件的打包
tar -zcvf 文件名.tar 要打包的文件
文件的解压
tar -xvf 文件名.tar
扩充:将文件解压到固定位置
tar -xvf 文件名.tar -C 指定解压的位置
查询当前所在位置
pwd
查看进程
ps -ef | grep 进程名称(tomcat/mysql)
杀死进程
kill -9 进程pid
查看端口号
netstat -an | grep 端口号(3306)
查看服务器ip
ifconfig
查看网络是否能正常使用
ping 外网地址 查看是否能访问外网
ping 内网ip 查看是否能访问内网
权限命令
chmod 777 文件 赋权
查看cpu
top
查看磁盘信息
df -h
查看内存信息
free
关机命令
shutdown -h now 立刻关机,其中now相当于时间为0的状态
shutdown -h 10:23
shutdown -h +10 系统再过十分钟后自动关机
重新启动
reboot 重新启动操作系统
Q3: Linux常用命令以及解释
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 信息和内存信息
linux命令及实例讲解的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 命令详解、linux命令及实例讲解的信息别忘了在本站进行查找喔。







