分类 Linux 命令速查 下的文章

Linux 命令之 kill

杀掉进程。

命令格式

kill [-<signal_name|signal_number>] <pid>

其中 pid 是进程ID。

选项可以是信息名称或信号编号。

信号

kill -l
可以查看全部支持的信号。

linux_signals.jpeg

常用信号

编号名称说明
1SIGHUP让进程立即关闭,然后重新读取配置文件再启动
2SIGINT终止前台进程,相当 ctrl+c
9SIGKILL立即结束进程,不能被阻塞、捕获、忽略
15SIGTERM正常结束进程,kill 命令的默认信号。如果进程已经发生了问题,那么无法通过该信号正常终止进程
18SIGCONT让暂停的进程恢复执行
19SIGSTOP暂停前台进程,相当于 ctrl+z

kill 与 kill -9 的区别

默认情况下(即不指定信号参数时),使用的是 SIGTERM(15)信号。它告诉进程,你需要被关闭,请自行停止并退出。
kill -9 是发送 SIGKILL 信号给进程,通过内核将进程直接终止,该进程在毫无准备的情况下被关闭了。SIGKILL 信号不能被捕获或忽略,接收到该信号的进程不能执行任何清理。

Linux 命令之系统任务

系统任务是由多个功能命令完成的。什么是任务,执行一条命令,可称之为一个任务,尤其是需要长时间运行的命令。

查看任务

jobs

选项
-l 可以查看到相应进程的 ID

参数
<jobnumber> 任务序号,如果输入该参数,则只查看该任务

列表的组成
[序号1]+ 任务状态 任务命令
[序号2]- 任务状态 任务命令
[序号3] 任务状态 任务命令

其中序号为任务序号(jobnumber),+ 表示当前任务,- 表示当前任务的下一个任务,没有符号的任务为更远的任务。
任务状态有:Running(运行中),Suspended(挂起),Stopped(已停止),Terminated(已终止),Killed(被杀掉了)。
其中已终止的任务很快会从任务列表中消失。

前台任务&后台任务

执行命令后,占据命令行提示符,表示该任务是前台运行,无法在该 shell 中输入其它命令。
在命令的末尾加上 & 符号,可使命令在后台运行。此时可继续输入其它命令。

将前台任务转到后台运行

按下 ctrl+z 将任务挂起,再通过 jobs 命令可查看到任务序号(jobnumer),然后通过 bg %<jobnumber> 将挂起的任务继续在后台运行。

将后台任务转到前台运行

fg %<jobnumber>
如果不加任何参数,则是将当前任务转到前台。
fg 是 foreground 的意思。

将后台任务继续运行

bg %<jobnumber>
如果不加任何参数,则是将当前任务在后台继续运行(该任务此前可能是挂起状态)。
bg 是 background 的意思。

终止进程

终止后台进程

kill %<jobnumber>
kill <pid>
通过 jobs -l 可以查看到进程 ID(pid)。

终止前台进程

ctrl+c

附加

键盘操作的含义

ctrl+c kill foreground process 杀掉前台进程
ctrl+z suspend foreground process 挂起前台进程
ctrl+d terminate input, or exit shell 结束输入,或者退出 shell
ctrl+s suspend output 挂起输出
ctrl+q resume output 恢复输出
ctrl+o discard output 丢弃输出
ctrl+l clear screen 清屏

Linux 命令之 file ——检测文件类型

file

检测一个或多个文件的类型。

用法:

file [OPTION...] [FILE...]

例如检测一个 PHP 文件

file web/index.php
web/index.php:   PHP script text, ASCII text

参数说明:

-b, --brief  在输出的行首,不显示文件名
-L, --dereference  检测符号链接所指向的文件
-z, --uncompress  尝试检测压缩包中的文件
-f, --files-from FILE  从 FILE 文件中读取内容作为参数,FILE 文件中每行一个文件名
-i  不进一步对普通文件进行分类,如果是普通文件,只显示 regular file

Linux 命令之 iconv ——编码转换

iconv

用于文本内容的编码转换,支持多种编码。通过以下命令查看它所支持的编码

iconv -l

或者

iconv --list

参数说明

-f 编码, --from-code=编码        输入文本的编码
-t 编码, --to-code=编码          输出文本的编码

-c                              丢弃无法转换的字符

-s, --silent                    抑制(或忽略)错误信息

-l, --list                      列出支持的编码