您的位置:首页 > 运维架构 > Shell

Linux系列-命令行BASH的基本操作

2013-10-30 10:35 656 查看
















作业管理:&、jobs、fg、bg、kill介绍

作业管理(job control)是在bash环境下使用的,也就是说,当我们登录系统获取bash shell之后,在单一终端界面下,同时管理多个作业。下面分别介绍与作业管理有关的几个常用命令:

一、直接将命令放到后台执行的 "&"

在bash环境下,前台:您可以控制的作业称为前台作业(foreground),后台:在内存可以自行运行的作业,您好无法直接控制他,除非以bg/fg命令把该作业调用出来。

"&" 用法:

# tar -zpcf /tmp/etc/tar.gz /etc & 备注:tar是解压命令,该命令意思是将解压任务放到后台执行

[1] 234 <== [job number] PID

# <==可继续继续工作,不受影响,这就是后台

把当前作业放到后台暂停:[Ctrl] + z,有些时候我们正在使用vi逻辑一个文件,突然有其它事情,需要切换到bash环境去执行相关命令,喧是我们直接退出vi逻辑环境?当然不需要,我们只需用命令[Ctrl]+z ,然该作业暂停到后台,状态Stopped.

如:

#vi /etc/profile

#在vi的一般模式下,按下[Ctrl]+z组合键

[1]+ Stopped /usr/bin/vim /etc/profile

# <==顺序获取了前台的控制权

二、观察当前后台作业状态: jobs

如观察当前bash中的所有作业与对应的PID.

#jobs -l

[1]+ Stopped /usr/bin/vim /etc/profile

[2]- Stopped /usr/bin/vim /etc/profile.conf

说明:上面的 -l 表示让列表现示作业号的PID,另外(+-)号,(+)号表示默认的作业,如我在bash中输入fg,则[1] 会被自动执行。

三、将后台作业拿到前台处理:fg

#fg %jobnumber

我们可先用上面介绍的jobs -l命令查询目前所有的作业号,然后再执行fg %jobnumber命令。应能够将后台作业拿到前台来处理。

四、让作业在后台运行:bg

我们刚才介绍了用[Ctrl]+z可以让当前作业放到后台去"暂停",那么,现在我们可以让一个作业在后台运行。

如:

#find / -perm +7000

#此时,请立刻按下[ctrl]+z暂停。

[1]+ Stopped #find / -perm +7000

#然后让它在后台运行

#bg %1

五、管理后台作业:kill

有时我们不想让一个作业再继续运行了,这时我们可以向系统发一个signal,来kill这个作业,

#kill -signal %jobnumber

常用参数:

-9: 立刻强制删除一个作业

-15:以正常的程序方式终止一项作业,与-9是不一样的。

#jobs

[1]+ Stopped vim bashrc

#kill -9 %1

[1]+ 终止 vim bashrc

以上内容为转载,下面补充几点:

1:su - 与 su 的区别 加上- 启用一个全新的终端 不加 不启用全新终端 sudo 使用管理员身份去运行

2:history查看历史命令 在控制台输入history



3:firefix & 加上&之后 表示该程序在后台运行!

4:!! 重复前一个命令

5:!字符 重复前一个以"字符"开头的命令

6:!num 按照历史记录的序号执行命令 (history记录第一列为序号 如上图的 993-1012)

7:!?abc 重复之前包括abc的命令

8:!-n 重复n个命令之前的那个命令



9:linux 命令由命令、选项、参数组成 (命令可以连续敲两个tab键补全)

10:root@localhost
以root用户的身份登录到localhost主机上

11:BASH
:linux 命令行 提示符:#(root用户) $(普通用户)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: