Linux中的,是什么

介绍

本篇内容主要讲解“Linux中的,是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux中的,是什么”吧!

实际上,命令的用法并不难,例如,mkdir,触摸和找到也分别可以简单概括为“建立新目录”,“更新文件”和“在目录树中查找文件”而已。

但如果要理解

 mkdir  test_dir  2在/dev/null  | |, touch  images.txt ,,, find 只-iname “* jpg",祝辞,备份/dir/images.txt , 

这一串命令的目的,以及为什么要这样写,就没有这么简单了。

关键之处就在于命令之间的连接符号。掌握了这些符号的用法,不仅可以让你更好理解整体的工作原理,还可以让你知道如何将不同的命令有效地结合起来,提高工作效率。

在这一篇文章和接下来的文章中,我会介绍如何使用,号和管道符号(|)在不同场景下的使用方法。

<强>幕后工作

我来举一个简单的例子,看看如何使用,号将下面这个命令放到后台运行:

 cp  -R 原始/dir/,备份/dir/

这个命令的目的是将原始/dir/的内容递归地复制到备份/dir/,中。虽然看起来很简单,但是如果原目录里面的文件太大,在执行过程中终端就会一直被卡住。

所以,可以在命令的末尾加上一个,号,将这个任务放到后台去执行:

 cp  -R 原始/dir/,备份/dir/,, 

任务被放到后台执行之后,就可以立即继续在同一个终端上工作了,甚至关闭终端也不影响这个任务的正常执行。需要注意的是,如果要求这个任务输出内容到标准输出中(例如,回声或ls),即使使用了,,也会等待这些输出任务在前台运行完毕。

当使用,将一个进程放置到后台运行的时候,Bash会提示这个进程的进程ID。在Linux系统中运行的每一个进程都有一个唯一的进程,ID,你可以使用进程ID来暂停,恢复或者终止对应的进程,因此进程ID是非常重要的。

这个时候,只要你还停留在启动进程的终端当中,就可以使用以下几个命令来对管理后台进程:

<李>

,乔布斯命令可以显示当前终端正在运行的进程,包括前台运行和后台运行的进程。它对每个正在执行中的进程任务分配了一个序号(这个序号不是进程,ID),可以使用这些序号来引用各个进程任务。

<>之前,美元jobs [1]安康;Running  cp 小姐;-R 原始/dir/*,备份/dir/,,, [2] +, Running  find 只-iname “* jpg",祝辞,备份/dir/images.txt , <李>

, fg命令可以将后台运行的进程任务放到前台运行,这样可以比较方便地进行交互。根据乔布斯命令提供的进程任务序号,再在前面加上%,符号,就可以把相应的进程任务放到前台运行。

$ fg % 1 #将上面序号为1的cp任务放到前台运行cp - i - r原始/dir/*备份/dir/

如果这个进程任务是暂停状态,fg命令会将它启动起来。

<李>

使用ctrl + z组合键可以将前台运行的任务暂停,仅仅是暂停,而不是将任务终止。当使用成品或者bg,命令将任务重新启动起来的时候,任务会从被暂停的位置开始执行。但睡眠[4]命令是一个特例,睡眠任务被暂停的时间会计算,在睡眠时间之内。因睡眠为命令依据的是系统时钟的时间,而不是实际运行的时间,也就是说,如果运行了睡眠30,然后将任务暂停,30秒以上,那么任务恢复执行的时候会立即终止并退出。?bg命令会将任务放置到后台执行,如果任务是暂停状态,也会被启动起来。

<>之前,美元bg  % 1, [1] +, cp 小姐;-R 原始/dir/*,备份/dir/,,

如上所述,以上几个命令只能在同一个终端里才能使用。如果启动进程任务的终端被关闭了,或者切换到了另一个终端,以上几个命令就无法使用了。

如果要在另一个终端管理后台进程,就需要其它工具了。例如可以使用杀死[5]命令从另一个终端终止某个进程:

 kill  -s  STOP  & lt; PID> 

这里的PID就是使用,将进程放到后台时 Bash 显示的那个进程 ID。如果你当时没有把进程 ID 记录下来,也可以使用 ps 命令(代表  process)来获取所有正在运行的进程的进程 ID,就像这样:

ps | grep cp

执行以后会显示出包含 cp 字符串的所有进程,例如上面例子中的 cp 进程。同时还会显示出对应的进程 ID:

$ ps | grep cp 14444 pts/3 00:00:13 cp

Linux中的,是什么