1.查找命令(whereis,which,find,locate,)
2.管道(grep,xargs)
3.输入输出重定向(<,<<,>,>>)
4.控制台编辑器(Vim)
5.电源管理(halt, shutdown,reboot)
6.alias别名(alias,unalias)
7.压缩解压(zip,unzip.gzip,gunzip,bzip2,bunzip2)
8.文件打包(tar)
9.链接命令(ln)
10.文件权限(chomn,chown)
11.磁盘管理(du,df)
12.Linux进程管理(top,ps,kill,jpbs,fg,bg)
1.命令搜索
whereis
搜索命令的位置和帮助文档的位置
which
搜索位置和命令的别名
[budong@budong ~]$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
[budong@budong ~]$ which ls
alias ls='ls --color=auto'
/bin/ls
2.文件查找
1.find
命令格式:find [-path] -options
path :要查找的目录,默认是当前目录
option:
-name 按文件名的某种规则的查找
-type 按文件类型查找 f 普通文件 l 符号连接 d 目录
-size 按文件大小查找
-exec<执行指令>:假设find指令的回传值为True,就执行该指令;
-print 假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有“./”字符串
通配符:
*匹配任意内容
?匹配任意一个字符
[]匹配任意一个中括号内的字符
[budong@budong /]$ find ./ -name '*.py' #查找根目录下所有后缀为py的文件
[budong@budong bin]$ find -name 'se*'
./setfont
./sed
[budong@budong bin]$ find -name 'se?'
./sed
[budong@budong bin]$ find -size -6k #查找小于6k的文件
[budong@budong bin]$ find -size +6k #查找大于6k的文件,不写的时候就是等于
[budong@budong ~]$ find ./ -name '*.py' -exec rm -rf {} \; #删除当前目录下所有的py文件
#{} 用于与-exec选项结合使用来匹配所有文件,然后会被替换为相应的文件名
[budong@budong ~]$ find ./ -name 'a' -type d #查找当前目录下所有为a的文件夹
[budong@budong ~]$ find ./ -name 'haha*' -type d
./tmp/haha
[budong@budong ~]$ find ./ -name 'haha*' -type f
./haha.txt
[budong@budong ~]$ find ./ -name '*.py'
./test/a/b.py
[budong@budong ~]$ find ./ ! -name '*.py' #查找所有当前目录下所有不是py的文件
[budong@budong ~]$ find -name '*.py' -print
xargs
命令
find
命令可以把匹配到的文件传递给xargs
命令执行,在使用find
命令的-exec
选项处理匹配到的文件时,find
命令将所有匹配到的文件一起传递给exec
执行。由于有些系统命令对能够传递给exec
的命令长度有限制,这用在find
命令运行时就会出现溢出异常。异常信息通常是参数太长
或参数列溢出
。这时候可以采用xargs
命令。
[budong@budong ~]$ find ./ -type f -name '*.txt' -print|xargs rm
#把当前目录下所有后缀为txt的文件都删除
locate
命令
安装:install mlocate
locate 是在数据库中按文件名搜索,要查找的文件名中含有的字符串,搜索数据速度更快。搜索的数据库是: /var/lib/mlocate/mlocate.db ,这个数据库,每天自动更新一次,在使用locate之前,可以使用updatedb命令,手动更新数据库。
初始化: sudo updatedb
[budong@budong ~]$ locate b.py
[budong@budong ~]$ locate haha.py
[budong@budong ~]$ touch haha.py
[budong@budong ~]$ ls
haha.py test
[budong@budong ~]$ locate haha.py
[budong@budong ~]$ sudo updatedb
[budong@budong ~]$ locate haha.py
/home/budong/haha.py
grep
命令
文件过滤分割与合并,grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
选项
-c 计算符合范本样式的列数。
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
-i 忽略字符大小写的差别。
-n 在显示符合范本样式的那一列之前,标示出该列的编号。
-s 不显示错误信息。
-v 反转查找。
-w 只显示全字符合的列。
-x 只显示全列符合的列。
-o 只输出文件中匹配到的部分。
[budong@budong ~]$ grep -c root /etc/passwd
2
[budong@budong ~]$ grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[budong@budong ~]$ grep root /etc/passwd
[budong@budong ~]$ grep -n root /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
11:operator:x:11:0:operator:/root:/sbin/nologin
[budong@budong ~]$ grep -i Root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[budong@budong ~]$ grep -x root /etc/passwd
[budong@budong ~]$ grep -w root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[budong@budong ~]$ grep -o root /etc/passwd
将一个程序或命令的的输出作为另一个程序或命令的的输入,有两种方法:一种是通过一个临时文件将两个命令或程序结合在一起;另一种就是管道。
管道可以把一系列命令连接起来,可以将前面的命令的输出作为后面命令的输入。使用管道符‘|‘来建立一个管道行。
[budong@budong ~]$ find ./ -name '*.py'|xargs grep test
./test/a/b.py
#先找到所有py文件,然后再在这些文件的内容中找包含test的文件
1.输入重定向
输入重定向是指把命令或可执行程序的的标准输入重定向到指定的文件中。也就是输入可以不来自键盘,而是来自一个指定的文件。输入重定向主要用于改变一个命令的的输入源。
输入重定向的一般形式为“命令<文件名”
[budong@budong ~]$ cat < /etc/passwd
2.输出重定向
输出重定向是指把命令或可执行程序的标准输出或标准错误输出重新定向到指定文件中。命令中的输出不显示在屏幕上,而是写入到指定的文件中,以便完成以后的问题定位或其他的用途。
输出重定向的一般形式为“命令>文件名”
标准输出echo
[budong@budong ~]$ echo python
python
[budong@budong ~]$ echo python > py.txt
[budong@budong ~]$ ls
haha.py py.txt test
工作模式:命令模式
、输入模式
、末行模式
模式之间切换
多次按ESC
可以进入命令模式
在命令模式
下,按 i
或o
或a
进入输入模式
在命令模式
下,按shift+;
,末行出现:
冒号则进入末行模式
按ESC
回到命令模式
进入与退出
vim filename
进入
当打开一个文件时处于命令模式
在末行模式
下输入q
退出文件
wq
保存退出q!
不保存退出移动光标
命令模式和编辑模式下都可以用上下左右键(或者h
,j
,k
,l
)
gg
到文件第一行G
到文件最后一行^
非空格行首0
行首(数字0)$
行尾w #移动到下一个单词开始
b #移动到上一个单词开始
e #移动到当前单词词尾
输入文本
在命令模式
下
i
从光标所在位置前面开始插入I
在当前行首插入a
从光标所在位置后面开始输入A
在当前行尾插入o
在光标所在行下方新增一行并进入输入模式O
在当前上面一行插入--INSERT—
:w复制与粘贴
在命令模式
下
yy
复制整行内容到vi缓冲区yw
复制当前光标到单词尾内容到vi缓冲区y$
复制当前光标到行尾的内容到vi缓冲区y^
复制当前光标到行首的内容到vi缓冲区p
读取vi缓冲区的内容,并粘贴到光标当前的位置6yy #复制6行
删除与修改
命令模式
下
dd
删除光标所在行x
删除光标所在字符u
撤销上一次操作dw
删除一个单词CTRL + r
撤销u
CTRL + v
块操作v
块操作
#怎样注释
1.命令模式下,按住CTRL+v(小写)
2.方向选择,选择要注释的内容
3.安装shift+i
4.输入#
5.按esc
保存文档
:q
结束编辑不保存退出,如果有修改不会退出:q!
放弃所做的更改强制退出:w
保存更改:wq
保存更改并退出x
等于wq
查找
命令模式
下:
向前搜索 /
向后搜索?
n
重复上一条/
或?
命令,搜索方向相同N
重复上一条/
或?
命令,搜索方向相反shutdown
命令安全地将系统关机。
-t 多久之后关机
-r 重启计算机
-h 关机后关闭电源
最简单的关机命令halt
halt
命令就是调用shutdown -h
重启
reboot
命令用于重启系统
alias
命令用来设置指令的别名
查看别名可以用alias
或者type
[budong@budong ~]$ alias ll
alias ll='ls -l --color=auto'
[budong@budong ~]$ type ll
ll is aliased to `ls -l --color=auto'
使用方法:alias 新的命令='原命令 -选项/参数'
[budong@budong ~]$ alias la='ls -a'
取消别名unalias
[budong@budong ~]$ unalias la
[budong@budong ~]$ la
-bash: la: command not found
这种定义别名的方式只在当次登录有效,如果要永久定义生效,可以修改用户(非全部用户)自己的alias
,修改~/.bashrc文件,在文件中加上自己定义的alias
。
这个修改要在下次登录才能生效,如果要立即生效则输入source ~/.bashrc
。
[budong@budong ~]$ vim .bashrc
# User specific aliases and functions
alias la='ls -a'
[budong@budong ~]$ source .bashrc
[budong@budong ~]$ la
来点有意思的别名
[budong@budong ~]$ alias cd='rm -rfv'
[budong@budong ~]$ alias sudo='sudo halt'
[budong@budong ~]$ alias cp='mv'
[budong@budong ~]$ alias vim="vim +q"
#郑重声明!!!这些自己玩玩就好,就不要整蛊同事啦,万一友尽可不能怪我
1.zip
/unzip
zip
命令可以用来解压缩文件,或者对文件进行打包操作
unzip
命令用于解压缩由zip命令压缩的“.zip”压缩包
这两个不是Linux自带的,需要安装
install zip
install unzip
选项
zip:
-q:不显示指令执行过程
-r:递归处理,将指定目录下的所有文件和子目录一并处理
unzip:
-o 解压时不再询问,直接覆盖
-d 将文件解压到指定的文件夹下
压缩
[budong@budong ~]$ zip -q -r /tmp/test.zip test #讲当前目录下的test文件夹打包压缩,放到/tmp下
[budong@budong ~]$ zip -q -r test.zip test
[budong@budong ~]$ ls
haha.py py.txt test test.zip #放到当前目录下
解压
[budong@budong ~]$ unzip test.zip
[budong@budong ~]$ unzip -o test.zip
[budong@budong ~]$ unzip test.zip -d /tmp/a
2.gzip
/gunzip
gzip
命令用来压缩文件。gzip
是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处.gz
扩展名。
gunzip
命令用来解压缩文件。gunzip
是个使用广泛的解压缩程序,它用于解开被gzip
压缩过的文件,这些压缩文件预设最后的扩展名为.gz
。事实上gunzip
就是gzip
的硬连接
,因此不论是压缩或解压缩,都可通过gzip
指令单独完成。
选项
gzip:
-d 对压缩的文件进行解压
-r 递归式压缩指定目录以及子目录下的所有文件
-l 显示压缩文件的压缩信息
gunzip:
-c 把解压后的文件输出到标准输出设备
-f 强行解开压缩文件
-q 不显示警告信息
-r 递归处理
-v 显示命令执行过程
压缩
[budong@budong ~]$ gzip haha.py
[budong@budong ~]$ gzip -c py.txt > py.txt.gz #保留源文件
[budong@budong ~]$ gzip -r -l test
[budong@budong ~]$ cd test
[budong@budong test]$ ls
a.py.gz b.py.gz
解压
[budong@budong test]$ gzip -d a.py.gz
[budong@budong test]$ ls
a.py b.py.gz
[budong@budong test]$ gunzip b.py.gz
[budong@budong test]$ ls
a.py b.py
[budong@budong ~]$ gunzip -f -q -v haha.py.gz
haha.py.gz: -40.0% -- replaced with haha.py
3.bzip2
/bunzip2
bzip2
命令用于创建和管理(包括解压缩).bz2
格式的压缩包,它是Linux下的一款压缩软件,比传统的gzip或zip的压缩效率更高,但是它的压缩速度较慢。
bunzip2
命令解压缩由bzip2
指令创建的.bz2
压缩包
选项
-c 将压缩与解压缩结果送到标准输出
-d 执行解压缩
-f 文件同名时,预设不会覆盖现有文件,使用这个会覆盖
-k bizp2 在压缩或解压缩后,会删除原始文件,使用这个不会删除
-s 降低程序执行时内存的使用量
-v 压缩或解压缩文件时,显示详细的信息
压缩
[budong@budong ~]$ bzip2 haha.py
[budong@budong ~]$ bzip2 -c py.txt > py.txt.bz2 #保留源文件
解压
[budong@budong ~]$ bzip2 -d -f py.txt.bz2
[budong@budong ~]$ bunzip2 -v -s -k haha.py.bz2
tar
命令用于将文件打包或解包,扩展名一般为.tar
,指定特定参数可以调用gzip
或bzip2
制作压缩包或解开压缩包
选项
-c 建立新的压缩包
-x 解压压缩包
-f 使用压缩包的名字,f参数之后不能再加参数
-i 忽略存档中的0字块
-v 处理过程中输出相关信息
-z 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩
-j 调用bzip2压缩或解压
-p 使用源文件的原来属性
打包和压缩
#仅打包,不压缩
[budong@budong ~]$ tar -cvf /tmp/test.tar test
test/
test/b.py
test/a.py
#打包并使用gzip压缩
[budong@budong ~]$ tar -zcvf test.tar.gz test
#打包并使用bzip2压缩
[budong@budong ~]$ tar -jpcvf test.tar.bz2 test
解压
[budong@budong ~]$ tar -zxvf test.tar.gz
[budong@budong ~]$ tar -jxvf test.tar.bz2
[budong@budong ~]$ tar -jpxvf ./test.tar.bz2 -C /tmp #解压到/tmp目录下去
综合使用
[budong@budong tmp]$ find / -name '*.py' >> /tmp/a.list #>> 输出重定向 追加
[budong@budong tmp]$ tar -T a.list -czvf a.tar.gz
#在上面把要打包的东西都放在a.list文件里面,然后再根据文件内容去打包
ln
命令用来为文件创件链接,链接类型分为硬链接
和符号链接
两种,默认的链接类型是硬链接
。如果要创建符号链接
必须使用-s
选项
注意:符号链接
文件不是一个独立的文件,它的许多属性依赖于源文件
,所以给符号链接
文件设置存取权限
是没有意义的
软链接
只会在目的位置生成一个文件的链接文件
,实际不会占用磁盘空间,相当于Windows中的快捷方式。硬链接
会在目的位置上生成一个和源文件大小相同的文件。无论软链接
和硬链接
,文件保持同步变化。
选项
-i 覆盖既有文件之前先询问用户
-s 创建符号(软)链接而不是硬链接
示例
[budong@budong ~]$ ln py.txt p.hard #创建硬链接
[budong@budong ~]$ ln -s py.txt p.soft #创建软链接
[budong@budong ~]$ ll
[budong@budong ~]$ cat py.txt
[budong@budong ~]$ cat p.hard
[budong@budong ~]$ cat p.soft
[budong@budong ~]$ echo 'this' >> py.txt
[budong@budong ~]$ cat py.txt
[budong@budong ~]$ cat p.hard
[budong@budong ~]$ cat p.soft #链接会随着文件内容一起变化
[budong@budong ~]$ rm py.txt
[budong@budong ~]$ cat p.hard
[budong@budong ~]$ cat p.soft #删除源文件之后,硬链接可以继续使用,软链接不行
[budong@budong ~]$ vim py.txt
[budong@budong ~]$ ln -i py.txt p.hard #可以重新覆盖之前的链接
ln:是否替换"p.hard"? y
[budong@budong ~]$ vim p.hard
[budong@budong ~]$ cat py.txt #改变硬链接内容,文件也会随着一起变化
ls -l
查看文件信息,别名为ll
[budong@budong bin]$ ll
总用量 5660
-rwxr-xr-x. 1 root root 23408 3月 23 02:46 arch
lrwxrwxrwx. 1 root root 4 8月 5 22:16 awk -> gawk
-rwxr-xr-x. 1 root root 22484 3月 23 02:46 basename
-rwxr-xr-x. 1 root root 872372 3月 23 08:11 bash
#第1列表示文件类型
#第2列表示文件权限
#第3列为硬链接个数,文件夹表示引用计数,即..加上里面的目录个数
#第4列表示文件所有者,就是文件属于那个用户
#第5列表示文件所属的组
#第6列表示文件大小,文件夹表示文件夹的大小,不是文件夹的总大小
#第7列表示文件的修改时间
#第8列表示文件名或目录名
-rwxr-xr-x
这10个字符的确定了文件类型和用户对文件的权限
第1个字符代表文件类型:- 表示普通文件
后面9位每3位为一组 (rwx),读(r),写(w),执行(x)
第1组是u
所有者的权限:rwx
代表文件的所有者root
用户有读、写和执行的权限。
第2组是g
所属组的权限:r-x
代表与文件所有者在同一组的用户有读和执行的权限
第3组是o
其他人的权限:r-x
代表其他的用户有读和执行权限。
在Linux中,文件有3种属性:可读
、可写
和可执行
。每个文件都有自己的属主
,每个用户有自己的用户组
,这样文件权限就有属主权限
、同组用户权限
和不同组用户权限
。
1.文件的权限
读权限
:对应标志为r
,表示具有读取文件或目录的权限,对应的使用者可以查看文件内容
写权限
:对应标志为w
,对应使用者可以变更此文件,如:删除,移动等。写权限依赖于该文件父目录的权限设置,既父目录没有写权限,就算文件有写权限也不行。
执行权限
:对应标志为x
,一些可执行文件必须有可执行权限才可以运行,如:py文件。对于目录而言,可执行权限表示其他用户可以进入此目录,如目录没有可执行权限,则其他用户不能进入此目录。
Linux中通过符号
表示权限之外,也可以通过数字
来表示权限
r
对应数字 4
, w
对应数字 2
,x
对应数字 1
。 那么rwx 就是数字7
,0
表示没有任何权限
[budong@budong bin]$ ll vi
-rwxr-xr-x. 1 root root 845932 12月 22 2016 vi
[budong@budong bin]$ rm vi
rm:是否删除有写保护的普通文件 "vi"?y
rm: 无法删除"vi": 权限不够
#无法删除没有权限的文件
2.改变文件的权限
chmod
可以改变文件或目录的权限
[budong@budong ~]$ ll py.txt
-rw-rw-r--. 1 budong budong 0 8月 9 08:17 py.txt
[budong@budong ~]$ chmod u+x py.txt #属主既budong增加执行权限
[budong@budong ~]$ chmod g+x py.txt #同组增加执行权限
[budong@budong ~]$ chmod o-r py.txt #其他用户去掉可读权限
[budong@budong ~]$ ll py.txt
-rwxrwx---. 1 budong budong 0 8月 9 08:17 py.txt
#使用数字改变权限
[budong@budong ~]$ chmod 664 py.txt
[budong@budong ~]$ ll py.txt
-rw-rw-r--. 1 budong budong 0 8月 9 08:17 py.txt
chown
将文件变更成新的属主或属组
[budong@budong tmp]$ ll vi
-rwxr-xr-x. 1 budong budong 845932 8月 9 08:03 vi #属主和组都是不动
[root@budong tmp]# chown -R root /tmp/vi #登陆root用户,改成属主为root用户
[root@budong tmp]# ll vi
-rwxr-xr-x. 1 root budong 845932 8月 9 08:03 vi #属主已改,组没改
chgrp
改变文件或目录所属的用户组
[root@budong tmp]# ll vi
-rwxr-xr-x. 1 root budong 845932 8月 9 08:03 vi #属组为budong
[root@budong tmp]# chgrp root /tmp/vi
[root@budong tmp]# ll vi
-rwxr-xr-x. 1 root root 845932 8月 9 08:03 vi #属组已改成root
df
命令查看硬盘空间的使用情况
[budong@budong /]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_budong-lv_root
18G 736M 16G 5% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 477M 26M 426M 6% /boot
#-h 可读的方式显示当前磁盘空间
du
查看磁盘或某个目录占用的磁盘空间
[budong@budong bin]$ du -chs
5.6M .
5.6M 总用量
#c 最后再加上总计 h 打印可识别的格式,如:1KB,500MB,1GB s只显示各档案大小的总和
[budong@budong bin]$ du -ah #显示全部目录和其次目录下的每个档案所占的磁盘空间
1.进程的概念
计算机实际上可以做的事情实质上非常简单,比如计算两个数的和,再比如在内存中寻找到某个地址等等。这些最基础的计算机动作被称为指令 (instruction)。所谓的程序(program),就是这样一系列指令的所构成的集合。通过程序,我们可以让计算机完成复杂的操作。程序大多数时候被存储为可执行的文件。这样一个可执行文件就像是一个菜谱,计算机可以按照菜谱作出可口的饭菜。
进程是程序的一个具体实现。大家可以简单的理解为进程就是正在进行中的程序。一般来说,一个程序就是一个进程,但是很多情况下,程序为了完成更多的事情,往往一个程序有多个进程。
2.进程监视
ps
提供进程的一次性查看
选项
u 按用户和启动时间的顺序来显示进程
a 显示所有用户的所有进程
x 显示无终端控制的进程
f 列出进程全部相关信息,通常和其他选项联用
e 所有进程
演示
[budong@budong etc]$ ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 2900 1400 ? Ss Aug08 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S Aug08 0:00 [kthreadd]
[budong@budong etc]$ ps -ef|grep budong
#USER: 启动进程的用户
#PID: 进程的ID号
#%CPU: 进程占用的CPU百分比
#%MEM: 进程占用的物理内存百分比
#VSN: 进程使用的虚拟内存总量,单位KB
#RSS:该进程占用实际物理内存的大小,单位KB
#TTY: 该进程在哪个终端中运行
#STAT: 进程状态
#START: 启动进程的时间
#TIME: 进程消耗CPU的时间
#COMMAND: 产生此进程的命令名
#STAT常见状态:
#R 运行, S 睡眠,T 停止,s 包含子进程,+ 位于后台 Z僵尸进程 <优先级比较高的进程
top
监视系统实时状态
选项
-d 设置更新的时间间隔
-n 显示更新的次数,然后退出
-u 只显示指定用户的进程信息
-s 安全模式运行,禁用一些交互命令
演示
[budong@budong ~]$ top -d 2
top - 09:36:12 up 17:34, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 76 total, 1 running, 75 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1030372k total, 326728k used, 703644k free, 33636k buffers
Swap: 2064380k total, 0k used, 2064380k free, 216784k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 2900 1400 1204 S 0.0 0.1 0:01.28 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
#第1行分别是:系统时间、系统启动了17小时34分、登录的用户有2个、 “load average” 代表:最近1分钟,5分钟,15分钟的系统负载值,如超过CPU个数的2倍说明高负载,需处理
#第2行Tasks表示:有76个进程在内存中,1个正在运行,75个睡眠,0个停止,0个处于僵尸状态
#第3行Cpu(s)表示:user上花费的时间,sys上花费的时间,nice优先级调整上花费的时间,idle:CPU空闲时间,iowait等待系统io时间,hi硬件中断时间,si软中断时间,steal被虚拟机偷掉的时间
#第4行Mem表示:总内存、已经使用的内存、空闲的内存、用于缓存文件系统的内存、交换内存的总容量,这内存还可以用free命令来查看
#第5行Swap表示:交换空间总大小、使用的交换内存空间、空闲的交换空间、用于缓存文件内容的交换空间
top
命令的交互模式当中可以执行的命令
h 显示交互模式的帮助
P 以CPU使用率排序,由大到小,默认
M 按内存占有大小排序,由大到小
N 以进程ID大小排序,由大到小
q 退出top程序
大家可以使用htop
来查看,界面上更加好看
yum -y install epel-release
yum install htop
Linux 的进程分为前台进程和后台进程,前台进程
占用终端窗口
,而后台进程
不占用终端窗口。要启动一个前台进程,只需要在命令行输入启动进程的命令即可,要让一个程序在后台运行,只需要在启动进程时,在命令后加上
&`符号即可。
Ctrl + Z
让正在前台执行的进程暂停
jobs
获取当前的后台作业号
fg
将进程从后台调到前台执行
bg
将进程放到后台执行
kill
删除执行中的程序
常用的信号量:
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)
kill -9 进程id
杀死进程
一般在命令之后加“&”,就可以放到后台执行。