zoukankan      html  css  js  c++  java
  • 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]#


  • 相关阅读:
    day02
    Hive_分区排序(Distribute By)
    flink添加水位线
    SparkSQL读写JDBC
    spark累加器及UDTF
    datax同步json中文乱码问题
    mysql踩过的坑
    spark算子
    spark分区计算方式
    git操作
  • 原文地址:https://www.cnblogs.com/shouke/p/10158173.html
Copyright © 2011-2022 走看看