• Linux常用命令进阶


    wc

    wc 实用程序显示 每个输入文件或标准输入(如果未指定文件)中每个输入文件中包含的行数,字数和字节数。一行定义为由字符分隔的字符串。最后一个字符之后的字符将不包括在行数中。

    wc 参数格式

    wc [-clmw] [file …]

    wc命令参数
    -c 统计字节数。

    -l 统计行数。

    -m 统计字符数。这个标志不能与 -c 标志一起使用。

    -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。

    -L 打印最长行的长度。

    常用参数示例

    $ ls
    test.txt
    
    $ wc test.txt
    26      26     103 test.txt
    
    $ wc -l test.txt  #直接一把统计行数
    26 test.txt
    
    $ wc -c test.txt
    103 test.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    date & cal

    不带参数调用时,date实用程序将显示当前日期和时间。否则,根据指定的选项,日期 将设置日期和时间或以用户定义的方式打印日期和时间。

    date实用程序 显示从内核时钟读取的日期和时间。当用于设置日期和时间时,内核时钟和硬件时钟都将更新。

    只有超级用户可以设置日期,并且如果系统安全级别(请参阅securelevel(7))大于1,则时间更改不得超过1秒。

    date参数格式

    date [-jRu] [-r seconds | filename] [-v [+|-]val[ymwdHMS]] … [+output_fmt] date [-jnu] [[[mm]dd]HH]MM[[cc]yy][.ss] date [-jnRu] -f input_fmt new_date [+output_fmt] date [-d dst] [-t minutes_west]

    date命令参数
    %H 小时(以00-23来表示)。

    %I 小时(以01-12来表示)。

    %K 小时(以0-23来表示)。

    %l 小时(以0-12来表示)。

    %M 分钟(以00-59来表示)。

    %P AM或PM。

    %r 时间(含时分秒,小时以12小时AM/PM来表示)。

    %s 总秒数。起算时间为1970-01-01 00:00:00 UTC。

    %S 秒(以本地的惯用法来表示)。

    %T 时间(含时分秒,小时以24小时制来表示)。

    %X 时间(以本地的惯用法来表示)。

    %Z 市区。

    %a 星期的缩写。

    %A 星期的完整名称。

    %b 月份英文名的缩写。

    %B 月份的完整英文名称。

    %c 日期与时间。只输入date指令也会显示同样的结果。

    %d 日期(以01-31来表示)。

    %D 日期(含年月日)。

    %j 该年中的第几天。

    %m 月份(以01-12来表示)。

    %U 该年中的周数。

    %w 该周的天数,0代表周日,1代表周一,异词类推。

    %x 日期(以本地的惯用法来表示)。

    %y 年份(以00-99来表示)。

    %Y 年份(以四位数来表示)。

    %n 在显示时,插入新的一行。

    %t 在显示时,插入tab。

    常用参数示例

    $ date
    20221112日 星期六 11:23:09 CST
    
    
    
    $  date '+%D'
    11/12/22
    
    $  date '+%T'
    11:23:28
    
    $ date '+%X'
    11时23分33秒
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    cal参数格式

    cal [-3hjy] [-A number] [-B number] [[month] year] cal [-3hj] [-A number] [-B number] -m month [year] ncal [-3hjJpwy] [-A number] [-B number] [-s country_code] [[month] year] ncal [-3hJeo] [-A number] [-B number] [year] ncal [-CN] [-H yyyy-mm-dd] [-d yyyy-mm]

    cal命令参数
    -1 显示一个月的月历

    -3 显示系统前一个月,当前月,下一个月的月历

    -s 显示星期天为一个星期的第一天,默认的格式

    -m 显示星期一为一个星期的第一天
    -j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
    -y 显示当前年份的日历

    cal常用参数示例

    $ cal
         十一月 2022    
    日 一 二 三 四 五 六
           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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    which

    which命令的作用是,在PATH变量指定的路径中,** 搜索某个系统命令的位置,并且返回第一个搜索结果**。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

    which参数格式

    -n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

    -p 与-n参数相同,但此处的包括了文件的路径。

    -w 指定输出时栏位的宽度。

    which常用参数示例

    $ which ls
    alias ls='ls --color=auto'
        /bin/ls
    
    $ which which
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
            /usr/bin/alias
            /usr/bin/which
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    whereis

    whereis介绍
    whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

    whereis参数格式

    whereis [program …]

    whereis命令参数
    -b 定位可执行文件。

    -m 定位帮助文件。

    -s 定位源代码文件。

    -u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

    -B 指定搜索可执行文件的路径。

    -M 指定搜索帮助文件的路径。

    -S 指定搜索源代码文件的路径。

    whereis常用参数示例

    $ whereis ls
    /bin/ls
    
    $ whereis whereis
    /usr/bin/whereis
    
    • 1
    • 2
    • 3
    • 4
    • 5

    nl

    nl命令在linux系统中用来 计算文件中行号。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。

    nl参数格式

    nl [-p] [-b type] [-d delim] [-f type] [-h type] [-i incr] [-l num] [-n format] [-s sep] [-v startnum] [-w width] [file]

    nl命令参数
    -b :指定行号指定的方式,主要有两种:

    -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);

    -b t :如果有空行,空的那一行不要列出行号(默认值);

    -n :列出行号表示的方法,主要有三种:

    -n ln :行号在萤幕的最左方显示;

    -n rn :行号在自己栏位的最右方显示,且不加 0 ;

    -n rz :行号在自己栏位的最右方显示,且加 0 ;

    -w :行号栏位的占用的位数。

    -p 在逻辑定界符处不重新开始计算。

    nl常用参数示例

    $ nl my.cnf
    	1  [client]
    	2  default_character_set=utf8mb4
    	3  [mysqld]
    	4  collation_server = utf8mb4_general_ci
    	5  character_set_server = utf8mb4
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    ps

    ps介绍

    ps实用程序显示标题行,其后是包含有关 具有控制终端的所有进程的信息的行

    ps参数格式

    ps [-AaCcEefhjlMmrSTvwXx] [-O fmt | -o fmt] [-G gid[,gid…]] [-g grp[,grp…]] [-u uid[,uid…]] [-p pid[,pid…]] [-t tty[,tty…]] [-U user[,user…]] ps [-L]

    ps命令参数
    a 显示所有进程

    -a 显示同一终端下的所有程序

    -A 显示所有进程

    c 显示进程的真实名称

    -N 反向选择

    -e 等于“-A”

    e 显示环境变量

    f 显示程序间的关系

    -H 显示树状结构

    r 显示当前终端的进程

    T 显示当前终端的所有程序

    u 指定用户的所有进程

    -au 显示较详细的资讯

    -aux 显示所有包含其他使用者的行程

    -C<命令> 列出指定命令的状况

    –lines<行数> 每页显示的行数

    –width<字符数> 每页显示的字符数

    ps常用参数示例

    #查看所有进程
    $ps -a
    #查看进程的环境变量和程序间的关系
    $ps -ef
    
    • 1
    • 2
    • 3
    • 4

    cut

    **取出文件的 前10行,并且打印 第7列 **

    
    $  cat passwd | head -n 10|cut -c7
    
    • 1
    • 2

    cut实用程序从每个文件中剪切出每行的选定部分(由列表指定),并将它们写入标准输出。如果未指定文件参数,或者文件参数为单破折号(-),则从标准输入中读取内容。列表指定的项目可以是列位置,也可以是由特殊字符分隔的字段。列编号从1开始。

    cut参数格式

    cut -b list [-n] [file …] cut -c list [file …] cut -f list [-d delim] [-s] [file …]

    cut命令参数
    -b:仅显示行中指定直接范围的内容;

    -c:仅显示行中指定范围的字符;

    -d:指定字段的分隔符,默认的字段分隔符为“TAB”;

    -f:显示指定字段的内容;

    -n:与“-b”选项连用,不分割多字节字符;

    –complement:补足被选择的字节、字符或字段;

    –out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;

    cut常用参数示例

    $cut -c-10 tmp.txt  #cut tmp.txt文件的前10列
    $cut -c3-5 tmp.txt  #cut tmp.txt文件的第3到5列
    $cut -c3- tmp.txt  #cut tmp.txt文件的第3到结尾列
    $cat passwd |head -n 10|cut -d ':' -f 3 # 以 : 作为分隔符,取出第3列,取出 passwd 文件前10行
    
    • 1
    • 2
    • 3
    • 4

    diff

    diff介绍

    比较两个文件的不同

    diff参数格式

    diff [OPTION]… FILES

    diff命令参数
    -b或–ignore-space-change 不检查空格字符的不同。

    -B或–ignore-blank-lines 不检查空白行。

    -c 显示全部内文,并标出不同之处。

    -C或–context 与执行"-c-"指令相同。

    -d或–minimal 使用不同的演算法,以较小的单位来做比较。

    -D或ifdef 此参数的输出格式可用于前置处理器巨集。

    -e或–ed 此参数的输出格式可用于ed的script文件。

    diff常用参数示例

    $ diff testA.txt testB.txt
    
    • 1

    tar

    tar常用参数示例

    #打包  tar -cvf 包名  文件名
    $tar -cvf test.tar test.txt 
    #解包  tar -xvf 包名 
    $tar -xvf test.tar
    #压缩  tar -czvf 包名 文件名
    $tar -czvf test.tgz test.txt
    #解压  tar -xzvf 包名
    $tar -xzvf test.tgz
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    du

    du常用参数示例

    #查看指定文件大小
    $du -h filename
    #展示该目录下所有文件大小,大小以可读方式展示
    $du  -h /
    #展示当前目录大小
    $du -sh
    #展示当前目录下每个目录大小
    $du -sh ./
    #显示所有文件的大小,以可读方式展示
    $du -ah /
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    netstat

    #列出所有端口使用情况
    $netstat -a
    #显示当前UDP连接状况
    $netstat -nu
    #显示UDP端口号的使用情况
    $netstat -apu
    #显示网卡列表
    $netstat -i
    #显示网络统计信息
    $netstat -s
    #显示监听的套接口
    $netstat -l
    #显示所有已建立的有效连接
    $netstat -n
    #显示关于路由表的信息
    $netstat -r
    #列出所有 tcp 端口
    $netstat -at
    #找出程序运行的端口
    $netstat -ap | grep ssh
    #在 netstat 输出中显示 PID 和进程名称
    $netstat -pt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    wget

    wget常用参数示例

    #下载某个文件,wget 文件的地址
    $wget https://blog.csdn.net/qq_38646470
    
    • 1
    • 2

    vmstat

    vmstat 报告有关进程,内存,页面调度,块IO,陷阱,磁盘和cpu活动的信息

    vmstat参数格式

    vmstat [options] [delay [count]]

    vmstat命令参数
    -a:显示活跃和非活跃内存

    -f:显示从系统启动至今的fork数量 。

    -m:显示slabinfo

    -n:只在开始时显示一次各字段名称。

    -s:显示内存相关统计信息及多种系统活动数量。

    delay:刷新时间间隔。如果不指定,只显示一条结果。

    count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。

    -d:显示磁盘相关统计信息。

    -p:显示指定磁盘分区统计信息

    -S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)

    vmstat常用参数示例

    #显示虚拟内存情况
    $ vmstat 2 # 每隔2s打印一次 虚拟内存情况
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     2  0      0 1690536   1052 558164    0    0   204    10  163  347  1  3 95  0  0
     0  0      0 1690520   1052 558172    0    0     0     9  219  432  3  8 90  0  0
     0  0      0 1690520   1052 558188    0    0     0     8  161  288  1  4 95  0  0
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    解释

    Procs(进程):

    r: 运行队列中进程数量

    b: 等待IO的进程数量

    Memory(内存):

    swpd: 使用虚拟内存大小

    free: 可用内存大小

    buff: 用作缓冲的内存大小

    cache: 用作缓存的内存大小

    Swap:

    si: 每秒从交换区写到内存的大小

    so: 每秒写入交换区的内存大小

    IO:(现在的Linux版本块的大小为1024bytes)

    bi: 每秒读取的块数

    bo: 每秒写入的块数

    系统:

    in: 每秒中断数,包括时钟中断。

    cs: 每秒上下文切换数。

    CPU(以百分比表示):

    us: 用户进程执行时间(user time)

    sy: 系统进程执行时间(system time)

    id: 空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。

    wa: 等待IO时间

    #表示在3秒时间内进行3次采样。将得到一个数据汇总他能够反映真正的系统情况。
    $vmstat 3 3
    #查看系统fork多少次
    $ vmstat -f
        166484246 forks
    #查看内存使用的详细信息
    $vmstat -s
    #查看磁盘的读/写
    $vmstat -d
    #查看系统的slab信息
    $vmstat -m
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    free

    free 显示系统中可用和可用的物理内存和交换内存的总量,以及内核使用的缓冲区和高速缓存

    free参数格式

    free [options]

    free命令参数
    -b 以Byte为单位显示内存使用情况。

    -k 以KB为单位显示内存使用情况。

    -m 以MB为单位显示内存使用情况。

    -g 以GB为单位显示内存使用情况。

    -o 不显示缓冲区调节列。

    -s<间隔秒数> 持续观察内存使用状况。

    -t 显示内存总和列。

    free常用参数示例

    #显示内存使用情况
    $ free
                  total        used        free      shared  buff/cache   available
    Mem:       65808884     4582700    23754736         684    37471448    60913052
    $ free -h
                  total        used        free      shared  buff/cache   available
    Mem:            62G        4.4G         22G        684K         35G         58G
    Swap:            0B          0B          0B
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    解释

    total:总计物理内存的大小。

    used:已使用多大。

    free:可用有多少。

    Shared:多个进程共享的内存总额。

    Buffers/cached:磁盘缓存的大小。

    第三行(-/+ buffers/cached):

    used:已使用多大。

    free:可用有多少。

    #周期性的查询内存使用信息,5s执行一次
    $ free -s 5
    
    • 1
    • 2
  • 相关阅读:
    开发工具安装
    webpack打包vue文件+gulp打包sass文件
    HCIP- ICT实战进阶ex1-MPLS
    云耀服务器L实例部署Nextcloud企业云盘系统|华为云云耀云服务器L实例评测使用体验
    三维目标检测之ROS可视化
    [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(八)暴力破解相关面试题
    如何优雅部署OpenStack私有云I--Kolla
    STM32单片机——IIC概念与协议软件模及固件库配置
    Java入门基础笔记
    java常见类的方法和使用
  • 原文地址:https://blog.csdn.net/qq_30659573/article/details/127813994