• linux常用基本命令


    1.帮助命令

    1.1 man获得帮助信息

    可通过man获取某个指令的说明,比如输入man ls后就会出现

    LS(1)                                                                 User Commands                                                                 LS(1)
    
    NAME
           ls - list directory contents
    
    SYNOPSIS
           ls [OPTION]... [FILE]...
    
    DESCRIPTION
           List information about the FILEs (the current directory by default).  Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
    
           Mandatory arguments to long options are mandatory for short options too.
    
           -a, --all
                  do not ignore entries starting with .
    
           -A, --almost-all
                  do not list implied . and ..
    
           --author
                  with -l, print the author of each file
    
           -b, --escape
                  print C-style escapes for nongraphic characters
    
           --block-size=SIZE
                  scale sizes by SIZE before printing them; e.g., '--block-size=M' prints sizes in units of 1,048,576 bytes; see SIZE format below
    
           -B, --ignore-backups
                  do not list implied entries ending with ~
    
           -c     with -lt: sort by, and show, ctime (time of last modification of file status information); with -l: show ctime and sort by name; otherwise:
                  sort by ctime, newest first
    
           -C     list entries by columns
    
           --color[=WHEN]
                  colorize the output; WHEN can be 'never', 'auto', or 'always' (the default); more info below
    
           -d, --directory
                  list directories themselves, not their contents
    
           -D, --dired
     
    
    • 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
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    虽然全都是英文的,但总比没有好。

    1.2 help获得内置命令的帮助信息

    使用方法和man类似,比如help cd

    cd: cd [-L|[-P [-e]]] [dir]
        Change the shell working directory.
    
        Change the current directory to DIR.  The default DIR is the value of the
        HOME shell variable.
    
        The variable CDPATH defines the search path for the directory containing
        DIR.  Alternative directory names in CDPATH are separated by a colon (:).
        A null directory name is the same as the current directory.  If DIR begins
        with a slash (/), then CDPATH is not used.
    
        If the directory is not found, and the shell option `cdable_vars` is set,
        the word is assumed to be  a variable name.  If that variable has a value,
        its value is used for DIR.
    
        Options:
            -L      force symbolic links to be followed
            -P      use the physical directory structure without following symbolic
            links
            -e      if the -P option is supplied, and the current working directory
            cannot be determined successfully, exit with a non-zero status
    
        The default is to follow symbolic links, as if `-L' were specified.
    
        Exit Status:
        Returns 0 if the directory is changed, and if $PWD is set successfully when
        -P is used; non-zero otherwise.
    
    
    • 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

    可以通过type命令来判断一个shell命令是否是内置命令,比如type cd,就会得到

    cd is a shell builtin
    
    • 1

    而type ls,就会得到

    ls is aliased to `ls --color=auto'
    
    • 1

    就可以看出来cd是内置命令,应该用help来获取帮助信息,ls不是内置命令,应该用man来获取帮助信息。

    1.3 常用快捷键

    常用快捷键作用
    ctrl + c停止进程
    ctrl + l清屏,和clear相同,彻底清屏是reset
    tab自动补全
    小键盘的上下键查找执行过的命令

    2.文件目录类

    2.1 pwd显示当前工作目录的绝对路径

    pwd展示当前目录的绝对路径,从根目录/开始展示

    pwd - print name of current/working directory
    
    • 1

    2.2 cd 切换目录

    cd用来进行目录切换

    cd - Change the shell working directory
    
    • 1
    参数作用
    cd 绝对路径切换路径
    cd 相对路径切换路径
    cd ~或者 cd回到当前用户家目录,root用户会返回根目录下的root文件夹,其他用户会返回根目录下home文件夹下以用户名创建的文件夹
    cd -回到上一次所在目录
    cd …回到当前目录的上一级目录
    cd -P跳转到实际物理路径,而非快捷方式路径

    绝对路径指的是从根目录开始,到当前位置的路径
    相对路径指的是从当前目录开始,到当前位置的路径

    2.3 ls列出目录的内容

    ls列出目录的内容

    ls - list directory contents
    
    • 1
    参数作用
    ls -a全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
    ls -l长数据串列出,包含文件的属性与权限等等数据;(常用)等价于“ll”

    执行ls -l后,会依次展示:
    文件类型与权限、链接数、文件属主、文件属组文件大小(用byte来表示)、建立或最近修改的时间、名字

    drwxr-xr-x. 120 root root 12288 Aug  7 18:01 etc
    -rw-r--r--    1 root root  8352 Jan 14  2022 gnome_install.sh
    lrwxrwxrwx.   1 root root     7 Sep 14  2020 bin -> usr/bin
    
    • 1
    • 2
    • 3

    其中,第一位是-,则表示普通文件,d表示是目录,也就是文件夹,l则表示是链接

    2.4 mkdir 创建一个新的目录

    mkdir:Make directory 建立目录
    
    • 1
    参数作用
    mkdir a b同时创建a、b两个目录
    mkdir -p a/b/c创建多层目录

    2.5 rmdir 删除一个空的目录

    rmdir:Remove directory 移除目录
    
    • 1

    只能删除空文件夹

    参数作用
    rmdir a删除a目录
    rmdir -p a/b/c删除多层目录

    2.6 touch 创建空文件

    touch - change file timestamps
    
    • 1

    touch 文件名称就可以在当前目录下创建一个新文件

    2.7 cp 复制文件或目录

    cp - copy files and directories
    
    • 1

    cp 源文件 结果文件就可以将源文件复制成结果文件,也可以在文件名称前加上路径

    参数作用
    cp -r递归复制整个文件夹
    \cp强制覆盖目标文件

    2.8 rm 删除文件或目录

    rm - remove files or directories
    
    • 1

    rm后跟想要删除的文件名即可

    参数作用
    rm -r递归删除目录中所有内容
    rm -f强制执行删除操作,而不提示用于进行确认
    rm -v显示指令的详细执行过程
    rm ./*删除当前目录下的所有内容
    rm -rf /*删库跑路,此命令很危险,绝对不可以使用,要想用,就自己建一个虚拟机去玩吧

    2.9 mv 移动文件与目录或重命名

    mv - move (rename) files
    
    • 1

    mv 当前文件名称 新文件名称可以实现重命名的功能
    mv 当前路径/文件名称 目标路径可以实现移动文件的功能

    2.10 cat 查看文件内容

    cat - concatenate files and print on the standard output
    
    • 1
    参数作用
    -n显示所有行的行号,包括空行

    2.11 more 文件内容分屏查看器

    more - file perusal filter for crt viewing
    
    • 1
    参数作用
    空白键 (space)代表向下翻一页
    Enter代表向下翻『一行』
    q代表立刻离开 more ,不再显示该文件内容
    Ctrl+F向下滚动一屏
    Ctrl+B返回上一屏
    =输出当前行的行号
    :f输出文件名和当前行的行号

    2.12 less 分屏显示文件内容

    less - opposite of more
    
    • 1
    参数作用
    空白键 (space)向下翻动一页
    [pagedown]向下翻动一页
    [pageup]向上翻动一页
    /字符串向下搜寻『字符串』的功能;n:向下查找;N:向上查找
    ?字符串向上搜寻『字符串』的功能;n:向上查找;N:向下查找
    q离开 less 这个程序

    2.13 echo

    echo - display a line of text
    
    • 1

    echo可以直接输出文本到控制台,比如echo "abc"会得到

    abc
    
    • 1
    参数作用
    \输出\本身
    \n换行符
    \t制表符,也就是 Tab 键

    -e支持反斜线控制的字符转换,比如直接执行echo "a\nbc"会得到

    a\nbc
    
    • 1

    执行echo -e "a\nbc"则会得到

    a
    bc
    
    • 1
    • 2

    echo $可以查看环境变量,此处输入完成后,需要连按两下Tab键才会出现环境变量

    2.14 > 输出重定向和 >> 追加

    参数作用
    ls -l > 文件列表的内容写入文件中(覆盖写))
    ls -al >> 文件列表的内容追加到文件的末尾
    cat 文件 1 > 文件 2将文件 1 的内容覆盖到文件2
    echo “内容” >> 文件将指定内容追加到目标文件末尾

    2.15 head 显示文件头部内容

    head - output the first part of files
    
    • 1
    参数作用
    -n<行数>指定显示头部内容的行数

    2.16 tail 输出文件尾部内容

    tail - output the last part of files
    
    • 1
    参数作用
    -n<行数>输出文件尾部 n 行内容
    -f显示文件最新追加的内容,监视文件变化

    2.17 ln 软链接

    ln - make links between files
    
    • 1

    ln -s [原文件或目录] [软链接名] 此命令可以给原文件创建一个软链接
    ln [原文件或目录] [软链接名]用来创建硬链接,一般用软链接即可,硬链接是指向文件的节点ID

    删除软链接时,是rm -rf 软链接名,而不是 rm -rf 软链接名/,因为后者会把软链接对应的真实目录下内容删掉
    可以通过ll命令查看文件格式,如果第一位是l则属于软链接

    2.18 history 查看已经执行过历史命令

    直接输入history可以获取历史使用的指令,可以配合head和tail分别查看最初或最近使用的命令

    history | head -n 10 #查看最初执行的10条命令
    
    • 1
    参数作用
    history -c清空所有历史执行命令

    3. 时间日期类

    3.1 date 显示当前时间

    date - print or set the system date and time
    
    • 1

    直接输入date后,可以得到当前时间Thu Aug 11 19:50:12 CST 2022

    参数作用
    date +%Y显示当前年份
    date +%m显示当前月份
    date +%d显示当前是哪一天
    date “+%Y-%m-%d %H:%M:%S”显示年月日时分秒

    3.2 date 显示非当前时间

    参数作用
    date -d ‘1 days ago’显示前一天时间
    date -d '-1 days ago显示明天时间

    3.3 cal 查看日历

    cal - display a calendar
    
    • 1
    参数作用
    cal 2022展示2022年日历
    cal -3展示最近三个月的日历

    4. 文件权限类

    4.1 文件属性

    直接输入ll,可以在第一列看到每个文件的权限属性

    drwxr-xr-x. 120 root root 12288 Aug  7 18:01 etc
    -rw-r--r--    1 root root  8352 Jan 14  2022 gnome_install.sh
    lrwxrwxrwx.   1 root root     7 Sep 14  2020 bin -> usr/bin
    
    • 1
    • 2
    • 3

    第0位是文件类型,d为文件夹,l为软链接
    第1、2、3位,4、5、6位,7、8、9位均是权限类型,一共三种情况r/w/x,分别表示可读可写可执行,如果没有对应的权限,就显示为-
    在这里插入图片描述

    4.2 chmod 改变权限

    chmod - change file mode bits
    
    • 1

    第一种方式变更权限chmod [{ugoa}{+-=}{rwx}] 文件或目录,比如

    chmod u+x 文件或目录 #给属主增加执行权限
    
    • 1

    其中每个字母表示的含义:
    u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)

    第二种方式变更权限chmod [mode=421 ] [文件或目录]
    通过对三种权限赋值的方法,用数字表示权限
    r=4 w=2 x=1
    三个权限都有,那数字就是 rwx=4+2+1=7,比如

    chmod 777 文件 #把指定文件给所有人赋可读可写可执行权限
    chmod -R 777 文件夹/ #把指定路径下所有文件给所有人赋可读可写可执行权限
    
    • 1
    • 2

    4.3 chown 改变所有者

    chown - change file owner and group
    
    • 1

    chown [选项] [最终用户] [文件或目录通过此命令改变文件的所有者

    4.4 chgrp 改变所属组

    chgrp - change group ownership
    
    • 1

    chgrp [最终用户组] [文件或目录]通过此命令改变文件的所属组

    5. 搜索查找类

    5.1 find 查找文件或者目录

    find - search for files in a directory hierarchy
    
    • 1

    find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端find [搜索范围] [选项]

    参数作用
    -name<查询方式>按照指定的文件名查找模式查找文件
    -user<用户名>查找属于指定用户名所有文件
    -size<文件大小>按照指定的文件大小查找文件

    5.2 locate 快速定位文件路径

    由于locate 指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。

    locate - find files by name
    
    • 1

    直接locate 目标文件就可以查找目标文件

    5.3 grep 过滤查找及“|”管道符

    grep, egrep, fgrep - print lines matching a pattern
    
    • 1

    通过grep 选项 查找内容 源文件就可以在文件内查找指定内容

    参数作用
    -n显示匹配行及行号

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

    6. 压缩和解压类

    6.1 gzip/gunzip 压缩

    gzip, gunzip, zcat - compress or expand files
    
    • 1

    通过gzip 文件和gunzip 文件.gz就可以对文件进行压缩和解压缩操作,但有3个问题,
    只能压缩文件不能压缩目录;不保留原来的文件;同时多个文件会产生多个压缩包

    6.2 zip/unzip 压缩

    zip - package and compress (archive) files
    
    • 1

    通过zip [选项] XXX.zip 将要压缩的内容和unzip [选项] XXX.zip就可以对文件和文件夹进行压缩和解压缩操作

    zip参数作用
    -r压缩目录
    unzip参数作用
    -d<目录>指定解压后文件的存放目录

    6.3 tar 打包

    tar - manual page for tar 1.26
    
    • 1

    通过tar [选项] XXX.tar.gz 将要打包进去的内容就可以打包目录,压缩后的文件格式为.tar.gz

    参数作用
    -c产生.tar 打包文件
    -v显示详细信息
    -f指定压缩后的文件名
    -z打包同时压缩
    -x解包.tar 文件
    -C解压到指定目录

    7. 磁盘查看和分区类

    7.1 du 查看文件和目录占用的磁盘空间

    du - estimate file space usage
    du: disk usage 磁盘占用情况
    
    • 1
    • 2

    通过du 目录/文件就可以显示目录下每个子目录的磁盘使用情况

    参数作用
    -h以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示
    -a不仅查看子目录大小,还要包括文件
    -c显示所有的文件和子目录大小后,显示总和
    -s只显示总和
    –max-depth=n指定统计子目录的深度为第 n 层

    7.2 df 查看磁盘空间使用情况

    df - report file system disk space usage
    df: disk free 空余磁盘
    
    • 1
    • 2

    通过df 选项就可以列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况

    参数作用
    -h以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示

    7.3 lsblk 查看设备挂载情况

    lsblk - list block devices
    
    • 1

    通过lsblk就可以查看设备挂载情况

    参数作用
    -f查看详细的设备挂载情况,显示文件系统信息

    7.4 mount/umount 挂载/卸载

    mount - mount a filesystem
    umount - unmount file systems
    
    • 1
    • 2

    通过mount [-t vfstype] [-o options] device dir和mount [-t vfstype] [-o options] device dir就可以挂载设备和卸载设备

    参数作用
    -t vfstype指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型
    -o options主要用来描述设备或档案的挂接方式
    device要挂接(mount)的设备
    dir设备在系统上的挂接点(mount point)

    7.5 fdisk 分区

    fdisk - manipulate disk partition table
    
    • 1

    通过fdisk -l和fdisk 硬盘设备名就可以查看磁盘分区详情和对新增硬盘进行分区操作

    参数作用
    -l显示所有硬盘的分区列表

    8. 进程管理类

    8.1 ps 查看当前系统进程状态

    ps - report a snapshot of the current processes
    
    • 1

    通过ps aux | grep xxx和ps -ef | grep xxx就可以查看系统中所有进程和查看子父进程之间的关系

    参数作用
    a列出带有终端的所有用户的进程
    x列出当前用户的所有进程,包括没有终端的进程
    u面向用户友好的显示风格
    -e列出所有进程
    -u列出某个用户关联的所有进程
    -f显示完整格式的进程列表

    ps aux显示信息说明

    字段含义
    USER该进程是由哪个用户产生的
    PID进程的 ID 号
    %CPU该进程占用 CPU 资源的百分比,占用越高,进程越耗费资源
    %MEM该进程占用物理内存的百分比,占用越高,进程越耗费资源
    VSZ该进程占用虚拟内存的大小,单位 KB
    RSS该进程占用实际物理内存的大小,单位 KB
    TTY该进程是在哪个终端中运行的
    STAT进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示
    START该进程的启动时间
    TIME该进程占用 CPU 的运算时间,注意不是系统时间
    COMMAND产生此进程的命令名

    ps -ef显示信息说明

    字段含义
    UID用户 ID
    PID进程 ID
    PPID父进程 ID
    CCPU 用于计算执行优先级的因子。数值越大,表明进程是CPU 密集型运算,执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
    STIME进程启动的时间
    TTY完整的终端名称
    TIMECPU 时间
    CMD启动进程所用的命令和参数

    8.2 kill 终止进程

    kill - terminate a process
    
    • 1

    通过kill [选项] 进程号和killall 进程名称就可以通过进程号杀死进程和通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用

    字段含义
    -9表示强迫进程立即停止

    8.3 pstree 查看进程树

    pstree - display a tree of processes
    
    • 1
    参数含义
    -p显示进程的 PID
    -u显示进程的所属用户

    8.4 top 实时监控系统进程状态

    top - display Linux processes
    
    • 1
    参数含义
    -d 秒数指定 top 命令每隔几秒更新。默认是 3 秒在 top 命令的交互模式当中可以执行的命令
    -i使 top 不显示任何闲置或者僵死进程
    -p通过指定监控进程 ID 来仅仅监控某个进程的状态

    进入top后,可以通过指令改变排序方式

    操作含义
    P以 CPU 使用率排序,默认就是此项
    M以内存的使用率排序
    N以 PID 排序
    q退出 top

    可以在top界面直接输入u,再输入用户名,就可以获取指定用户下的进程
    也可以直接输入k,再输入指定进程,就可以杀掉指定进程

    查询结果字段解释
    第一行信息为任务队列信息

    内容含义
    21:32:02系统当前时间
    up 197 days, 46 min系统的运行时间
    1 user当前登录了1个用户
    load average: 0.01, 0.65, 0.91系统在之前 1 分钟,5 分钟,15 分钟的平均负载。一般认为小于 1 时,负载较小。如果大于1,系统已经超出负荷

    第二行为进程信息

    内容含义
    Tasks: 124 total系统中的进程总数
    1 running正在运行的进程数
    123 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空闲的物理内存数量
    65800k buffers作为缓冲的内存数量

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

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

    8.5 netstat 显示网络状态和端口占用信息

    netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
    
    • 1

    通过netstat -anp | grep 进程号和netstat –nlp | grep 端口号就可以查看该进程网络信息和查看网络端口号占用情况

    参数含义
    -a显示所有正在监听(listen)和未监听的套接字(socket)
    -n拒绝显示别名,能显示数字的全部转化成数字
    -l仅列出在监听的服务状态
    -p表示显示哪个进程在调用

    常用的端口号

    进程名端口
    ssh22
    mysql3306

    9. crontab 系统定时任务

    9.1 crontab 服务管理

    crontab - maintains crontab files for individual users
    
    • 1
    参数含义
    -e编辑 crontab 定时任务
    -l查询 crontab 任务
    -r删除当前用户所有的 crontab 任务

    crontab编辑界面字段解释

    参数含义
    第一个“*”一小时当中的第几分钟
    第二个“*”一天当中的第几小时
    第三个“*”一个月当中的第几天
    第四个“*”一年当中的第几月
    第五个“*”一周当中的星期几

    特殊符号

    参数含义
    *代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思
    ,代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的 8 点 0 分,12 点 0 分,16 点0 分都执行一次命令
    -代表连续的时间范围。比如“0 5 * * 1-6 命令”,代表在周一到周六的凌晨 5 点 0 分执行命令
    */n代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔 10 分钟就执行一遍命令

    特定时间执行命令

    参数含义
    45 22 * * * 命令每天 22 点 45 分执行命令
    0 17 * * 1 命令每周 1 的 17 点 0 分执行命令
    0 5 1,15 * * 命令每月 1 号和 15 号的凌晨 5 点 0 分执行命令
    40 4 * * 1-5 命令每周一到周五的凌晨 4 点 40 分执行命令
    */10 4 * * * 命令每天的凌晨 4 点,每隔 10 分钟执行一次命令
    0 0 1,15 * 1 命令每月 1 号和 15 号,每周 1 的 0 点 0 分都会执行命令
  • 相关阅读:
    Java注解@Transa1ctional失效特殊情况
    亚马逊美国站车充UL2089测试报告办理
    Parasoft与 IAR Systems开发工具集成
    php 中 try catch 不起作用解决,捕获不到异常
    easy-rules规则引擎最佳落地实践
    思科网络中如何配置标准ACL协议
    排行榜谁最稳?
    低版本客户端连接oracle12c报错ORA-28040: No matching authentication protocol
    SpringSecurity 认证详解
    深入剖析Golang中单例模式
  • 原文地址:https://blog.csdn.net/weixin_44999258/article/details/126214903