Unix命令PS用法
- 格式:docx
- 大小:16.68 KB
- 文档页数:8
ps命令查看系统进程、exec替换进程、fork创建⼦进程1、使⽤ps命令查看系统正在运⾏的进程ps --help:查看ps的参数。
ps -aux:表⽰显⽰包含其他使⽤者的进程。
USER:进程拥有者 PID:进程ID %CPU:CPU占⽤率 %MEM:内存占⽤率 TIME:进程⽬前为⽌所占⽤的CPU时间 COMMAND:启动进程所使⽤的命令 STAT:进程的状态。
S静⽌状态;s包含⼦进程;+位于后台的进程组; R正在运⾏;S处于休眠;D不可中断;T停⽌或被追踪;Z僵⼫进程。
ps -ef:可以查看PPID,PPID表⽰进程的⽗进程ID。
2、使⽤exec系列函数替换进程映像 引⽤库:include<unistd.h> exec可以把当前进程替换为⼀个新进程,新进程由path或file参数指定。
使⽤exec函数将程序的执⾏从⼀个程序切换到另⼀个程序,新的程序启动后,原来的程序就不再运⾏了。
⼀般结合fork使⽤。
int exec(const *path,const char *arg0,....,(char*)0); int execlp(const *file,const char *arg0,....,(char*)0); ....---函数名字包含“p”的:接受程序名作为参数,在当前执⾏路径中按程序名查找,不包含字母“p”的,必须提供程序的完整路径。
---函数名字包含“v”的:接受以NULL结尾的字符串数组格式的参数列表。
---函数名字包含“l"的:接受C格式的可变参数列表。
---函数名字包含“e”的:接受⼀个附加的环境参数列表,参数格式为NULL结尾的字符串,且字符串的格式为“VARIABLE=value”eg:1 #include<unistd.h>2 #include<stdio.h>3 #include<stdlib.h>4int main(){5 printf("Running ps with execlp \n");6 execlp("ps","ps","-aux",NULL);7 printf("Done.\n");8 exit(0);9 }输⼊g++ -o execlp编译程序(安装g++,请翻看往期博客)若编译成功,输⼊ ./execlp 执⾏程序执⾏结果: 程序⾸先打印出它的第⼀条信息 Running ps with execlp。
Unix命令1. 简介Unix是一个多用户、多任务操作系统,因其稳定性、安全性和可靠性而广泛应用于服务器和工作站环境中。
Unix系统提供了丰富的命令行工具,这些工具可以通过命令行终端或shell程序来调用和使用。
本文档将介绍Unix系统中常用的一些命令,涵盖文件和目录操作、进程管理、系统监控等方面。
2. 文件和目录操作2.1 lsls命令用于列出目录下的文件和子目录。
常用选项包括:•-l:以长格式显示文件和目录的详细信息•-a:显示所有文件和目录,包括隐藏文件•-h:以人类可读的格式显示文件大小例如,执行ls -l命令可以列出当前目录下的所有文件和子目录,并显示详细信息。
2.2 cdcd命令用于切换当前工作目录。
可以使用绝对路径或相对路径作为参数。
例如,执行cd /home/user可以切换到/home/user目录。
执行cd ..可以返回上一级目录。
2.3 cpcp命令用于复制文件或目录。
常用选项包括:•-r:递归复制目录及其内容•-i:覆盖已存在的文件时进行提示例如,执行cp file1 file2可以复制file1到file2。
2.4 mvmv命令用于移动文件或目录,也可用于重命名文件或目录。
例如,执行mvfile1 file2可以将file1重命名为file2。
2.5 rmrm命令用于删除文件或目录。
常用选项包括:•-r:递归删除目录及其内容•-f:强制删除,无需确认例如,执行rm file1可以删除file1。
3. 进程管理3.1 psps命令用于列出系统中运行的进程。
常用选项包括:•-e:显示所有进程,包括系统级进程•-f:显示详细信息,包括进程间的关系例如,执行ps -e可以列出系统中所有进程的信息。
3.2 toptop命令用于实时监测系统中的进程。
它可以显示当前资源使用情况和每个进程的详细信息,如CPU使用率、内存使用量等。
按下q键可以退出top命令。
3.3 killkill命令用于终止指定的进程。
进程管理技巧使用psps命令行工具列出了正在运行的进程。
该工具存在于所有的 UNIX 变种中,并且大体上都按相同的基本方式工作,即向内核请求正在运行的进程列表,然后报告进程列表及其属性,如内存使用情况、运行时间和其他详细信息。
ps工具实际上是一个非常强大的工具,尽管许多管理员可能仅使用可用选项中的某一两项来查看所需的信息。
可以利用内置命令行选项从命令中获取更多的信息,甚至可以将ps通过管道与其他命令结合起来,以获取所需的准确信息。
列出所有进程即使是以 root 身份登录,ps的标准输出也只列出了您所运行的进程。
根据您的UNIX 环境是基于 BSD 或者 AT&T,SysV UNIX 基础部分对用来获取系统中其他进程信息的基本命令行选项做出相应的变动,或者改变所显示的信息。
在基于BSD 的 UNIX 环境中,输出包括进程 ID、终端、状态、时间(在 CPU 中的执行时间,单位为秒,而不是进程开始运行的时间),以及所执行的命令,如清单 1所示。
清单 1 列出 BSD UNIX 变种上的进程$ psPID TT STAT TIME COMMAND391 p5 S 0:00.24 /bin/bash9165 p5 S+ 0:00.50 emacs476 p6 S 0:01.03 /bin/bash9299 p6 S 0:00.09 xterm9319 p6 S 0:00.07 xterm9423 p6 S 0:00.12 ftp atuin9513 p6 R+ 0:00.01 ps9301 p7 Ss+ 0:00.01 /usr/X11R6/bin/luit9302 p8 Ss+ 0:00.03 bash9321 p9 Ss+ 0:00.01 /usr/X11R6/bin/luit9322 pa Ss+ 0:00.02 bash在 SVR4 环境中,所提供的列较少(您得不到进程状态信息),如下面的清单 2所示。
Linux中的命令ps(ps-aux)ps 为我们提供了进程的⼀次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该⽤ top ⼯具。
kill ⽤于杀死进程。
ps命令最常⽤的还是⽤于监控后台进程的⼯作情况,因为后台进程是不和屏幕键盘这些标准输⼊/输出设备进⾏通信的,所以如果需要检测其情况,便可以使⽤ps命令了。
1、ps命令 使⽤权限:所有使⽤者 使⽤⽅式: ps [-aAcdefHjlmNVwy][acefghLnrsSTuvxX][-C <指令名称>][-g <群组名称>] [-G <群组识别码>][-p <进程识别码>][p <进程识别码>][-s <阶段作业>] [-t <终端机编号>][t <终端机编号>][-u <⽤户识别码>][-U <⽤户识别码>] [U <⽤户名称>][-<进程识别码>][--cols <每列字符数>] [--columns <每列字符数>][--cumulative][--deselect][--forest] [--headers][--help][-- info][--lines <显⽰列数>][--no-headers] [--group <群组名称>][-Group <群组识别码>][--pid <进程识别码>] [--rows <显⽰列数>][--sid <阶段作业>][--tty <终端机编号>] [--user <⽤户名称>][--User <⽤户识别码>][--version] [--width <每列字符数>] 说明:显⽰瞬间进程 (process) 的动态参数说明: -a 显⽰所有终端机下执⾏的进程,除了阶段作业领导者之外。
ps命令Linux中的ps命令是Process Status的缩写。
ps命令用来列出系统中当前运行的那些进程。
ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps 命令就是最基本同时也是非常强大的进程查看命令。
使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。
总之大部分信息都是可以通过执行该命令得到的。
ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用top 工具。
kill 命令用于杀死进程。
linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) ps工具标识进程的5种状态码: D 不可中断uninterruptible sleep (usually IO) R 运行runnable (on run queue) S 中断sleeping T 停止traced or stopped Z 僵死a defunct (”zombie”) process 1.命令格式:ps[参数]2.命令功能:用来显示当前进程的状态3.命令参数:a 显示所有进程-a 显示同一终端下的所有程序-A 显示所有进程c 显示进程的真实名称-N 反向选择-e 等于“-A”e 显示环境变量f 显示程序间的关系-H 显示树状结构r 显示当前终端的进程T 显示当前终端的所有程序u 指定用户的所有进程-au 显示较详细的资讯-aux 显示所有包含其他使用者的行程-C<命令> 列出指定命令的状况--lines<行数> 每页显示的行数--width<字符数> 每页显示的字符数--help 显示帮助信息--version 显示版本显示4.使用实例:实例1:显示所有进程信息命令:ps -A输出:[root@localhost test6]# ps -A PID TTY TIME CMD 1 ?00:00:00 init 2 ? 00:00:01 migration/0 3 ? 00:00:00 ksoftirqd/0 4 ? 00:00:01 migration/15 ? 00:00:00 ksoftirqd/16 ? 00:29:57 events/0 7 ? 00:00:00 events/18 ?00:00:00 khelper 49 ? 00:00:00 kthread 54 ? 00:00:00 kblockd/0 55 ? 00:00:00 kblockd/1 56 ? 00:00:00 kacpid 217 ? 00:00:00 cqueue/0 ……省略部分结果说明:实例2:显示指定用户信息命令:ps -u root 输出:[root@localhost test6]# ps -u root PID TTYTIME CMD 1 ? 00:00:00 init 2 ?00:00:01 migration/0 3 ? 00:00:00 ksoftirqd/04 ? 00:00:01 migration/15 ? 00:00:00 ksoftirqd/16 ? 00:29:57 events/0 7 ?00:00:00 events/1 8 ? 00:00:00 khelper 49 ? 00:00:00 kthread 54 ? 00:00:00 kblockd/0 55 ? 00:00:00 kblockd/1 56 ? 00:00:00 kacpid ……省略部分结果说明:实例3:显示所有进程信息,连同命令行命令:ps -ef输出:[root@localhost test6]# ps -efUIDPID PPID C STIME TTY TIME CMDroot1 0 0 Nov02 ? 00:00:00 init [3]root 2 1 0 Nov02 ? 00:00:01 [migration/0]root 3 1 0 Nov02 ?00:00:00 [ksoftirqd/0]root 4 1 0 Nov02 ? 00:00:01 [migration/1]root 5 1 0 Nov02 ? 00:00:00 [ksoftirqd/1]root 6 1 0 Nov02 ? 00:29:57 [events/0]root 7 1 0 Nov02 ?00:00:00 [events/1]root 8 1 0 Nov02 ?00:00:00 [khelper]root 49 1 0 Nov02 ?00:00:00 [kthread]root 54 49 0 Nov02 ?00:00:00 [kblockd/0]root 55 49 0 Nov02 ? 00:00:00 [kblockd/1]root 56 49 0 Nov02 ?00:00:00 [kacpid]……省略部分结果说明:实例4:ps 与grep 常用组合用法,查找特定进程命令:ps -ef|grep ssh输出:[root@localhost test6]# ps -ef|grep sshroot 2720 10 Nov02 ? 00:00:00 /usr/sbin/sshdroot 17394 2720 0 14:58 ? 00:00:00 sshd: root@pts/0 root 17465 17398 0 15:57 pts/0 00:00:00 grep ssh说明:实例5:将目前属于您自己这次登入的PID 与相关信息列示出来命令:ps -l输出:[root@localhost test6]# ps -lF S UIDPID PPID C PRI NI ADDR SZ WCHAN TTYTIME CMD4 S 0 17398 17394 0 75 0 - 16543 wait pts/0 00:00:00 bash4 R 0 17469 17398 0 77 0 - 15877 - pts/0 00:00:00 ps说明:各相关信息的意义:F 代表这个程序的旗标(flag),4 代表使用者为super userS 代表这个程序的状态(STAT),关于各STAT 的意义将在内文介绍UID 程序被该UID 所拥有PID 就是这个程序的ID !PPID 则是其上级父程序的IDC CPU 使用的资源百分比PRI 这个是Priority (优先执行序) 的缩写,详细后面介绍NI 这个是Nice 值,在下一小节我们会持续介绍ADDR 这个是kernel function,指出该程序在内存的那个部分。
linux的ps命令用法
Linux的ps命令是一个常用的系统监控工具,可以用来查看当前系统中运行的进程情况。
使用ps命令可以快速获取进程的PID、状态、进程名、占用CPU和内存的情况等信息。
1. 命令格式
ps [选项]
2. 常用选项
-a:显示所有进程,包括其他用户的进程
-u:显示进程的详细信息,包括用户和CPU占用情况
-x:显示没有控制终端的进程
-e:显示系统中所有的进程
-f:显示进程的全格式信息
3. 常用命令
ps aux:显示所有进程的详细信息,包括用户、CPU占用情况、进程名等
ps -ef:显示所有进程的全格式信息
ps -e -o pid,ppid,cmd:显示所有进程的PID、父进程PID和命令名
4. 实例
ps aux | grep ssh:查看ssh进程的情况
ps -ef | grep apache:查看所有apache进程的详细信息
ps -e -o pid,ppid,cmd | grep nginx:查看所有nginx进程的
PID、父进程PID和命令名
以上是关于Linux的ps命令用法的简单介绍。
熟练掌握ps命令的使用,可以帮助我们更好地管理和监控系统中的进程,提升系统的稳定性和安全性。
ps命令的概念和作用PS命令的概念和作用什么是PS命令•PS命令是Unix和类Unix操作系统中的一个强大命令行工具,用于显示当前系统中运行的进程。
•PS全称为Process Status(进程状态),通过PS命令可以查看系统中的进程信息,包括进程ID(PID)、进程状态、运行时间、占用资源等。
PS命令的作用PS命令主要有以下几个作用:1.查看系统中的进程:PS命令可以列出当前系统中的所有进程,以及它们的相关信息,如进程ID、进程状态、占用的CPU与内存等。
2.定位系统资源消耗较高的进程:通过PS命令的输出信息,可以快速找出系统中消耗资源较高的进程,从而进行进一步调优或处理。
3.控制与管理进程:PS命令不仅可以查看进程信息,还可以与其他进程管理命令配合使用,如kill命令,通过kill命令可以终止某一特定进程。
4.应用于脚本编写:可以在shell脚本中使用PS命令,结合其他命令,实现进程的监控、自动重启等操作。
PS命令的常用参数PS命令有很多参数可选,常见的参数有以下几种:•-e:显示系统中所有的进程。
•-f:显示进程的详细信息,包括进程的父进程、CPU占用、内存占用等。
•-l:显示更加详细的进程信息,如进程的用户、进程的开始时间、执行命令的完整路径等。
•-u:按用户来显示进程信息,只显示指定用户的进程。
•-p:指定进程ID,仅显示指定的进程信息。
PS命令的示例用法以下是一些常见的PS命令的示例用法:1.显示系统中所有的进程:ps -e2.显示进程的详细信息:ps -f3.显示更加详细的进程信息:ps -l4.显示某一特定用户的进程信息:ps -u username5.显示指定进程的信息:ps -p processID总结通过PS命令,我们可以方便地了解系统中的进程信息,并且可以根据需要进行进一步的管理和操作。
掌握PS命令的使用方法,对于系统管理员和开发人员来说都是非常重要的技能。
希望本文对于理解PS 命令的概念和作用有所帮助。
linux中ps命令的作用ps命令是Linux操作系统中用于查看及管理进程的一个重要工具,它可以把当前系统中运行的每个进程列出来,可以使用ps命令查看、分析系统运行情况,甚至终止无效的进程。
ps命令的完整名称是process status,即进程状态的简称。
ps根据其输出的伪终端数据的字段,可以获得详细的进程信息。
ps命令的格式为:ps [选项...] [参数...]ps命令有几种参数可以使用:-a 选项,它会输出所有的进程信息,包括运行在其他用户的终端的程序。
-f 选项,它会输出树状结构图,用于显示进程间的父子关系,以及每一进程的状态码。
-s 选项,它会输出过滤信息,如PID,父子进程号,任务的特权级等。
-o 选项,它允许更改ps输出的默认标题数据格式。
-p 选项,它允许指定需要查看的进程的进程ID(PID),可以指定多个PID的查询,PID可以用逗号隔开。
-w 选项,它会扩展ps输出的进程信息,确保所有输出的内容都能被显示出来。
-l 选项,它会输出每个进程的长格式信息,包括进程优先级、根进程号等信息。
除此之外,ps还支持很多参数,如-T参数显示时间轴;-C参数显示每个进程的CPU使用等。
使用ps,除了可以查看当前系统正在运行的程序,还可以用来终止无效的程序。
使用“kill”命令以及前面提到的“ps”命令可以协同工作,用以终止无效的进程。
使用ps查看当前运行的进程,然后把进程ID作为参数,使用kill命令来终止该进程,kill命令格式为:kill PID,其中PID是要终止进程的进程ID。
综上,ps命令是一个重要的工具,可以用来查看当前系统上运行的所有进程,从而帮助我们管理和优化系统的性能。
linux的ps指令用法例子`ps` 是一个用于显示当前进程状态的命令。
它在Linux 和类Unix系统上广泛使用。
以下是一些常见的`ps` 命令用法和例子:1. 显示当前用户的所有进程信息:```bashps```2. 显示所有进程信息(与当前用户关联):```bashps -e```3. 以全格式显示当前用户的所有进程信息:```bashps -f```4. 以详细格式显示所有进程信息:```bashps aux```5. 显示特定进程的信息(使用进程ID):```bashps -p <PID>```6. 按照CPU 使用情况排序显示进程信息:```bashps aux --sort=-%cpu```7. 显示进程树:```bashps auxf```8. 显示进程及其子进程的树形结构:```bashps aux --forest```9. 仅显示进程ID和进程名:```bashps -eo pid,cmd```10. 通过进程名过滤显示进程信息:```bashps aux | grep <process_name>```11. 显示指定用户的进程信息:```bashps -u <username>```12. 显示进程的内存使用情况:```bashps aux --sort=-%mem```这只是`ps` 命令的一些基本用法和例子。
`ps` 命令有很多选项,你可以根据具体需求使用不同的选项来获取所需的进程信息。
要查看所有可用选项和更多详细信息,可以查看`ps` 命令的手册页,使用以下命令:```bashman ps```。
1. ps简介
前面介绍的两个命令都是用于查看当前系统用户的情况,下面就来看看进程的情况,这也是本章的主题。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本
同时也是非常强大的进程查看命令。
使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、
进程有没有僵死、哪些进程占用了过多的资源等等。
总之大部分信息都是可以通过执行该命令得到的。
2. ps命令及其参数
ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设
备进行通信的,所以如果需要检测其情况,便可以使用ps命令了。
该命令语法格式如下:
ps [选项]
下面对命令选项进行说明:
-e 显示所有进程。
-f 全格式。
-h 不显示标题。
-l 长格式。
-w 宽输出。
a 显示终端上的所有进程,包括其他用户的进程。
r 只显示正在运行的进程。
x 显示没有控制终端的进程。
O[+|-] k1 [,[+|-] k2 [,…]] 根据SHORT KEYS、k1、k2中快捷键指定的多级排序顺序显示进程列表。
对于ps的不同格式都存在着默认的顺序指定。
这些默认顺序可以被用户的指定所覆盖。
其中“+”字符是可选
的,“-”字符是倒转指定键的方向。
pids 只列出付ń?痰那榭觥8鹘?蘄D之间使用逗号分隔。
该进程列表必须在命令行参数的最后一个选项
后面紧接着给出,中间不能插入空格。
比如:ps -f1,4,5。
以下介绍长命令行选项,这些选项都使用“--”开头:
--sort X[+|-] key [,[+|-] key [,…]] 从SORT KEYS段中选一个多字母键。
“+”字符是可选的,因
为默认的方向就是按数字升序或者词典顺序。
比如: ps -jax -sort=uid,-ppid,+pid。
--help 显示帮助信息。
--version 显示该命令的版本信息。
在前面的选项说明中提到了排序键,接下来对排序键作进一步说明。
需要注意的是排序中使用的值是ps使
用的内部值,并非仅用于某些输出格式的伪值。
排序键列表见表4-3。
表4-3 排序键列表
短格式
长格式
说明
c
cmd
可执行的简单名称
C
cmdline
完整命令行
flags
长模式标志
g
pgrp
进程的组ID
G
tpgid
控制tty进程组ID j
cutime
累计用户时间
J
cstime
累计系统时间
k
utime
用户时间
K
stime
系统时间
m
min_flt
次要页错误的数量
maj_flt
主要页错误的数量n
cmin_flt
累计次要页错误N
cmaj_flt
累计主要页错误o
session
对话ID
p
pid
进程ID
P
ppid
父进程ID
r
rss
驻留大小
R
resident
驻留页
size
内存大小(千字节)
S
share
共享页的数量
t
tty
tty次要设备号
T
start_time
进程启动的时间
U
uid
UID
u
user
用户名
v
vsize
总的虚拟内存数量(字节)y
priority
内核调度优先级
3. 常用ps命令参数
前面两节介绍的参数可能让读者觉得有些可怕,实际上这是一个非常容易使用的命令,一般的用户只
需掌握一些最常用的命令参数就可以了。
最常用的三个参数是u、a、x,下面将通过例子来说明其具体用法。
[例20] 以root身份登录系统,查看当前进程状况
$ ps
PID TTY TIME COMMAND
5800 ttyp0 00:00:00 bash
5835 ttyp0 00:00:00 ps
可以看到,显示的项目共分为四项,依次为PID(进程ID)、TTY(终端名称)、TIME(进程执行时间)
、COMMAND(该进程的命令行输入)。
可以使用u选项来查看进程所有者及其他一些详细信息,如下所示:
$ ps u
USER PID %CPU %MEM USZ RSS TTY STAT START TIME COMMAND
test 5800 0.0 0.4 1892 1040 ttyp0 S Nov27 0:00 -bash
test 5836 0.0 0.3 2528 856 ttyp0 R Nov27 0:00 ps u
在bash进程前面有条横线,意味着该进程便是用户的登录shell,所以对于一个登录用户来说带短横线的进
程只有一个。
还可以看到%CPU、%MEM两个选项,前者指该进程占用的CPU 时间和总时间的百分比;后者指该进程
占用的内存和总内存的百分比。
在这种情况下看到了所有控制终端的进程;但是对于其他那些没有控制终端的进程还是没有观察到,所以这
时就需要使用x选项。
使用x选项可以观察到所有的进程情况。
Grep命令的用法
在grep命令中输入字符串参数时,最好将其用双引号括起来。
例如:“mystring”。
这样做有两个原因,一是以防被误解为shell命令,二是可以用来查找多个单词组成的字符串。
在调用变量时,也应该使用双引号,诸如:grep“$MYVAR”文件名,如果不这样,将没有返回结果。
在调用模式匹配时,应使用单引号。
常用的grep选项有:
-c 只输出匹配行的计数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
vi data.f(每列后是tab)
48 Dec 3BC1997 LPSX 68.00 LVX2A 138
483 Sept 5Ap1996 USP 65.00 LVX2C 189
47 Oct 3ZL1998 LPSX 43.00 KVM9D 512
219 dec 2CC1999 CAD 23.00 PLV2C 68
484 nov 7PL1996 CAD 49.00 PLV2C 234
483 may 5PA1998 USP 37.00 KVM9D 644
216 sept 3ZL1998 USP 86.00 KVM9E 234
结合使用^和$可查询空行。
使用-n参数显示实际行数:
grep -n '^$' data.f
grep允许使用国际字符模式匹配或匹配模式的类名形式:
类等价的正则表达式
[[:upper:]] [A-Z]
[[:alnum:]] [0-9a-zA-Z]
[[:lower:]] [a-z]
[[:space:]] 空格或tab键
[[:digit:]] [0-9]
[[:alpha:]] [a-zA-Z]
如:grep '5[[:upper:]][[:upper:]]' data.f
如果要查询目录列表中的目录,方法如下:
ls -l | grep '^d'
如果在一个目录中查询不包含目录的所有文件,方法如下:
ls -l | grep '^[^d]'
要查询其他用户和其他用户组成员有可执行权限的目录集合,方法如下:
ls -l | grep '^d.....x..x'
使用grep命令- s开关,可屏蔽错误信息。
wangnc> grep "test" fdasf.f
grep: can't open fdasf.f
wangnc> grep -s "test" dafds.f
wangnc>
egrep代表expression或extended grep,适情况而定。
egrep接受所有的正则表达式,egrep 的一个显著特性是可以以一个文件作为保存的字符串,然后将之传给egrep作为参数,为此使用- f开关。
wangnc> vi testfile
wangnc> pg testfile
484
47
wangnc> egrep -f testfile data.f
47 Oct 3ZL1998 LPSX 43.00 KVM9D 512
484 nov 7PL1996 CAD 49.00 PLV2C 234
如果要查询存储代码32L或2CC,可以使用(|)符号,意即“|”符号两边之一或全部。
egrep '(3ZL|2CC)' data.f。