Linux 常用命令 / vim常用命令 / 面试常考命令 汇总 (更新中)

这篇博客会记录常用的Linux命令,可以直接使用Ctrl+F来快速查找命令~

进程类

top

  1. 概述

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
    可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:
      $ top -u oracle

  2. 格式

    top [-] [d delay] [q] [c] [S] [s] [i] [n]

  3. 主要参数

    d:指定更新的间隔,以秒计算。
    q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。
    c:显示进程完整的路径与名称。
    S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。
    s:安全模式。
    i:不显示任何闲置(Idle)或无用(Zombie)的行程。
    n:显示更新的次数,完成后将会退出top。

  4. 内容解释

    PID(Process ID):进程标示号。
    USER:进程所有者的用户名。
    PR:进程的优先级别。
    NI:进程的优先级别数值。
    VIRT:进程占用的虚拟内存值。
    RES:进程占用的物理内存值。
    SHR:进程使用的共享内存值。
    S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
    %CPU:该进程占用的CPU使用率。
    %MEM:该进程占用的物理内存和总内存的百分比。
    TIME+:该进程启动后占用的总的CPU时间。
    Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。

pmap

可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:
  pmap -d 14596

ps

  1. 作用

    ps显示瞬间进程 (process) 的动态,使用权限是所有使用者。

  2. 格式

    ps [options] [--help]

  3. 主要参数

    -A:列出所有的进程。
    -l:显示长列表。
    -m:显示内存信息。
    -w:显示加宽可以显示较多的信息。
    -e:显示所有进程。
    a:显示终端上的所有进程,包括其它用户的进程。
    -au:显示较详细的信息。
    -aux:显示所有包含其它使用者的进程。

  4. 应用实例

在进行系统维护时,经常会出现内存使用量惊人,而又不知道是哪一个进程占用了大量进程的情况。除了可以使用top命令查看内存使用情况之外,还可以使用下面的命令:

ps aux | sort +5n

文件类

grep

  1. 概要

    grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
    grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。

  2. 格式

    grep [options]

  3. 主要参数

    [options]主要参数:

    -c:只输出匹配行的计数。

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

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

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

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

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

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

    pattern正则表达式主要参数:

    /:忽略正则表达式中特殊字符的原有含义。

    ^:匹配正则表达式的开始行。

    $: 匹配正则表达式的结束行。

    /<:从匹配正则表达式的行开始。

    />:到匹配正则表达式的行结束。

    [ ]:单个字符,如[A]即A符合要求 。

    [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。

    。:所有的单个字符。

    • :有字符,长度可以为0。

    正则表达式是Linux/Unix系统中非常重要的概念。正则表达式(也称为“regex”或“regexp”)是一个可以描述一类字符串的模式(Pattern)。如果一个字符串可以用某个正则表达式来描述,我们就说这个字符和该正则表达式匹配(Match)。这和DOS中用户可以使用通配符 “*”代表任意字符类似。在Linux系统上,正则表达式通常被用来查找文本的模式,以及对文本执行“搜索-替换”操作和其它功能。

  4. 应用实例

    查询DNS服务是日常工作之一,这意味着要维护覆盖不同网络的大量IP地址。有时IP地址会超过2000个。如果要查看nnn.nnn网络地址,但是却忘了第二部分中的其余部分,只知到有两个句点,例如nnn nn…。要抽取其中所有nnn.nnn IP地址,使用[0-9 ]/{3 /}/.[0-0/{3/}/。含义是任意数字出现3次,后跟句点,接着是任意数字出现3次,后跟句点。

    $grep '[0-9 ]/{3 /}/.[0-0/{3/}/' ipfile

    补充说明,grep家族还包括fgrepegrep。fgrep是fix grep,允许查找字符串而不是一个模式;egrep是扩展grep,支持基本及扩展的正则表达式,但不支持/q模式范围的应用及与之相对应的一些更加规范的模式。

awk

  1. 概要

    awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。

    简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理

  2. 格式

    awk [选项参数] 'script' var=value file(s)

    awk [选项参数] -f scriptfile var=value file(s)

  3. 主要参数

    -F fs or --field-separator fs
    指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。
    -v var=value or --asign var=value
    赋值一个用户定义变量。
    -f scripfile or --file scriptfile
    从脚本文件中读取awk命令。
    -mf nnn and -mr nnn
    对nnn值设置内在限制,-mf选项限制分配给nnn的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。
    -W compact or --compat, -W traditional or --traditional
    在兼容模式下运行awk。所以gawk的行为和标准的awk完全一样,所有的awk扩展都被忽略。
    -W copyleft or --copyleft, -W copyright or --copyright
    打印简短的版权信息。
    -W help or --help, -W usage or --usage
    打印全部awk选项和每个选项的简短说明。
    -W lint or --lint
    打印不能向传统unix平台移植的结构的警告。
    -W lint-old or --lint-old
    打印关于不能向传统unix平台移植的结构的警告。
    -W posix
    打开兼容模式。但有以下限制,不识别:/x、函数关键字、func、换码序列以及当fs是一个空格时,将新行作为一个域分隔符;操作符=不能代替=;fflush无效。
    -W re-interval or --re-inerval
    允许间隔正则表达式的使用,参考(grep中的Posix字符类),如括号表达式[[:alpha:]]。
    -W source program-text or --source program-text
    使用program-text作为源代码,可与-f命令混用。
    -W version or --version
    打印bug报告信息的版本。

  4. 应用实例

    log.txt文本内容如下:

    2 this is a test
    3 Are you like awk
    This’s a test
    10 There are orange,apple,mongo

    用法一:

    awk '{[pattern] action}' {filenames} 行匹配语句 awk ‘’ 只能用单引号

    实例:

    每行按空格或TAB分割,输出文本中的1、4项

awk ‘{print $1,$4}’ log.txt
2 a
3 like
This’s
10 orange,apple,mongo

格式化输出

awk ‘{printf “%-8s %-10s\n”,$1,$4}’ log.txt
2 a
3 like
This’s
10 orange,apple,mongo

可以参考http://www.runoob.com/linux/linux-comm-awk.html 

sed

  1. 概要
    Linux sed命令是利用script来处理文本文件。
    sed可依照script的指令,来处理、编辑文本文件。
    Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

  2. 格式

    sed [-hnV][-e

你可能感兴趣的:(Linux)