Linux基础命令二

二、进阶命令

2.1 ps命令

  1. 作用:监测进程。
  2. ps aux:显示所有用户的进程
    • 可以看见CPU使用率,内存使用率、进程状态
  3. ps -ef系统上运行的所有进程
    • 可以看见PPID
  4. 一些信息
    • UID:启动这些进程的用户。
    • PID:进程的进程ID。
    • PPID:父进程的进程号(如果该进程是由另一个进程启动的)。
    • C:进程生命周期中的CPU利用率。
    • STIME:进程启动时的系统时间。
    • TTY:进程启动时的终端设备。
    • TIME:运行进程需要的累计CPU时间。
    • CMD:启动的程序名称。
    • STAT:代表当前进程状态的双字符状态码。
      • <:该进程运行在高优先级上。
      • N:该进程运行在低优先级上。
      • L:该进程有页面锁定在内存中。
      • s:该进程是控制进程。
      • l:该进程是多线程的。
      • +:该进程运行在前台。

2.2 top命令

  1. 作用:实时监测进程

  2. 内容

    top - 20:48:13 up  2:21,  2 users,  load average: 0.00, 0.01, 0.05
    Tasks: 267 total,   1 running, 266 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  2027892 total,   167456 free,   861556 used,   998880 buff/cache
    KiB Swap:  2097148 total,  2097148 free,        0 used.   983100 avail Mem 
    
     PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND   
    
    • 第一行:当前时间、系统的运行时间、登录的用户数、系统的平均负载:最近一分钟、最近五分钟、最近15分钟
    • 第二行:总任务数、正在运行、正在休眠、停止、僵尸状态
    • 第三行:CPU状态
    • 第四行:系统内存状态
    • 第五行:交换空间状态
  3. 其他内容

    • PID:进程的ID。

    • USER:进程属主的名字。

    • PR:进程的优先级。

    • NI:进程的谦让度值。

    • VIRT:进程占用的虚拟内存总量。

    • RES:进程占用的物理内存总量。

    • SHR:进程和其他进程共享的内存总量。

    • S:进程的状态(D代表可中断的休眠状态,R代表在运行状态,S代表休眠状态,T代表
      跟踪状态或停止状态,Z代表僵化状态)。

    • %CPU:进程使用的CPU时间比例。

    • %MEM:进程使用的内存占可用内存的比例。

    • TIME+:自进程启动到目前为止的CPU时间总量。

    • COMMAND:进程所对应的命令行名称,也就是启动的程序名。

  4. q退出top

  5. 默认是按照%CPU进行排序,f选择排序的字段。

  6. d修改轮询间隔,单位秒

2.3 kill命令

  1. 作用:给进程发送信号
  2. kill 进程号,发送一个TERM信号。
  3. kill -s 信号名/信号值 进程号,向指定进程发送指定信号
    • 1 HUP 挂起
    • 2 INT 中断
    • 3 QUIT 结束运行
    • 9 KILL 无条件终止
    • 11 SEGV 段错误
    • 15 TERM 尽可能终止
    • 17 STOP 无条件停止运行,但不终止
    • 18 TSTP 停止或暂停,但继续在后台运行
    • 19 CONT 在STOP或TSTP之后恢复执行

2.4 killall命令

  1. 作用:根据进程名来结束进程
  2. killall http*结束http开头的所有进程

2.5 mount命令

  1. 作用:与挂载文件相关
  2. 挂载是什么?
    • 假设现在有一个U盘,如何使用?系统会发现这个U盘,并且认为是一个设备文件,通常会被分配一个设备名,例如/dev/sdb1,目前只有这个设备文件,但并没有挂载到文件系统,所以还不能进行读写。
    • 为什么要挂载到文件系统?
      • 挂载到文件系统,这样文件系统就能够统一管理了。
    • 挂载后,就可以操作了。
      • 创建挂载点mkdir /mnt/usb
      • 挂载U盘sudo mount /dev/sdb1 /mnt/usb
      • 然后访问/mnt/usb就是访问U盘的内容了
    • 卸载U盘
      • sudo umount /mnt/usb
    • 挂载点如果原来有文件,此时会被“屏蔽”。卸载之后,会恢复。

2.6 df命令

  1. 作用:查看所有已挂载磁盘的使用情况

  2. 内容

    文件系统          1K-块     已用    可用 已用 % 挂载点
    
    • 设备位置、共多少块、已用、可用、已用空间所占比例、挂载点
  3. -h:按照用户易读的形式显示。

2.7 du命令

  1. df很容易发现哪个磁盘的存储空间满了,那么,具体那个目录占用空间太大了?
  2. 作用:显示某个特定目录的磁盘使用情况,默认是当前目录。
  3. 默认情况会显示当前目录下的所有目录、子目录的磁盘使用情况。
  4. -a:查看所有文件、目录、子目录
  5. -h:以用户易读的方式显示。
  6. -s:只查看当前目录大小,不显示每个子目录大小
  7. --max-depth=1:指定查看当前目录以及一级子目录的大小

2.8 gzip命令

  1. 作用:压缩文件
  2. gzip a:会把a文件压缩,然后得到a.gz文件,注意,原文件会消失了
    • 还可以gzip a*:把所有a开头的文件都压缩了。
    • 多文件压缩gzip a b c,注意,会分别生成a.gz, b.gz, c.gz,也就是说,gzip不能“打包”。可以使用tar
    • 同时,gzip也不能压缩文件。可以使用tar
  3. gzip -c a.txt > a.txt.gz,-c选项,保留原文件,注意还有一个>重定向
  4. 解压gunzip a.txt.gz,压缩文件没了,生成a.txt文件
    • 保留压缩包gunzip -c a.txt.gz > new_a.txt
    • 不保留压缩包,同时改名gunzip a.txt.gz && mv a.txt a_new.txt
      • 这是一种条件执行a命令 && b命令,如果a命令成功,才会执行b命令,如果a命令失败,不会执行b命令
      • 还有a命令 || b命令,如果a命令失败,才会执行b命令

2.9 tar命令

  1. 作用:打包文件、压缩文件

  2. 常用选项

    • tar -zcvf test.tar a.txt b/:将a.txt以及目录b/生成一个test.tar的归档文件,注意a.txt和b/都还存在

      • -z:使用gzip压缩
      • -c创建一个新的tar归档文件
      • -v在处理文件时显示文件
      • -f输出结果到文件
    • tar -xvf test.tar:提取文件,注意,test.tar还存在

      • -z:使用gzip解压

      • -x:提取文件

posted @ 2024-11-20 10:26  ouyangxx  阅读(5)  评论(0编辑  收藏  举报