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

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

by:授客 QQ1033553122

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

方法1rpm -V 软件包

方法2rpm -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  0  80   0 -  1310 -      pts/0    00:00:00 bash

0 T   500  3357  2870  0  80   0 -  2725 -      pts/0    00:00:00 vim

0 R   500  3359  2870  0  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     0  2347  2345  5  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]#


原文地址:https://www.cnblogs.com/shouke/p/10158173.html