ps是查看 Linux 中当前运行的进程的命令。能列出系统中运行的进程,包括进程号、命令、CPU使用量、内存使用量等。
ps 命令是 Process Status 的缩写。ps 命令用来列出系统中 当前正在运行的那些进程,就是执行 ps 命令的那个时刻的那些进程的快照。使用该命令可以确定有哪些进程正在运行和 运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令的得到的。
ps 查看的结果不是动态连续的,如果想要动态的显示进程信息,就可以使用top、htop 命令。
kill 命令用于杀死进程。
ps 命令支持的 3 种语法格式
三种语法格式:
可以混用这几种风格,但是可能会发生冲突。较多使用 UNiX 风格的 ps 命令。
参数含义
l 长格式输出;
u 按用户名和启动时间的顺序来显示进程;
j 用任务格式来显示进程;
f 用树形格式来显示进程;
a 显示所有用户的所有进程(包括其它用户)。显示所有进程
-a 显示同一终端下的所有程序
x 显示无控制终端的进程;
r 显示运行中的进程;
ww 避免详细参数被阶段;
-A 列出所有的进程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的进程
-e 显示所有进程,环境变量
-f 全格式
-h 不显示标题
-l 长格式
-w 宽输出
常用的选项组合是 aux 或 lax ,还有参数 f 的应用。
pids 只列出进程标识符,之间运用逗号分隔
该进程列表必须在命令行参数地最后一个选项后面紧接着给出
中间不能插入空格。比如:ps -f1,4,5 显示的是进程ID为1,4,5的进程
ps aux 或 lax 输出的解释
au(x) 输出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 进程所有者
PID: 进程ID
%CPU: 占用的CPU使用率
%MEM: 占用的内存使用率
VSZ: 占用的虚拟内存大小
RSS: 占用的内存大小
TTY: 中断的次要装置号码(minor device number of tty)
STAT: 进程状态
START: 启动进程的时间
TIME: 进程消耗CPU的时间
COMMAND:命令的名称和参数
top命令可以实时的监控系统状态信息和进程所使用的资源。显示进程的数据包括PID、进程属主、优先级、%CPU、%memory等。可以使用这些显示指示出资源使用量。
htop 与 top 很类似,但是 htop 是交互式的文本模式的进程查看器。它通过文字图形化地显示每一个进程的CPU和内存使用量、swap使用量。使用上下光标键选择进程,F7 和 F8改变优先级。F9杀死进程。Htop 不是系统默认安装的,所以需要额外安装。
kill 命令用来发送信号给进程,并结束进程。如果一个进程没有响应杀死命令,这也许就需要强制杀死,使用 -9 参数来执行。
注意:使用强制杀死的时候一定要小心,因为进程没有时机清理现场,也许写入文件没有完成。
如果不知道进程PID或者 用名字杀死进程的时候, killall就能排上用场。
有5种进程状态
ps 工具表示进程的5种状态码
所有的 Unix Linux 系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。vim 具有程序编辑的能力,可以朱亚东的以字体颜色辨别语法的正确性,方便程序设计。
vim 是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单来说,vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim则可以说是程序开发者的一项很好用的工具。
vim 键盘图:

基本上 vi/vim 共分为三种模式,分别是 命令模式(Command mode),输入模式(Insert mode),和 底线命令模式(Last line mode)。
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
若想要编辑文本:启动vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
任何时候,不管用户处于何种模式,只要按一下 ESC 键,即可使vi 进入命令行模式;我们在shell 环境(提示符为$)下输入启动vi命令,进入编辑器时,也是处于该模式下。
在该模式下,用户可以输入各种合法的vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的vi命令,则vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是vi的合法命令,vi会响铃报警。
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
在命令模式下输入插入命令i(insert)、附加命令a(append)、打开命令o(open)、修改命令c (change) 、取代命令r 或替换命令s 都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当作文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按 ESC 即可。
在命令模式下按下:(英文冒号) 就进入了底线命令模式。
底线命令模式可以出入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
按ESC键可随时退出底线命令模式。
简单来说,可以将这三个模式想成底下的图标来表示:

当在不同目录使用相同文件时,可以使用ln命令链接,避免了重复占用磁盘空间。
ln 为某一个文件在另外一个位置建立一个不同的链接,这样操作之后就不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其他的目录下用 ln 命令链接它姐可以,不必重复的占用磁盘空间。
eg :ln -s /data/bai /usr/local/data/bai
注意
- 第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件也会变动。
- 第二,ln的链接分软链接和硬链接
- 软链接:ln -s ** ** , 它只会在你选定的位置山生成一个文件的镜像,不会占用磁盘空间
- 硬链接:ln ** **,没有参数 -s,它会在你选定的位置上生成一个和源文件大小相同的文件
无论时软链接还是硬链接,文件都保持同步变化
硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删” 的功能。
硬连接 指通过索引节点来进行链接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给他分配一个编号,称为索引节点号(Inode Index)。在Linux 中,多个文件名指向同一索引节点是存在的。一般这种链接就是硬连接。
银联及的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的链接。只删除一个链接并不影响索引节点本身和其他的链接,只有当最后一个链接被删除后,文件的数据块及目录的链接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
软连接文件有类似于 Windows 的快捷方式,包含的有另一文件的位置信息。
软连接称之为符号链接(Symbolic Link),它实际上是一个特殊的文件。在符号链接中,文件实际上是一个文本文件,其中包含的有零一文件的位置信息。
创建软连接
具体用法是:ln -s [源文件] [软链接文件]