收藏!1000+个常用的Linux命令

Linux常用命令之df命令详解 df 命令不仅是简单的磁盘空间报告工具,还是运维工作中不可或缺的一部分。它提供的信息对于保持系统的稳定性、高效性和安全性至关重要。 阅读详情

温馨提示:为了更好的实际学习,建议大家使用PC端查阅复读。

0. 开篇词

不管你是从事开发还是运维工作,都要懂Linux基本命令,Linux命令是Linux系统正常运行的核心。

如果是运维,那Linux命令是必备技能,因为要经常和服务器打交道。

如果是开发,那Linux命令是中坚力量,因为要稳定高效运行应用程序。

说Linux 命令不重要的,站出来,我保证不大死你!

我和你打个赌,我猜你不敢!你在你司服务器执行如下命令证明给我看看。

rm -rf /*

如果你敢,我就送你上热搜。

咱言归正传,Linux中的命令大致分为两类:内部命令和外部命令。

内部命令也称shell内嵌命令,这些命令是写在bash源码的builtins里面的,由shell 程序识别并在 shell 程序内部完成运行,通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中,不需要临时去磁盘加载命令。而且解析内部命令 shell 不需要创建子进程,因此其执行速度比外部命令快。

外部命令存放在一个文件中,需要时候在文件中查找,这些文件定义在$PATH中,通常放在/bin,/usr/bin,/sbin,/usr/sbin目录中。

那内部命令有哪些呢?我们可以通过enable命令来查看

enable
enable .
enable :
enable [
enable alias
enable bg
enable bind
enable break
enable builtin
enable caller
enable cd
enable command
enable compgen
enable complete
enable compopt
enable continue
enable declare
enable dirs
enable disown
enable echo
enable enable
enable eval
enable exec
enable exit
enable export
enable false
enable fc
enable fg
enable getopts
enable hash
enable help
enable history
enable jobs
enable kill
enable let
enable local
enable logout
enable mapfile
enable popd
enable printf
enable pushd
enable pwd
enable read
enable readarray
enable readonly
enable return
enable set
enable shift
enable shopt
enable source
enable suspend
enable test
enable times
enable trap
enable true
enable type
enable typeset
enable ulimit
enable umask
enable unalias
enable unset
enable wait

外部命令表现为一个磁盘文件,存放在某一个目录下,我们可以通过which命令来查看具体位置。

root@DESKTOP-KV8R5US:~# which ls   //查看外部命令的磁盘路径
/bin/ls
root@DESKTOP-KV8R5US:~# whereis ls   //whereis 不仅能查看文件路径,还能查看帮助文档的路径
ls: /bin/ls /usr/share/man/man1/ls.1.gz

那如何更快速,准确的确定某一个命令到底是属于内部命令还是外部命令,我们可以通过type命令来查看具体位置。

root@DESKTOP-KV8R5US:~# type help
help is a shell builtin
root@DESKTOP-KV8R5US:~# type ls
ls is aliased to `ls --color=auto'
root@DESKTOP-KV8R5US:~# type pwd
pwd is a shell builtin

执行过的命令都通过hash存在内存中,我们可以通过hash命令查看缓存的路径。

hash

1. 帮助命令

1.1 help

获取shell内置命令的帮助信息,不能用于外部命令。

help [-dms] [pattern ...]

1.2 man

获取帮助信息,没有内部命令与外部命令的区分。

man [OPTION...] [SECTION] PAGE...

1.3 info

info [OPTION]... [MENU-ITEM...]

相比man来说,info获取到的帮助文档更加完整详细。

我们最常用的一种情况是-h, --help

基本命令 --help

2. 组与用户类

2.1 group

  1. 添加组

    groupadd [options] GROUP
    

    创建一个新的组groupbdc,并添加组 ID:325。

    # groupadd -g 325 groupbdc
    
  • -g:指定新建用户组的ID

  • -r: 创建系统账户(系统账户GID小于500)

  • 删除组

    groupdel [options] GROUP
    

    删除组groupbdc。

    # groupdel groupbdc
    
  • 修改组

    groupmod [options] GROUP
    

    删除组groupbdc为groupbdc+。倘若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。

    # groupmod -n newgroupbdc groupbdc
    
    • -n:指定某组的新组名

  • 查看组

    查看组账户信息

    cat /etc/group 
    

    查看安全组账户信息

    # cat /etc/gshadow
    

    查看密码套件配置。

    cat /etc/login.defs Shadow
    
  • 2.2 user

    1. 添加用户

      useradd [options] LOGIN
      

      添加用户userbdc。

      # useradd userbdc
      

      为添加用户指定用户组。

      # useradd -g groupbdc userbdc
      

      创建一个系统用户。

      # useradd -r userbdc
      
    2. 删除用户

      userdel [options] LOGIN
      

      删除userbdc用户以及与此用户相关的所有文件。

      # userdel -r userbdc
      
    • -r 删除用户的同时,删除与用户相关的所有文件。

  • 判断用户是否存在

    id [OPTION]... [USER]
    

    判断用户userbdc是否存在

    id userbdc
    
  • 设置用户密码

    passwd [options] [LOGIN]
    

    为userbdc用户设置密码。

    # passwd userbdc
    
  • 修改用户

    usermod [options] LOGIN
    

    修改userbdc用户为root用户组

    # usermod –g root userbdc
    
  • 切换用户

    su [options] [LOGIN]
    

    切换用户,只能获得用户的执行权限,不能获得环境变量

    su userbdc
    

    切换到用户并获得该用户的环境变量及执行权限

    su - userbdc
    
  • 查看登录用户信息

    查看创建了哪些组

    cat /etc/passwd
    

    显示自身用户名称

    whoami
    

    显示登录用户的用户名

    who am i
    

    显示有哪些用户登录到了本台机器上

    who
    
  • sudo

    修改配置文件/etc/sudoers

    ## Allow root to run any commands anywhere
    root  ALL=(ALL)   ALL
    userbdc  ALL=(ALL)   ALL或 NOPASSWD:ALL(不需要输入密码)
    
  • 3 文件目录类

    3.1 pwd

    1. 基本语法

      pwd显示您目前所在的工作目录的绝对路径

      pwd [-LP]
      
    • -L 如果指定当前工作目录,则打印$PWD的值。ehco $PWD 默认就是 -L

    • -P 打印物理目录,不包含任何符号链接

  • 常用实例

    # pwd
    /home/wang
    
  • 3.2 ls

    1. 基本语法

      显示指定工作目录下的内容

       ls [-alrtAFR] [目录or文件]
      

      |文件类型以及权限|链接数|文件属主|文件属组|文件大小(单位:Byte)|

      最后一次操作的时间|文件名称

    • -r 将文件以相反次序显示(原定依英文字母次序)

    • -t 将文件按照建立时间之先后次序列出

    • -A 不列出 "." (目前目录) 及 ".." (父目录)

    • -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"

    • -R 递归显示层级目录

    • -a 显示所有文件及目录,包括以"."开头的隐藏档

    • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出

  • 实例

    Null
    
  • 3.3 mkdir

    1. 基本语法

      创建一个新的目录

      mkdir [-p] dirName 
      
    • -p 递归创建多层目录

    • dirName 目录名称(可以是多个)

  • 实例

    mkdir -p a/b/c
    
  • 3.4 rmdir

    1. 基本语法

      删除一个空的目录

      rmdir [-p] dirName
      
    • -p 递归创建多层目录

    • dirName 目录名称(可以是多个)

  • 实例

    rmdir -p a/b/c
    
  • 3.5 touch

    1. 基本语法

      创建新的空白文件

      touch fileName
      
    2. 实例

      touch new.txt
      

    3.6 cd

    1. 基本语法

      切换目录

      cd [dirName]
      
    • dirName 相对路径或绝对路径都支持

  • 实例

    cd ~或者cd  # 回到自己的家目录
    
    cd -  # 回到自己上一次所在目录
    
    cd ..  # 回到当前目录的上一级目录
    
    cd -P  # 跳转到实际物理路径,而非快捷方式路径
    
  • 3.7 cp

    1. 基本用法

      复制文件或目录

      cp [options] source dest 或 cp [options] source... directory
      
    2. 实例

      使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newDir"下

       cp –r test/ newDir
      

    3.8 rm

    1. 基本语法

      删除文件或目录

      rm [options] fileName或dirName...
      
    • -i 删除前逐一询问确认。

    • -r 递归删除目录中所有内容

    • -f 强制执行删除操作,而不提示用于进行确认。

    • -v 显示指令的详细执行过程

  • 常用案例

    递归删目录中所有内容

    rm -rf dirName
    

    删除当前目录下的所有文件及目录

    rm  -r  * 
    
  • 需要注意

    文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。

  • 3.9 mv

    1. 基本语法

      移动文件、目录或重命名

      mv [options] source dest  #重命名
      
      mv [options] source... directory  #移动
      
    2. 常用案例

      将文件oldFileName.txt重命名为newFileName.txt

      mv oldFileName.txt  newFileName.txt
      

      将文件fileName移动到目录dir

      mv fileName.txt dir
      
    3. 需要注意

      如果目录存在,则该命令执行移动操作。

      如果目录不存在,则该命令执行修改操作。

    3.10 cat

    1. 基本语法

      查看文件内容,正序

      cat [options] fileName
      
    • -n 或 -number : 对输出的内容进行编号

    • -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

  • 常用案例

    root@DESKTOP-KV8R5US:/# cat -number a.txt
    
  • 3.11 tac

    1. 基本用法

      查看文件内容,倒序

      tac [options] fileName
      
    2. 常用实例

      root@DESKTOP-KV8R5US:/# tac a.txt
      

    3.12 more

    1. 基本用法

      more [options] fileName
      
    • 空白键 (space):代表向下翻一页;

    • Enter:代表向下翻『一行』;

    • q:代表立刻离开 more ,不再显示该文件内容。

    • Ctrl+F 向下滚动一屏

    • Ctrl+B 返回上一屏

    • = 输出当前行的行号

    • :f 输出文件名和当前行的行号

  • 常用实例

    root@DESKTOP-KV8R5US:/# more a.txt
    
  • 3.13 less

    1. 基本用法

      less 的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 允许使用[pageup] [pagedown]往回滚动。

      less [options] fileName
      
    • 空白键 :向下翻动一页;

    • [pagedown]:向下翻动一页;

    • [pageup] :向上翻动一页;

    • /字串 :向下搜寻『字串』的功能;n:向下查找;N:向上查找;

    • ?字串 :向上搜寻『字串』的功能;n:向上查找;N:向下查找;

    • q :离开 less 这个程序;

  • 常用实例

    root@DESKTOP-KV8R5US:/# less a.txt
    
  • 3.14 head

    1. 基本用法

      head [options] fileName
      
    • -n x 查看文件头x行内容

  • 常用实例

    root@DESKTOP-KV8R5US:/# head -n 1 a.txt
    total 580
    
  • 3.15 tail

    1. 基本用法

      tail [options] fileName
      
    • -f 实时追踪该文档的所有更新

    • -n x 查看文件末尾x行内容

  • 常用实例

    root@DESKTOP-KV8R5US:/# tail -n 1 a.txt
    drwxr-xr-x  1 root root    512 Mar  5 00:02 var
    
  • 3.16 echo

    1. 基本用法

      显示一行文本,用于字符串的输出。

      echo [SHORT-OPTION]... [STRING]...
      echo LONG-OPTION
      
    2. 常用案例

      显示普通字符串

      root@DESKTOP-KV8R5US:/# echo "hello bdc+"
      hello bdc+
      

      显示转义字符

      root@DESKTOP-KV8R5US:/# echo "\"It is echo\""
      "It is echo"
      

      显示变量

      root@DESKTOP-KV8R5US:/# echo $PWD
      /
      

      显示换行

      root@DESKTOP-KV8R5US:/# echo -e "OK! \n"
      OK!
      
      
      

      输出结构到文件

      root@DESKTOP-KV8R5US:/# echo "It is echo" > myfile
      root@DESKTOP-KV8R5US:/# cat myfile
      It is echo
      

      显示命令内容

      root@DESKTOP-KV8R5US:/# echo `date`
      Tue Jun 23 10:44:48 CST 2020   
      

    3.17 >>

    1. 基本语法

      重定向

      > 列表的内容写入文件中(覆盖写)
      >> 列表的内容追加到文件末尾
      
    2. 常用案例

      root@DESKTOP-KV8R5US:/# ls -l > a.txt
      
      root@DESKTOP-KV8R5US:/# ls -l >> a.txt
      

    3.18 ln

    1. 基本用法

      Linux ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。

      当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

      Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

      不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

      软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式

      软链接可以 跨文件系统 ,硬链接不可以

      软链接可以对一个不存在的文件名进行链接

      软链接可以对目录进行链接

      硬链接,以文件副本的形式存在。但不占用实际空间。

      不允许给目录创建硬链接

      硬链接只有在同一个文件系统中才能创建

      ln [options] [source/dir] [dest/dir]
      
    • -s 软链接(符号链接)

    • -b 删除,覆盖以前建立的链接

    • -d 允许超级用户制作目录的硬链接

    • -f 强制执行

    • -i 交互模式,文件存在则提示用户是否覆盖

    • -n 把符号链接视为一般目录

    • -v 显示详细的处理过程

  • 常用实例

    给hadoop目录创建软链接/ln/hadoop,如果hadoop丢失,/ln/hadoop将失效:

    ln -s hadoop /ln/hadoop
    

    cd不加参数进入是软链接的地址

    cd hadoop
    

    cd加参数进入是实际的物理地址

    cd -P hadoop
    
  • 3.19 history

    1. 基本用法

      显示所操作历史记录列表。

      history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]
      
    2. 常用案例

      history
      

    4. 文件权限类

    4.1 文件属性

    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组。

    文件类型属主权限属组权限其他用户权限
    01 2 34 5 67 8 9
    dR w xR - xR - x
    目录文件读 写 执行读 写 执行读 写 执行
    1. 0首位表示类型

      在Linux中第一个字符代表这个文件是目录、文件或链接文件等等

    • - 代表文件

    • d 代表目录

    • c 字符流,装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

    • s socket

    • p 管道

    • l 链接文档(link file);

    • b 设备文件,装置文件里面的可供储存的接口设备(可随机存取装置)

  • 第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User

  • 第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group

  • 第7-9位确定其他用户拥有该文件的权限 ---Other

    rxw作用文件和目录的不同解释

  • 作用到文件:

    • [ r ]代表可读(read): 可以读取,查看

    • [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.

    • [ x ]代表可执行(execute):可以被系统执行

  • 作用到目录:

    • [ r ]代表可读(read): 可以读取,ls查看目录内容

    • [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录

    • [ x ]代表可执行(execute):可以进入该目录

    4.2 chmod改变权限

    1. 基本用法

      文件类型属主权限 u属组权限 g其他用户权限 o
      01 2 34 5 67 8 9
      dR w xR - xR - x
      目录文件读 写 执行读 写 执行读 写 执行

      u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)

      chmod [{ugoa}{+-=}{rwx}] [文件或目录] [mode=421 ] [文件或目录] 
      chmod [mode=421 ] [文件或目录]
      
    2. 功能描述

      改变文件或者目录权限

      文件: r-查看;w-修改;x-执行文件

      目录: r-列出目录内容;w-在目录中创建和删除;x-进入目录

      删除一个文件的前提条件:该文件所在的目录有写权限,你才能删除该文件。

    4.3 chown改变所有者

    1. 基本语法

      chown [最终用户] [文件或目录]     (功能描述:改变文件或者目录的所有者)
      
    • -R 递归操作

    4.4 chgrp改变所属组

    1. 基本语法

      chgrp [最终用户组] [文件或目录]   (功能描述:改变文件或者目录的所属组)
      

    5. 时间日期类

    5.1 date显示当前时间

    1. data 显示当前时间

      Tue Jun 16 20:03:43 CST 2020
      
    2. date +%Y 显示当前年份 (Y是4位的年/y是2位的年)

      2020
      
    3. date +%m 显示当前月份

      06
      
    4. date +%Y%m%d date +%Y-%m-%d date +%Y/%m/%d 显示当前年月日各种格式

      20200616	2020-06-16    2020/06/16
      
    5. date "+%Y-%m-%d %H:%M:%S" 显示年月日时分秒

      2020-06-16 20:10:08
      

    5.2 date 显示非当前时间

    1. date -d yesterday +%Y%m%d 或 date -d '1 days ago' 显示昨天当下时间

      20200615 或 Tue Jun 15 20:12:55 CST 2020
      
    2. date -d next-day +%Y%m%d 或 date -d 'next monday' 显示明天当下时间

      20200617 或 Tue Jun 17 20:15:15 CST 2020
      

    5.3 date 设置系统时间

    1. date -s 字符串时间

      date -s "xxxx-xx-xx xx:xx:xx"
      
    2. 在设置完时间之后我们可以将其写入到BIOS,避免重启失效

      hwclock -w	强制把系统时间写入CMOS
      

      在计算机领域,CMOS常指保存计算机基本启动信息(如日期、时间、启动设置等)的芯片。有时人们会把CMOS和BIOS混称,其实CMOS是主板上的一块可读写的并行或串行FLASH芯片,是用来保存BIOS的硬件配置和用户对某些参数的设定。

    5.4 cal 查看日历

    1. cal 显示本月日历

       June 2020
      Su Mo Tu We Th Fr Sa
          1  2  3  4  5  6
       7  8  9 10 11 12 13
      14 15 16 17 18 19 20
      21 22 23 24 25 26 27
      28 29 30
      
    2. cal 2000 显示某年(2000)日历

      2000
            January               February               March
      Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
                         1         1  2  3  4  5            1  2  3  4
       2  3  4  5  6  7  8   6  7  8  9 10 11 12   5  6  7  8  9 10 11
       9 10 11 12 13 14 15  13 14 15 16 17 18 19  12 13 14 15 16 17 18
      16 17 18 19 20 21 22  20 21 22 23 24 25 26  19 20 21 22 23 24 25
      23 24 25 26 27 28 29  27 28 29              26 27 28 29 30 31
      30 31
      
      
             April                  May                   June
      Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
                         1      1  2  3  4  5  6               1  2  3
       2  3  4  5  6  7  8   7  8  9 10 11 12 13   4  5  6  7  8  9 10
       9 10 11 12 13 14 15  14 15 16 17 18 19 20  11 12 13 14 15 16 17
      16 17 18 19 20 21 22  21 22 23 24 25 26 27  18 19 20 21 22 23 24
      23 24 25 26 27 28 29  28 29 30 31           25 26 27 28 29 30
      30
      
      
              July                 August              September
      Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
                         1         1  2  3  4  5                  1  2
       2  3  4  5  6  7  8   6  7  8  9 10 11 12   3  4  5  6  7  8  9
       9 10 11 12 13 14 15  13 14 15 16 17 18 19  10 11 12 13 14 15 16
      16 17 18 19 20 21 22  20 21 22 23 24 25 26  17 18 19 20 21 22 23
      23 24 25 26 27 28 29  27 28 29 30 31        24 25 26 27 28 29 30
      30 31
      
      
            October               November              December
      Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
       1  2  3  4  5  6  7            1  2  3  4                  1  2
       8  9 10 11 12 13 14   5  6  7  8  9 10 11   3  4  5  6  7  8  9
      15 16 17 18 19 20 21  12 13 14 15 16 17 18  10 11 12 13 14 15 16
      22 23 24 25 26 27 28  19 20 21 22 23 24 25  17 18 19 20 21 22 23
      29 30 31              26 27 28 29 30        24 25 26 27 28 29 30
                                                  31
      
    3. cal -3 显示系统前一个月,当前月,下一个月的日历

       May 2020             June 2020             July 2020
      Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
                      1  2      1  2  3  4  5  6            1  2  3  4
       3  4  5  6  7  8  9   7  8  9 10 11 12 13   5  6  7  8  9 10 11
      10 11 12 13 14 15 16  14 15 16 17 18 19 20  12 13 14 15 16 17 18
      17 18 19 20 21 22 23  21 22 23 24 25 26 27  19 20 21 22 23 24 25
      24 25 26 27 28 29 30  28 29 30              26 27 28 29 30 31
      31  
      

    6. 搜索查找类

    6.1 find

    1. 基本语法

      find 查找文件或者目录

      find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。

      find [搜索范围] [匹配条件]
      
      选项功能
      -name<查询方式>按照指定的文件名查找模式查找文件
      -user<用户名>查找属于指定用户名所有文件
    2. 常用实例

      按文件名:根据名称查找/opt目录下的filename.txt文件。

      find /opt/ -name filename.txt
      

      按拥有者:查找/opt目录下,用户名称为userbdc的文件。

      find /opt/ -user userbdc
      

      按文件大小:在/home目录下查找大于200m的文件(+n 大于 -n小于 n等于)。

      find /home –size +204800
      

    6.2 grep

    1. 基本语法

      grep 在文件内搜索字符串匹配的行并输出

      管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理

      grep+参数+查找内容+源文件
      
    • -c:只输出匹配行的计数。

    • -I:不区分大小写(只适用于单字符)。

    • -h:查询多文件时不显示文件名。

    • -l:查询多文件时只输出包含匹配字符的文件名。

    • -n:显示匹配行及行号。

    • -s:不显示不存在或无匹配文本的错误信息。

    • -v:显示不包含匹配文本的所有行。

    6.3 which

    1. 基本用法

      文件搜索命令

      搜索命令所在目录及别名信息

      which + 命令
      

    7. 进程线程类

    进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

    7.1 ps

    1. 基本语法

      ps 即 process status 进程状态缩写

      查看系统中所有进程

      ps –aux|grep xxx
      

      查看父子进程之间的关系

      ps -ef|grep xxx
      
    • -a 选择所有进程

    • -u 显示所有用户的所有进程

    • -x 显示没有终端的进程

  • 特点

    如果想查看进程的CPU****占用率和内存占用率,可以使用aux;

    如果想查看进程的父进程****ID可以使用ef;

  • 常用实例

    ps –aux
    

    USER:该进程是由哪个用户产生的

    PID:进程的ID号

    %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;

    %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;

    VSZ:该进程占用虚拟内存的大小,单位KB;

    RSS:该进程占用实际物理内存的大小,单位KB;

    TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。

    STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台

    START:该进程的启动时间

    TIME:该进程占用CPU的运算时间,注意不是系统时间

    COMMAND:产生此进程的命令名

    ps -ef
    

    UID:用户ID

    PID:进程ID

    PPID:父进程ID

    C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高

    STIME:进程启动的时间

    TTY:完整的终端名称

    TIME:CPU时间

    CMD:启动进程所用的命令和参数

  • 7.2 top

    1. 基本语法

      查看系统基本状态

      top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]
      
    • -d 秒数:指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令:

    • -i:使top不显示任何闲置或者僵死进程。

    • -p:通过指定监控进程ID来仅仅监控某个进程的状态。

    • -s : 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。

  • 操作选项

    P: 以CPU使用率排序,默认就是此项

    M: 以内存的使用率排序

    N: 以PID排序

    q: 退出top

  • 查询结果字段解释

    第一行信息为任务队列信息

    内容说明
    12:26:46系统当前时间
    up 1 day, 13:32系统的运行时间,本机已经运行1天 13小时32分钟
    2 users当前登录了两个用户
    load average: 0.00, 0.00, 0.00系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。

    第二行为进程信息

    Tasks: 95 total系统中的进程总数
    1 running正在运行的进程数
    94 sleeping睡眠的进程
    0 stopped正在停止的进程
    0 zombie僵尸进程。如果不是0,需要手工检 查僵尸进程

    第三行为CPU信息

    Cpu(s): 0.1%us用户模式占用的CPU百分比
    0.1%sy系统模式占用的CPU百分比
    0.0%ni改变过优先级的用户进程占用的CPU百分比
    99.7%id空闲CPU的CPU百分比
    0.1%wa等待输入/输出的进程的占用CPU百分比
    0.0%hi硬中断请求服务占用的CPU百分比
    0.1%si软中断请求服务占用的CPU百分比
    0.0%stst(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。

    第四行为物理内存信息

    Mem: 625344k total物理内存的总量,单位KB
    571504k used已经使用的物理内存数量
    53840k free空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了
    65800k buffers作为缓冲的内存数量

    第五行为交换分区(swap)信息

    Swap: 524280k total交换分区(虚拟内存)的总大小
    0k used已经使用的交互分区的大小
    524280k free空闲交换分区的大小
    409280k cached作为缓存的交互分区的大小
  • 7.3 pstree

    1. 基本语法

      pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]
      
    • -p 显示进程的PID

    • -u 显示进程的所属用户

  • 常用实例

    pstree -u
    
    pstree -p
    
  • 7.4 kill

    1. 基本用法

      终止进程

      强迫进程立即停止执行

      kill -9 pid进程号
      
    2. 常用案例

      根据进程号

      kill -9  xxxxx
      

      根据进程名称

      killall firefox
      

    7.5 netstat

    1. 基本语法

      查看该进程网络信息&查看端口号占用情况

      netstat –anp|grep 端口号  
      (功能描述:此命令用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容)
      
      netstat -nlp  | grep 端口号    
      (功能描述:查看网络端口号占用情况)
      
    • -an 按一定顺序排列输出

    • -p 表示显示哪个进程在调用

    • nltp 查看tcp协议进程端口号

  • 常用实例

    netstat -anp | grep 50070
    
  • 8. 打包压缩类

    8.1 gzip/gunzip

    1. 基本语法

      压缩文件,只能将文件压缩为*.gz文件

      gzip file
      

      解压缩文件命令

      gunzip  file.zip
      
    2. 特点

      只能压缩文件不能压缩目录

      不保留原来的文件

    8.2 zip/unzip

    1. 基本语法

      zip + 参数 + XXX.zip + 将要压缩的文件或目录
      
    • -r 压缩目录

  • 特点

    文件和目录皆可压缩

    window/linux通用且可以压缩目录且保留源文件

  • 8.3 tar

    1. 基本语法

      tar + 参数 + XXX.tar.gz + 将要打包进去的内容
      
    • -c 产生.tar打包文件

    • -v 显示详细信息

    • -f 指定压缩后的文件名

    • -z 打包同时压缩

    • -x 解包.tar文件

  • 常用实例

    解压

    tar -zxvf test.tar.gz –C /dir
    

    压缩

     tar -zcvf test
    
  • 9. 软件包类

    9.1 rpm

    1. 概述

      RPM(RedHat Package Manager),Rethat软件包管理工具,类似windows里面的setup.exe是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。

      RPM包的名称格式

      Apache-1.3.23-11.i386.rpm

      - “apache” 软件名称

      - “1.3.23-11”软件的版本号,主版本和此版本

      - “i386”是软件所运行的硬件平台

      - “rpm”文件扩展名,代表RPM包

    2. 查询命令

      查询所安装的所有rpm软件包

      rpm –qa
      

      由于软件包比较多,一般都会采取过滤

      rpm –qa | grep rpm软件包
      
    3. 安装命令

      rpm –ivh RPM包全名
      
    • -i=install,安装

    • -v=verbose,显示详细信息

    • -h=hash,进度条

    • --nodeps,不检测依赖进度

  • 卸载命令

    一般常规卸载

    rpm -e RPM软件包
    

    如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。

     rpm -e --nodeps rpm软件包 
    
  • 9.2 yum

    1. 概述

      在Linux上使用源码的方式安装软件非常麻烦,使用yum可以简化安装的过程

    2. 基本语法

      yum [options] [command] [package ...]
      
      选项功能
      -y对所有提问都回答“yes”
      参数功能
      install安装rpm软件包
      update更新rpm软件包
      check-update检查是否有可用的更新rpm软件包
      remove删除指定的rpm软件包
      list显示软件包信息
      clean清理yum过期的缓存
      deplist显示yum软件包的所有依赖关系
    3. 常用实例

      安装指定软件并确认安装

      yum install -y <package_name>
      

      删除指定软件并确认删除

      yum remove  -y <package_name>
      

      列出所有可安裝的软件清单命令

      yum list
      

      列出一个包所有依赖的包

      yum deplist httpd
      

      列出所有可更新的软件清单命令

      yum check-update
      

      更新所有软件命令

      yum update
      

      仅更新指定的软件命令

      yum update <package_name>
      

      查找软件包 命令

      yum search <keyword>
      

      清除缓存目录下的软件包及旧的headers

      yum clean
      

    写在最后

    选择不对努力白费,选择若对事半功倍。

    正确使用一些快捷键可以让你更高效的完成任务。

    ctrl + c:停止进程

    ctrl+l:清屏

    ctrl + q:退出

    ctrl +alt:linux和Windows之间切换

    上下键:查找执行过的命令

    tab键:自动补全

    -本文完-

    推荐个小程序,都是精品的破解软件

Linux常用命令之history命令详解 history 命令是 Unix 和 Linux 系统中一个非常有用的工具,它允许用户查看、管理和重复执行之前在终端中输入过的命令。 阅读详情

相关推荐

Linux常用命令之id命令详解

id 命令是一个非常实用的工具,用于获取用户的标识信息。通过使用不同的选项,可以灵活地获取用户ID、组ID以及用户所属的附加组信息。

weixin_56303229的博客 2415

学生党白嫖服务器-不会吧不会吧,你还在买学生机吗?

不会吧不会吧,你还在买学生机吗? @阿里云高校学生计划

有一分热,发一分光。 2万+

Linux网络命令大全,收藏不迷路!

Linux系统在网络管理中占据重要地位。无论是服务器管理、网络诊断还是安全维护,Linux网络命令都能提供强大的支持。

网络技术联盟站 1468

学生白嫖阿里云服务器方法

阿里云高校学生计划 打开如上网站, 可以看到,经过登录、学生认证、完成测试、领取ECS学习资源、开始课程学习5步之后就可以领取2个月的2核4G服务器。 到期的时候,还可以通过考试延长4个月。这个考试一共10道题,需要答对至少9道题目,而且需要开启摄像头,不能切换页面。我是没过,建议想再白嫖4个月的做好准备。 下面主要说说测试部分,有操作和大题,60分就可以过,可以搜题,比较简单。 场景实践部分,阿里云提供了教程指引,跟着做就可以,1个小时的时间,5分钟就可以做完,熟练了2分钟就可以,也很简单。 就是

小威的博客 8692

linux(center OS7)安装JDK、tomcat、mysql 搭建java web项目运行环境

一、安装JDK 1.卸载旧版本或者系统自带的JDK (1)列出所有已安装的JDK   rpm -qa | grep jdk (2)卸载不需要的JDK   yum -y remove 安装包名称 2.下载并解压JDK (1)下载安装包   进入到/usr/local目录下新建java目录   mkdir java   ,在Java目录下使用wget指令下载安装包,如 wget --no-cookies --no-check-certificate --header Cookie: gpw_e24=http://www.oracle.com/; oraclelicense=ac

阿里云服务器ECS学习笔记

目录开通云服务器1.计费2.地域3.网络新手向使用阿里云服务器ECS1、上传简历2、在线开发环境Web IDEA3、搭建Linux学习环境4、打造个人专属网盘5、部署离线下载服务器6、搭建个人博客 开通云服务器 大学生白嫖6个月性能约束型的阿里云服务器ECS 1.计费 包年包月 按量付费 长期稳定使用服务器,比如做网站选包年包月;测试或跑数据可以按量付费使用。 2.地域 地域(Region)和可用区(Zone)是两个概念: 地域就是服务器的数据中心所放在的城市,例如华东1是在杭州,华东2是在上海,不同地域的ECS不可内网互联。 可用区是同一地域下的不同数据中心,在同一个地域距离较近,可以通过光

白嫖 IBM LinuxOne 服务器教程

白嫖 IBM LinuxOne 教程

weixin_44834205的博客 3万+

从静态到动态:如何用Deformable 3DGS和4DGS实现高效动态场景建模

本文深入探讨了Deformable 3DGS和4DGS在动态场景建模中的技术突破,详细解析了这两种方法如何高效处理动态内容。Deformable 3DGS通过引入时间维度的变形场扩展传统3DGS,而4DGS则采用四维时空体素分解方法,两者均显著提升了动态场景建模的效率和质量,适用于虚拟现实、增强现实等应用场景。

weixin_29063035的博客 435

Linux 常用命令最全总结大全【推荐收藏】

Linux 常用命令

qq_43108153的博客 16万+

C300 | 5680t | 新格林| AN5516 | 远程ONU升级指导

ONU的远程管理升级 1、ZTE C300 OLT : 1.1 环境拓扑: PC1(filezilla server)------(uplink_default-vlanID)OLT---------ONU | | mng1 1.2 配置部署: 1):PC1(filezilla server): IP:192.168.88.252 255.255.255.0 配置FTP-Server的用户名:gp...

Shelly的博客 3770

ChatGPT Plus账号被降智?3个实用检测方法+终极解决方案(附国内支付指南)

本文针对ChatGPT Plus账号性能下降问题,提供了3个科学检测方法和系统级解决方案。通过详细分析症状、专业诊断技巧和优化策略,帮助用户有效应对GPT-4o等高级功能失效、响应质量下降等问题,特别包含国内用户关心的支付方案和账号管理建议。

weixin_42639633的博客 474

接招!1000+ 常用的 Linux 命令来袭

作者 |bdcyouth来源 | BDC+开篇词不管你是从事开发还是运维工作,都要懂Linux基本命令,Linux命令是Linux系统正常运行的核心。如果是运维,那Linux命令是必...

优快云资讯 4059

大疆航线文件解析指南:5分钟搞懂KMZ里的template.kml和waylines.wpml区别

本文深入解析大疆无人机航线文件KMZ中template.kml与waylines.wpml的核心区别。template.kml是定义任务框架和全局参数的可编辑模板,而waylines.wpml是包含精确执行指令的最终文件。理解两者差异对于高效规划航线、批量生成任务及进行二次开发至关重要。

sun99的博客 866

linux常用命令学习总结(超详细)

作为一个程序员,我们在进行项目部署和运维时,经常会用到一些linux命令,可是这些命令老是忘记,每次用到的时候都要去谷歌百度,很是麻烦!这不,为了自己使用方便,对常见的linux命令进行了系统的总结,以便在用到时能够快速地找到相关命令,同时有需要的朋友也可以参考搜藏该篇文章!文章对讲到的每个命令都有详细的参数解释,并且给出一些常用例子,因此也非常适合用来学习! 全文命令分为以下6个模块: 1、...

wanghuiwei888的博客 3万+

基于遗传算法的柔性作业车间调度(初始化以及编码策略)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

菜鸡 8596

深入浅出:UE4类型系统完整构建过程详解

UE4的类型系统是一个复杂但设计精巧的架构,它通过静态代码生成和运行时构建的完美配合,实现了强大的反射功能。理解这个过程不仅有助于解决开发中的问题,也能让你更好地利用UE4的各种高级特性。就像建造一栋大楼需要经过设计、备料、框架、装修、验收等多个阶段,UE4类型系统的构建也是一个多阶段、精细化的过程。每个阶段都有其特定的职责,共同协作完成从源代码到运行时对象的转换。

m0_45371381的博客 911

实际工作中常用的linux命令,面试被问频率较高的命令

现在做测试的出去面试,都会被问到linux,不会几个linux指令都不好意思说自己是做测试的了,本篇收集了几个被问的频率较高的linux面试题。 之前面试被问过,一直想抽空整理下,网上的资源很多,但是其实经常使用和被问到的就是这么一些。今天抽空整理了一些。欢迎大家指正。 目录 常用指令 ps查看进程 kill 杀掉进程 启动服务 查看日志 查看端口 find查找文件 查看文件 ...

yunlive的博客 3万+

2026美赛数学建模竞赛 MCM C题:与星共舞的数据 问题一 粉丝投票估计模型 详细解题思路和代码

2026美赛数学建模竞赛 MCM C题:与星共舞的数据 问题一 粉丝投票估计模型 详细解题思路和代码.。开发一个(或多个)数学模型,用于估算每位选手在他们参赛的各周的粉丝投票数(这是未知且严格保密的)。您的模型是否能正确估算出导致每周淘汰结果一致的粉丝投票数?提供一致性度量。您估算出的粉丝投票总数有多少确定性?这种确定性对于每位选手/每周是否总是相同?为您的估算提供确定性度量。

YOLO 852

工作中常用到的Linux命令总结

在工作中多使用dockers、kubernetes等开源工具。工作中基本都是基于Linux系统进行操作的。记录一下工作中常用到的Linux命令,每个命令搭配一定的参数使用会更加方便。这里只记录常用到的命令以及参数 1. 系统工作命令 1. echo命令 echo命令用于在终端输出字符串或者变量提取后的值。格式为echo [字符串 | $变量] 类似于java中的system.out.prin...

小猿帅大人的博客 4732

YOLOv11改进 | 损失函数改进篇 | 2024最新高质量的目标检测边界框回归损失Unified-IoU、FocalUIoU、FocalInvUIoU(设置动态epoch参数)

本文给大家带来的改进机制是最近新提出的高质量的目标检测边界框回归损失,其通过动态调整模型对不同质量预测框的关注,优化目标检测中的边界框回归精度。UIoU引入了FocalBox方法,通过缩放预测框与真实框分配权重,并采用了退火策略(引入动态参数epoch),逐渐将模型的注意力从低质量预测框转移到高质量预测框,平衡了训练速度与检测精度。其还有一定的解决样本不平衡问题,同时该损失函数可以和现有的任何边界框回归损失函数进行结合,例如ShapeIoU和其结合可以形成二次创新,它是一种类似于之前的Inner的机制.

Snu77的博客 4587

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

1000+个常用的Linux命令!看完通关!随手玩Linux!

温馨提示:为了更好的实际学习,建议大家使用PC端查阅复读。0. 开篇词不管你是从事开发还是运维工作,都要懂Linux基本命令,Linux命令是Linux系统正常运行的核心。如果是运维,那...

架构师小秘圈 697

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Linux中一些常用组合命令

Linux中一些常用组合命令

Pipi24的博客 7607

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Linux常用命令

lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。Linux 常用的压缩与解压缩命令有:tar、gzip、gunzip、bzip2、bunzip2、compress 、uncompress、 zip、 unzip、rar、unrar 等。Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。只有文件所有者和超级用户可以修改文件或目录的权限。是不加密的,scp 是 rcp 的加强版。

jackroo12138的博客 1969

Linux 常用命令最全总结【建议收藏】

建议收藏

m0_72532779的博客 999

一篇关于Linux常用命令的超全总结,从零基础到精通,收藏这篇就够了!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。因篇幅有限,仅展示部分资料,朋友们如果有需要。,我也为大家准备了视频教程,其中一共有。要学习一门新的技术,作为新手一定要。的事情了,而工作绕不开的就是。当你自学到这里,你就要开始。大家最喜欢也是最关心的。

yy1715713348的博客 622

Linux的1000个命令

目录 Linux常用命令 uptime wget uname free who last history pwd cd ls cat head ...

weixin_30790841的博客 183
上一篇: 数据告诉你杜蕾斯是怎么风靡全球的?
下一篇: Java程序员如何使用 Shiro 框架
编程IT圈
博客等级 码龄6年 1130粉丝 544原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值