一.监视系统活动和查看进程

  • w 命令:显示系统信息

    w命令

    • 第一个为时间(20点19分27秒)
    • up:运行正常时间(47分钟,重启或关机归0,可用uptime命令查询)
    • load average(平均负载,1分钟内,5分钟内,10分钟内进程个数,可用tload命令绘制负载图)
    • USER:用户名(登录名)
    • TTY:登陆终端的名称(tty1~tty7)
    • FROM:用户连接到的服务器IP地址
    • LOGIN@:用户已登陆的时长
    • IDLE:用户不活跃时间
    • JCPU:该终端所有相关进程使用CPU的时间
    • PCPU:当前进程使用的CPU时间
    • WHAT:当下用户正在运行的程序
  • 最近登录信息命令

    • lastlog:列出所有用户最近一次登录信息(读取 /var/log/lastlog 文件信息)
    • last:列出当前和过去登录系统的用户信息(读取 /var/log/wtmp 文件信息)
    • lastb:列出登录失败的信息(读取 /var/log/btmp 文件信息)
  • ps 和 top 命令:列出运行的进程

    • ps:进程的静态列表

      ps命令

      • PID:进程号

      • TTY:进程运行所在的终端

      • TIME:进程运行了多久

      • CMD:程序名

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        #列出所有进程(所有用户) -ef
        ps -ef
        #配合管道使用(Crtl+Z退出)
        ps -ef | less

        #以乔木状列出所有的进程 -efH
        ps -efH

        #列出用户(ming)运行的进程 -u
        ps -u ming

        #通过CPU过滤进程(使用率降序) -aux
        ps -aux --sort -pcpu | less

        #通过内存过滤进程(使用率降序) -aux
        ps -aux --sort -pmem | less

        #结合CPU与内存显示前十个结果
        ps -aux --sort -pcpu,pmem | head

        #以树形结构显示进程
        pstree
  • 查看资源占用情况

    1
    2
    3
    df -h # 查看磁盘剩余空间
    du -bs /usr # 查看/usr目录大小
    find. -size +100M # 查找当前文件夹占用超过100M的文件

二.进程操作和系统重启

  • top 命令:进程的动态列表

    • top命令无法显示全部进程内容,默认按照CPU占用率降序排序
    • q退出,h帮助文档,B加粗某些信息
    • f 在进程列表中添加或删除某些列
    • F改变进程列表排序所参照的列
    • u依照用户来过滤显示
    • k(kill)结束某个进程,输入PID即可
    • s 改变页面刷新时间(默认3秒)
    • 进入后按E键切换数据单位
  • glances/htop:优秀的进程管理软件

  • Ctrl+C 与 kill 命令:停止进程

    1
    2
    3
    4
    5
    6
    7
    8
    #结束PID为12345的进程
    kill 12345

    #强制结束PID为12345的进程
    kill -9 12345

    #结束多个进程,接程序名
    killall gsd
  • halt 命令和 reboot 命令:停止和重启系统

    1
    2
    3
    #需要root身份关闭系统
    sudo halt
    sudo reboot
  • 关机命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    shutdown

    #定时5分钟关机
    shutdown -h +5

    #希望23:00关机
    shutdown -h 23:00

    #直接关机
    poweroff

三.前后台进程切换

  • 默认情况下,用户创建的进程都是前台进程

  • & 符号:在后台运行进程

    &符号

    • [1]:终端后台进程标号,第一个后台进程因此标1
    • 1963:进程号(PID),若要结束可用kill命令
    • 缺点:终端关闭或用户注销,进程自动结束
  • nohup 命令:使进程与终端分离 (no hangup)

    1
    nohup cp file.txt file_copy.txt &
  • Ctrl+Z:转到后台,并暂停运行

  • bg 命令:转入后台运行 (background)

    1
    2
    3
    #若命令已在后台,根据后台进程标号(假设是1)可恢复运行
    bg %1
    bg 1
  • ps命令标识进程的5种状态码

    状态码 描述
    D 不可中断
    R(runnable) 运行
    S(sleeping) 中断
    T(traced or stopped) 停止
    Z(zombie) 僵死
  • jobs 命令:显示后台进程状态

    1
    2
    3
    1.显示后台进程标号,如[1],与PID不一样
    2.显示后台进程状态,Stopped:停止,Running:运行
    3.命令名
  • fg 命令:进程转到前台 (foreground)

    1
    2
    #假设要把后台进程号为1的进程调到前台
    fg %1

    fg命令

四.多个终端Terminator软件

  • Terminator

    1
    2
    sudo apt-get install terminator
    #若提示unable to locate package,去Software & Updates里切换仓库源

    运行后,右键->Preferences可设置字体和字体大小

    右键->Split Horizontally 进行分屏

  • 常用快捷键

    Terminator快捷键 描述
    Ctrl+Shift+O 横向分割
    Ctrl+Shift+E 纵向分割
    Alt+上下左右键 终端切换
    Ctrl+Shift+W 关闭终端
    Ctrl+Shift+I 开启新的Tab​

五.定时与延时执行

  • date 命令

    1
    2
    3
    4
    5
    #输出时 分 秒,年份
    date "+%H:%M:%S,%Y"

    #修改时间到11月11号12点30分
    date 11111230
  • at 命令:延时执行一个程序

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #安装at命令
    sudo apt install at

    #在今天定时执行(后接具体时间)
    at 11:11
    at 20:05 12/10/19
    #上一行表示2019年12月10日20:05

    #在明天定时执行
    at 23:25 tomorrow

    #指定间隔后执行
    at now +10 minutes(hours/days/weeks/months/years)
  • atq 与 atrm 命令:列出和删除正在等待执行的at任务

    1
    2
    3
    4
    5
    #显示等待执行的at任务的编号,具体内容
    atq

    #删除at任务,后接编号
    atrm 1
  • sleep 命令:等待一会

    1
    2
    touch file.txt ; sleep 20 ; rm file.txt
    #用分隔符分隔命令,sleep默认为秒数,可加参数(m/h/d),如sleep 2m
  • “&&“与”||“符号与”;”

    • &&表示前面命令执行成功,才会执行后面命令
    • ||表示前面命令执行失败,才会执行后面命令
    • ; 表示无论前面命令执行是否成功,都会执行后面命令
  • crontab 命令:定时执行程序多次

    1
    2
    3
    4
    5
    6
    7
    #Ubuntu下启动、停止、重启crontab
    service cron start
    service cron stop
    service cron restart

    #配置nano为默认文本编辑器
    echo "export EDITOR=nano" >> ~/.bashrc

    参数介绍

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #修改(创建)crontab文件
    crontab -e

    #显示crontab文件
    crontab -l

    #删除crontab文件
    crontab -r

    #crontab文件输入格式
    m h dom mon dow command
    • 以图片解释crontab输入格式:

    crontab格式

    • 组合举例

      crontab示例


下篇文章推荐:Linux学习之旅5——网络和数据传输