Linux 学习笔记之超详细基础linux命令 Part 12

时间:2021-12-02 09:53:03

Linux学习笔记之超详细基础linux命令

by:授客 QQ1033553122

---------------------------------接Part 11------------------------------

方法1:rpm
-V
软件包

方法2:rpm
-V[选项]

主要选项:

-a(all)

验证所有的已安装软件包

-f(file)

文件 
验证指定文件所属的软件包

功能:验证软件包是否正常,若一切正常则不输出任何内容。否则输出8位字符串。字符串中的字符表示某项验证失败,字符及含义说明如下:

S(size)
文件大小不同

M(mode)
文件权限和文件类型不同

5 MD5校验码不同

D(device)

设备的标识符号不同

L(link)
文件的链接路径不同

U(user)
文件所有者用户不同

G(group)

文件所属组群不同

T(time)

文件修改时间不同

例子:验证samba软件包

[laiyu@localhost ~]$ rpm -V
samba-common-3.5.10-125.el6.i686

missing    
/var/log/samba/old (Permission denied)

[laiyu@localhost ~]$
su

Password:

[root@localhost laiyu]# rpm
-V samba-common-3.5.10

备注:软件包应该写是软件名称或软件名称加上版本编号

方法:rpm
-e
软件包

功能:删除RPM软件包

说明:删除软件包时,参数不能使用rpm软件包的完整文件名,只能使用软件名称或软件名称加上版本编号。如果将删除的软件包与其它已安装软件包存在依赖关系,

那么系统会显示提示信息并终止删除操作。

例子:删除vsftpd软件包

[laiyu@localhost ~]$ rpm -e
vsftpd

--启动进程与作业

进程与作业的启动方式

1.1手动启动

前台启动

方法:Shell命令

【Enter】键

前台作业:运行在于前台,用户正对其进行交互操作。

后台启动

方法:Shell命令
&

【Enter】键

备注:后台作业:运行于后台,不接收终端的输入,但向终端输出执行结果。

1.2.调度启动
at调度,batch调度,cron调度

备注:进程的状态:

就绪状态:进程已经活得除CPU以外的运行所需要的全部资源

运行状态:进程占用CPU正在运行

等待状态:进程正在等待某个事件或某一资源

除了上述基本的三种状态以外,Linux还描述进程的以下状态

挂起状态:正在运行的进程,因为某个原因失去了CPU而暂时停止运行

终止状态:进程已经结束

休眠状态:进程主动暂时停止运行

僵死状态:进程已经停止允许,但是相关控制信息仍然保留

备注:进程的优先级:Linux中进程优先级取值范围:-20
~19之间的整数,取值越低,优先级越高。默认0

作业的前后台切换

bg命令

格式:bg
[作业号]

功能:将前台作业切换到后台运行。说若没有指定作业号,则将当前作业切换到后台。

备注:一个或多个相关进程可以形成一个作业。用管道,如ls | more

作业可以启动多个ls
,more多个进程。

例:使用vi编辑f1文件,然后使用【Ctrl+Z】组合键挂起vi,再切换到后台

[laiyu@localhost ~]$ vi
file2

【Ctrl+z】

[1]+  Stopped                
vim file2

[laiyu@localhost ~]$ bg
1

[1]+ vim file2
&

[1]+  Stopped                
vim file2

fg命令

方法:fg
[作业号]

功能:将后台作业切换到前台运行。若没有指定作业号,则将后台作业序列中的第一个作业切换到后台运行。

例子:将上例中的作业号为1的作业切换到前台继续编辑

[laiyu@localhost ~]$ fg
1

--管理进程与作业的Shell命令

jobs命令

方法:jobs
[选项]

功能:显示当前所有的作业

主要选项:

-p(process)

仅显示进程号

-l(list)

同时显示进程号和作业号

例子:显示所有的作业,一并显示其进程

[laiyu@localhost ~]$ vi
file2

[1]+  Stopped                
vim file2

[laiyu@localhost ~]$ jobs
-l

[1]+  3357
Stopped                
vim file2

ps命令

方法:ps
[选项]

功能:显示进程的状态,无选项时显示当前用户在当前终端启动的进程

主要选项:

-a(all)

显示当前终端上所有的进程,包括其它用户的进程信息

-e

显示系统中所有的进程,包括其它用户进程和系统进程的信息

-l(list) 
显示进程的详细信息,包括父进程号、进程优先级

-u(used) 
显示进程的详细信息,包括CPU和内存的使用情况

-x

显示后台进程的信息[包括没有终端的进程信息]

-t
终端号
显示指定终端上的进程信息

例子:使用-l选项显示当前进程的详细信息

[laiyu@localhost ~]$ ps
-l

F S  
UID  
PID 
PPID  C
PRI  NI ADDR
SZ WCHAN 
TTY         
TIME CMD

0 S  
500 
2870 
2868 

80   0
-  1310
-     
pts/0   
00:00:00 bash

0 T  
500 
3357 
2870 

80   0
-  2725
-     
pts/0   
00:00:00 vim

0 R  
500 
3359 
2870 

80   0
-  1216
-     
pts/0   
00:00:00 ps

说明:

主要输出项:

S(State)

进程状态,其中R(Running)表示运行状态,S(Suspended)表示休眠状态,T(Time
out)表示暂停或终止状态;Z表示僵死状态

UID(User ID)

进程启动者的用户ID

PID(Process ID)

进程号

PPID(Parents Process
ID)

父进程的进程号

NI(Nice)

进程的优先级

SZ(Size)

进程占用内存大小,以KB为单位

TTY(Terminal)

进程所在终端的终端号,其中桌面环境的终端窗口

TIME

进程已经运行的时间

CMD

启动该进程的Shell命令

例子:使用“u”选项显示当前进程的详细信息

[laiyu@localhost ~]$ ps
-u

Warning: bad syntax,
perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ

USER      
PID %CPU %MEM   
VSZ   RSS
TTY     
STAT START   TIME
COMMAND

laiyu    
2870 
0.0 
0.0  
5240  1724
pts/0   
Ss  
21:14   0:00
bash

laiyu    
3357 
0.0 
0.0 
10900  3196
pts/0   
T   
22:21   0:00
vim file2

laiyu    
3362 
0.0 
0.0  
4916  1064
pts/0   
R+  
22:22   0:00
ps -u

主要输出项:

%CPU           
CPU的使用情况

%MEM(Memory)

内存的使用率

STATE(State)

进程的状态

START

进程的开始时间

例子:切换到其它终端,查看进程的详细信息

[laiyu@localhost ~]$ ps -l
-t tty1

F S  
UID  
PID 
PPID  C
PRI  NI ADDR
SZ WCHAN 
TTY         
TIME CMD

4 S    

2347 
2345 

80   0 -
14373 ?     
tty1    
00:03:44 Xorg

kill命令

方法:kill
[选项]

进程号

方法:kill
%
作业号

功能:终止正在运行的进程或作业。超级用户可以终止所有的进程。普通用户只能终止自己启动的进程

主要选项:

-9

当无选项的kill命令不能终止进程时,可以-9强制终止进程

例子:假设某进程的进程号为3357,终止此进程

[laiyu@localhost ~]$ ps
-u

Warning: bad syntax,
perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ

USER      
PID %CPU %MEM   
VSZ   RSS
TTY     
STAT START   TIME
COMMAND

laiyu    
2870 
0.0 
0.0  
5240  1724
pts/0   
Ss  
21:14   0:00
bash

laiyu    
3357 
0.0 
0.0 
10900  3196
pts/0   
T   
22:21   0:00
vim file2

laiyu    
3365 
0.0 
0.0  
4916  1048
pts/0   
R+  
22:23   0:00
ps -u

[laiyu@localhost ~]$ kill -
9 3357

bash: kill: : invalid
signal specification

[laiyu@localhost ~]$ kill
-9 3357

[laiyu@localhost ~]$ ps
-u

Warning: bad syntax,
perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ

USER      
PID %CPU %MEM   
VSZ   RSS
TTY     
STAT START   TIME
COMMAND

laiyu    
2870 
0.0 
0.0  
5240  1724
pts/0   
Ss  
21:14   0:00
bash

laiyu    
3367 
0.0 
0.0  
4916  1044
pts/0   
R+  
22:24   0:00
ps -u

[1]+  Killed                 
vim file2

nice命令

方法:nice
[-优先级值]

命令

功能:指定将启动的进程的优先级。不指定优先级时,将优先级设置为10.

[laiyu@localhost ~]$ nice
-5 ftp

nice: ftp: No such file or
directory

renice命令

方法:renice
优先级值
参数

修改运行中的进程的优先级,设置指定用户或组群的进程优先级。

主要参数:

-p(process) 
进程号

修改指定进程的优先级

-u(user)

用户名

修改指定用户所启动进程的默认优先级

-g(group)

组群号

修改指定组群中所有用户的所启动进程的默认优先级

例子:将laiyu用户的进程优先级调高为5

[laiyu@localhost ~]$ renice
-5 -u laiyu

renice: 500: setpriority:
Permission denied

[laiyu@localhost ~]$
su

Password:

[root@localhost laiyu]#
renice -5 -u laiyu

500: old priority -5, new
priority -5

[root@localhost laiyu]#
renice 5 -u laiyu

500: old priority -5, new
priority 5

[root@localhost
laiyu]#