管道符
|,一条竖线,这就是管道符。
它的作用是把前面的命令输出的结果传递给后面的命令。这不就是个管子干的事情吗?
看个例子:
[root@localhost ~]# ls
1.txt 4.txt 7.txt aac a_hard bgk.txt cuo.txt gk.txt out.txt
2 56.txt a abc anaconda-ks.cfg ca def input zheng.txt
2.txt 58.txt a9c aBc bbbk.txt cb gg.txt lesson
3.txt 5.txt aaa.txt adc bbc.txt cd gkl out
[root@localhost ~]# ls|wc -l
34
ls输出的结果,刚好作为了wc命令的输入。
暂停与继续
命令运行着,我又要去干别的事情了,怎么办?暂停呗。ctrl+z即可实现。
比如我们现在正打开vim在编辑文件,写到一半要切出去做别的事情,可是我又不想退出,这个时候就可以暂停它。按ctrl + z:
[root@localhost ~]# vim a.txt
[3]+ 已停止 vim a.txt
vim中按ctrl+z有个小坑,那就是在编辑模式下按不了,你要切回到普通模式就可以。
那怎么切回来呢?按fg就可以了。
注意,如果你把多个任务都暂停了,每个被暂停的任务都会有个数字编号:
这个时候,我们就可以使用fg+数字编号把想要的任务调回来。
比如我想调回任务3,这样操作:
fg 3
jobs
jobs命令帮我们查看到后台有哪些进程暂停或者运行。下面的例子中,我们用vim打开了两个文件,丢到后台,它们显示的状态是‘已停止’。我们又把vmstat 1丢到后台,它是运行中。
[root@localhost ~]# vmstat 1 &> /dev/null &
[3] 14700
[root@localhost ~]# jobs
[1]- 已停止 vim a
[2]+ 已停止 vim b
[3] 运行中 vmstat 1 &> /dev/null &
我们仍然可以使用fg命令,将它们调到前台。
丢到后台
丢到后台我们讲两种操作方式。
bg
bg将暂停的任务放到后台运行起来,注意是运行起来。
用法:bg + 任务编号。
拿vmstat命令来做实验。这个命令会一直输出信息到终端,我们ctrl+z暂停后,可以看到输出停止了:
[root@localhost ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 9524 102896 40 562256 0 0 63 31 95 181 0 0 99 0 0
^Z
[1]+ 已停止 vmstat 1
接下来我们使用命令bg 1将其丢到后台,发现它又开始输出了:
[root@localhost ~]# bg 1
[1]+ vmstat 1 &
[root@localhost ~]# 2 0 9524 102656 40 562420 0 0 164 53 10111 19559 0 0 100 0 0
1 0 9524 102656 40 562420 0 0 0 0 102 186 0 0 100 0 0
0 0 9524 102656 40 562420 0 0 0 0 105 189 0 1 99 0 0
我们要结束它的话,使用fg 1命令将其调到前台,然后按ctrl + c就好了。
&
&符号是直接将任务丢到后台,省了ctrl+z暂停的那一步,比如:
[root@localhost ~]# vmstat 1 &
[1] 14695
[root@localhost ~]# procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 9524 102716 40 562420 0 0 63 31 95 181 0
``
转载请注明:IT运维空间 » linux » 管道符+任务暂停+放入后台运行+查看后台运行程序列表
发表评论