Linux命令2

一.进程管理

1.创建进程:有两种方式来创建进程,前台进程和后台进程。

1
2
前台进程:默认情况下用户创建的都是前台进程例如:$ls *.txt
后台进程:后台进程不必等待程序运行结束时就可以输入其他命令。最简单的方式就是在末尾加& 如 $ls *.txt &

2.查看正在运行的进程

可以使用 ps 或者 ps -f 来查看正在运行的进程
其他如:

选项 说明
-a 显示所有用户的所有进程。
-x 显示无终端的进程。
-u 显示更多信息,类似于 -f 选项。
-e 显示所有进程。
描述
UID 进程所属用户的ID,即哪个用户创建了该进程。
PID 进程ID。
PPID 父进程ID,创建该进程的进程称为父进程。
C CPU使用率。
STIME 进程被创建的时间。
TTY 与进程有关的终端类型。
TIME 进程所使用的CPU时间。
CMD 创建该进程的命令。

3.终止进程

1
2
3
4
5
6
7
8
9
10
11
当进程运行在前台时,可以通过 kill 命令或 Ctrl+C 组合键来结束进程。
如果进程忽略kill命令 可以使用 kill-9 pid

孤儿进程:正常情况下,子进程在被终止时会通过sigchld信号通知父进程,父进程会做一些清理工作或重启一个新的进程。在一些特殊情况下,父进程在子进程终止前被终止,那么这些子进程被称为孤儿进程。

僵尸进程:如果一个进程被终止了,但使用ps命令可以查看该进程,并且状态为z,那么这就是一个僵尸进程。

常驻进程:常驻进程一般时系统级进程,以root权限在后台,可以处理其他进程的请求。
常驻进程没有终端.

top命令:它可以动态显示正在运行的进程,还可以按条件对进程进行排序。

4.任务和进程

1
2
3
4
5
任务:任务是抽象的,是一个一般性的术语,指由软件完成的一个活动。一个任务即可以是一个进程,也可以是多个进程。简而言之,它是指一系列共同达到莫一目的的操作。

进程:常常被定义为程序的执行。可以把一个进程看成是一个独立的进程,在内存中有其完备的数据空间和代码空间。一个进程所拥有的数据和变量只属于它自己。

jobs -l 命令可以查看当前任务包含的进程id

5前台任务和后台任务的切换

1
2
3
4
5
6
7
fg命令可以将后台任务调节到前台。语法:$fg %jobnumber

bg命令可以将前台任务调节到后台。语法:$bg %jobnumber

jobnumber 是通过 jobs 命令获取的后台任务的的序号,注意不是pid。如果只有一个任务,可以不指定 jobnumber。

如果希望将当前任务转移到后台,可以先 Ctrl+z 暂停任务,再使用 bg 命令。任务转移到后台可以空出终端,继续输入其他命令。

二.网络通信工具

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ping命令 向网络主机发送应答请求,根据响应判断远程主机是否可用。
语法:$ping hostname or ip-address

telnet工具
Telnet 工具可以让我们连接并登录到远程计算机。

finger工具
finger 可以让我们查看本地主机或远程主机上的用户信息。有些系统为了安全会禁用 finger 命令。


ftp工具
ftp 是 File Transfer Protocol 的缩写,称为文件传输协议。通过 ftp 工具,能够将文件上传到远程服务器,也可以从远程服务器下载文件。

ftp 工具有自己的命令(类似Linux命令),可以:
1.连接并登录远程主机;
2.查看目录,遍历目录下的文件;
3.上传或下载文件,包括文本文件、二进制文件等。

ftp的语法:ftp hostname or ip-address
ftp命令 说明
put filename 将本地文件上传到远程主机。
get filenam 将远程文件下载到本地。
mput file list 将多个本地文件上传到远程主机。
mget file list 将多个远程文件下载到本地。
prompt off 关闭提示。默认使用 mput 或 mget 命令会不断提示你确认文件的上传或下载。
prompt on 打开提示。
dir 列出远程主机当前目录下的所有文件。
cd dirname 改变远程主机目录。
lcd dirname 改变本地目录。
quit 退出登录。

三.VI编辑器

1.进入vi编辑器

命令 描述
vi filename 如果filename存在,则打开;否则会创建一个新文件再打开。
vi -R filename 以只读模式(只能查看不能编辑)打开现有文件。
view filename 以只读模式打开现有文件。

2.工作模式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1.普通模式
由shell进入vi编辑器时,首先进入普通模式,在普通模式下,从键盘输入任何字符都被当作命令来解释。普通模式下没有任何提示符,输入命令后立即执行,不需要回车,而且输入字符在屏幕上不显示。

普通模式下可以执行命令,保存文件,移动光标,粘贴复制。

2.编辑模式
编辑模式主要用于文本编辑,该模式下用户输入的任何字符都被当作文件的内容保存起来,并在屏幕上显示出来。

3.命令模式
命令模式下,用户可以对文件进行一些高级的处理,如执行一些字符串的查找,替换和显示符号等操作必须进入命令模式。

工作模式切换:
在普通模式下输入 i(插入)、c(修改)、o(另起一行) 命令时进入编辑模式;按 esc 键退回到普通模式。
在普通模式下输入冒号(:)可以进入命令模式。输入完命令按回车,命令执行完后会自动退回普通模式。s

3.退出vi编辑器

退出命令 说明
q 如果文件未被修改,会直接退回到Shell;否则提示保存文件。
q! 强行退出,不保存修改内容。
wq w 命令保存文件,q 命令退出 vi,合起来就是保存并退出。
ZZ 保存并退出,相当于 wq,但是更加方便。

注意: zz使用shift+zz方式 其他使用shift+: 命令 +回车

4.控制命令

命令 描述
CTRL+d 向前滚动半屏
CTRL+f 向前滚动全屏
CTRL+u 向后滚动半屏
CTRL+b 向后滚动全屏
CTRL+e 向上滚动一行
CTRL+y 向下滚动一行
CTRL+i 刷新屏幕

5.编辑文件

切换到编辑模式下才能编辑文件,从普通模式切换到编辑模式的命令如下

命令 描述
i 在当前光标位置之前插入
I 在当前行的开头插入
a 在当前光标位置之后插入
A 在当前行的末尾插入
o 在当前位置下面创建一行
O 在当前位置上面创建一行
fn + ⬆️ 光标移动到当前屏幕开始位置
fn + ⬇️ 光标移动到当前屏幕末尾位置
fn + ⬅️ 光标移动到当前行开头
fn + ➡️ 光标移动到当前行末尾

6.删除字符或行

命令 说明
x 删除当前光标下的字符
X 删除光标前面的字符
dw 删除从当前光标到单词结尾的字符
d^ 删除从当前光标到行首的字符
d$ 删除从当前光标到行尾的字符
D 删除从当前光标到行尾的字符
dd 删除当前光标所在的行

可以在命令前面添加一个数字前缀,表示重复操作的次数,例如,2x 表示连续两次删除光标下的字符,2dd 表示连续两次删除光标所在的行。

7.修改文本

命令 描述
cc 删除当前行,并进入编辑模式。
cw 删除当前字(单词),并进入编辑模式。
r 替换当前光标下的字符。
R 从当前光标开始替换字符,按 Esc 键退出。
s 用输入的字符替换当前字符,并进入编辑模式。
S 用输入的文本替换当前行,并进入编辑模式。

8.粘贴复制

命令 描述
yy 复制当前行
nyy 复制n行
yw 复制一个字(单词)
nyw 复制n行
p 将复制的文本粘贴到光标后面
P 将复制的文本粘贴到光标前面

文本替换

1
2
3
切换到命令模式,再输入 s/ 命令即可对文本进行替换。语法为:
:s/search/replace/g
search 为检索的文本,replace 为要替换的文本,g 表示全局替换

几点提示

vi 编辑器的使用讲解完毕,但是请记住下面几点:

1
2
3
4
5
1.输入冒号(:)进入命令模式,按两次 Esc 键进入普通模式。

2.命令大小写的含义是不一样的。

3.必须在编辑模式下才能输入内容。