Linux终端常用命令 -- 过滤器和进程### 过滤器
)
过滤器
grep — 选择器
- grep 是一个强大的文本搜索工具,可以使用正则表达式,并返回匹配的行,语法为:
选项 |
说明 |
-v |
反转查询,输出不匹配的行。例如,grep -v “test” demo.txt 将输出不包含"test"的行。 |
-n |
输出匹配的行以及行号。 |
-l |
输出匹配的行所在的文件名。 |
-c |
输出匹配的总行数。 |
-i |
不区分大小写进行匹配。 |
sort — 排序
- 它将文件中的各行按字母或数进行排序。sort命令既可以从特定的文件,也可以从stdin获取输入。
- 例: 下面的例子通过管道将 ls、grep 和 sort 命令连起来使用,过滤包含"Aug"的行,并按照文件大小排序:
$ls -l | grep "Aug" | sort +4n
-rw-rw-r-- 1 carol doc 1605 Aug 23 07:35 macros
-rw-rw-r-- 1 john doc 2488 Aug 15 10:51 intro
-rw-rw-rw- 1 john doc 8515 Aug 6 15:30 ch07
-rw-rw-rw- 1 john doc 11008 Aug 6 14:10 ch02
选项 |
说明 |
-n |
按照数字大小排序,例如,10会排在2后面;-n 选项会忽略空格或 tab缩进。 |
-r |
降序排序。sort 默认是升序排序。 |
-f |
不区分大小写。 |
+x |
对第x列(从0开始)进行排序。 |
进程
ps — 查看正在运行的进程
- 例:ps 命令查看进程的运行状态,包括后台进程, -f 选项查看更多信息
$ps -f
UID PID PPID C STIME TTY TIME CMD
amrood 6738 3662 0 10:23:03 pts/6 0:00 first_one
amrood 6739 3662 0 10:22:54 pts/6 0:00 second_one
amrood 3662 3657 0 08:10:53 pts/6 0:00 -ksh
amrood 6892 3662 4 10:51:50 pts/6 0:00 ps -f
选项 |
说明 |
-a |
显示所有用户的所有进程。 |
-x |
降序排序。sort 默认是升序排序。 |
-e |
显示无终端的进程。 |
-u |
显示更多信息,类似于 -f 选项。 |
-f |
查看进程的更多信息。 |
kill — 杀死进程
$kill -9 PID
Terminated
top — 运行进程
- 它可以动态显示正在运行的进程,还可以按照指定条件对进程进行排序
- 如下:
父进程和子进程
- 每个 Linux 进程会包含两个进程ID:当前进程ID(pid)和父进程ID(ppid)。
- 由用户运行的大部分命令都将 Shell 作为父进程,使用 ps -f 命令可以查看当前进程ID和父进程ID。