zoukankan      html  css  js  c++  java
  • Linux常用命令及部分详解

    1、总结部分

    常用指令

     ls        显示文件或目录

    -l            列出文件详细信息l(list)

    -a            列出当前目录下所有文件及目录,包括隐藏的a(all)

    mkdir         创建目录

    -p            创建目录,若无父目录,则创建p(parent)

    cd             切换目录

    touch          创建空文件

    echo            创建带有内容的文件。

    cat              查看文件内容

    nl                 显示行号

    tac                倒叙查看文件内容

    cp                拷贝

    mv               移动或重命名

    rm               删除文件

    -r                递归删除,可删除子目录及文件

    -f                强制删除

    find              在文件系统中搜索某文件

    wc                统计文本中行数、字数、字符数

    grep             在文本文件中查找某个字符串

    rmdir            删除空目录

    tree              树形结构显示目录,需要安装tree包

    pwd               显示当前目录

    ln                  创建链接文件

    more、less           分页显示文本文件内容

    head、tail           显示文件头、尾内容

    ctrl+alt+F1           命令行全屏模式

    系统管理命令

    stat               显示指定文件的详细信息,比ls更详细

    who               显示在线登陆用户

    whoami           显示当前操作用户

    hostname        显示主机名

    uname            显示系统信息

    top                动态显示当前耗费资源最多进程信息

    ps                  显示瞬间进程状态 ps -aux

    du                 查看目录大小 du -h /home带有单位显示目录信息

    df                 查看磁盘大小 df -h 带有单位显示磁盘信息

    ifconfig           查看网络情况

    ping              测试网络连通

    netstat           显示网络状态信息

    man              命令不会用了,找男人  如:man ls

    clear              清屏

    alias             对命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit

    kill                 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。

    查看系统信息

    lsb_release -a

    uname -a  可显示电脑以及操作系统的相关信息。 

    cat /etc/issue  显示的是发行版本信息

    打包压缩相关命令

    gzip:

    bzip2:

    tar:                打包压缩

         -c              归档文件

         -x              压缩文件

         -z              gzip压缩文件

         -j              bzip2压缩文件

         -v              显示压缩或解压缩过程 v(view)

         -f              使用档名

    例:

    tar -cvf /home/abc.tar /home/abc              只打包,不压缩

    tar -zcvf /home/abc.tar.gz /home/abc        打包,并用gzip压缩

    tar -jcvf /home/abc.tar.bz2 /home/abc      打包,并用bzip2压缩

    当然,如果想解压缩,就直接替换上面的命令  tar -cvf  / tar -zcvf  / tar -jcvf 中的“c” 换成“x” 就可以了。

    关机/重启机器

    shutdown

         -r             关机重启

         -h             关机不重启

         now          立刻关机

    halt               关机

    reboot          重启

    管道

    将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。

    例:grep -r "close" /home/* | more       在home目录下所有文件中查找,包括close的文件,并分页输出。

    软件包管理

    dpkg (Debian Package)管理工具,软件包名以.deb后缀。这种方法适合系统不能联网的情况下。

    比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。

    sudo dpkg -i tree_1.5.3-1_i386.deb         安装软件

    sudo dpkg -r tree                                     卸载软件

    注:将tree.deb传到Linux系统中,有多种方式。VMwareTool,使用挂载方式;使用winSCP工具等;

    APT(Advanced Packaging Tool)高级软件工具。这种方法适合系统能够连接互联网的情况。

    依然以tree为例

    sudo apt-get install tree                         安装tree

    sudo apt-get remove tree                       卸载tree

    sudo apt-get update                                 更新软件

    sudo apt-get upgrade        

    将.rpm文件转为.deb文件

    .rpm为RedHat使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。

    sudo alien abc.rpm

    vim使用

    vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。

    命令模式下:

    :q                      退出

    :q!                     强制退出

    :wq                   保存并退出

    :set number     显示行号

    :set nonumber  隐藏行号

    /apache            在文档中查找apache 按n跳到下一个,shift+n上一个

    yyp                   复制光标所在行,并粘贴

    h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)

    用户及用户组管理

    /etc/passwd    存储用户账号

    /etc/group       存储组账号

    /etc/shadow    存储用户账号的密码

    /etc/gshadow  存储用户组账号的密码

    useradd 用户名

    userdel 用户名

    adduser 用户名

    groupadd 组名

    groupdel 组名

    passwd root     给root设置密码

    su root

    su - root 

    /etc/profile     系统环境变量

    bash_profile     用户环境变量

    .bashrc              用户环境变量

    su user              切换用户,加载配置文件.bashrc

    su - user            切换用户,加载配置文件/etc/profile ,加载bash_profile

    更改文件的用户及用户组

    sudo chown [-R] owner[:group] {File|Directory}

    例如:还以jdk-7u21-linux-i586.tar.gz为例。属于用户hadoop,组hadoop

    要想切换此文件所属的用户及组。可以使用命令。

    sudo chown root:root jdk-7u21-linux-i586.tar.gz

    文件权限管理

    三种基本权限

    R           读         数值表示为4

    W          写         数值表示为2

    X           可执行  数值表示为1

    -rw-rw-r--一共十个字符,分成四段。

    第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录

    第二三四个字符“rw-”表示当前所属用户的权限。   所以用数值表示为4+2=6

    第五六七个字符“rw-”表示当前所属组的权限。      所以用数值表示为4+2=6

    第八九十个字符“r--”表示其他用户权限。              所以用数值表示为2

    所以操作此文件的权限用数值表示为662 

    更改权限

    sudo chmod [u所属用户  g所属组  o其他用户  a所有用户]  [+增加权限  -减少权限]  [r  w  x]   目录名 

    例如:有一个文件filename,权限为“-rw-r----x” ,将权限值改为"-rwxrw-r-x",用数值表示为765

    sudo chmod u+x g+w o+r  filename

    上面的例子可以用数值表示

    sudo chmod 765 filename

    改变文件的所属群组:chgrp

    改变文件拥有者:chown

    改变文件的权限:chmod

    GZIP,TAR区别

    tar是打包,不是压缩,只是把一堆文件打成一个文件而已GZIP用在HTTP协议上是一种用来改进WEB应用程序性能的技术,将网页内容压缩后再传输。

    zip就不用说了,主流的压缩格式。

    zip最新的压缩算法还是很好的,建议还是用zip格式化,全平台通用。

    tar没有怎样压缩,压缩率100%,主要是永远打包,

    zip压缩率看文件类型,jpg就没怎么压缩率,但bmp很高

    gzip一般比zip高

    假设一个目录/home下有文件mm.txt、sort.txt、xx.com

    例1:把/home目录下的每个文件压缩成.gz文件。

    $ cd /home

    $ gzip *

    $ ls m.txt.gz sort.txt.gz xx.com.gz

    例2:把例1中每个压缩的文件解压,并列出详细的信息。

    $ gzip -dv *

     2、详解部分

    查找命令对比及详解

    1、find

    find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。

    find的使用格式如下:

      $ find <指定目录> <指定条件> <指定动作>

      - <指定目录>: 所要搜索的目录及其所有子目录。默认为当前目录。

      - <指定条件>: 所要搜索的文件的特征。

      - <指定动作>: 对搜索结果进行特定的处理。

    如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

    find的使用实例:

      $ find . -name 'my*'

    搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。

      $ find . -name 'my*' -ls

    搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。

      $ find . -type f -mmin -10

    搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。

    2. locate

    locate命令其实是"find -name"的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

    locate命令的使用实例:

      $ locate /etc/sh

    搜索etc目录下所有以sh开头的文件。

      $ locate ~/m

    搜索用户主目录下,所有以m开头的文件。

      $ locate -i ~/m

    搜索用户主目录下,所有以m开头的文件,并且忽略大小写。

    3. whereis

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

    whereis命令的使用实例:

      $ whereis grep

    4. which

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

    which命令的使用实例:

      $ which grep

    5. find详解

    ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} ;

    find命令的参数;

    pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

    -print: find命令将匹配的文件输出到标准输出。

    -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } ;,注意{ }和;之间的空格。

    -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

    #-print 将查找到的文件输出到标准输出

    #-exec   command   {} ;      —–将查到的文件执行command操作,{} 和 ;之间有空格

    #-ok 和-exec相同,只不过在操作前要询用户

    例:find . -name .svn | xargs rm -rf

    ====================================================

    -name   filename             #查找名为filename的文件

    -perm                        #按执行权限来查找

    -user    username             #按文件属主来查找

    -group groupname            #按组来查找

    -mtime   -n +n                #按文件更改时间来查找文件,-n指n天以内,+n指n天以前

    -atime    -n +n               #按文件访问时间来查GIN: 0px">

    -ctime    -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前

    -nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在

    -nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存

    -newer   f1 !f2              找文件,-n指n天以内,+n指n天以前 

    -ctime    -n +n               #按文件创建时间来查找文件,-n指n天以内,+n指n天以前 

    -nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在

    -nouser                      #查无有效属主的文件,即文件的属主在/etc/passwd中不存

    -newer   f1 !f2               #查更改时间比f1新但比f2旧的文件

    -type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件

    -size      n[c]               #查长度为n块[或n字节]的文件

    -depth                       #使查找在进入子目录前先行查找完本目录

    -fstype                     #查更改时间比f1新但比f2旧的文件

    -type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件

    -size      n[c]               #查长度为n块[或n字节]的文件

    -depth                       #使查找在进入子目录前先行查找完本目录

    -fstype                      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到

    -mount                       #查文件时不跨越文件系统mount点

    -follow                      #如果遇到符号链接文件,就跟踪链接所指的文件

    -cpio                %;      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到

    -mount                       #查文件时不跨越文件系统mount点

    -follow                      #如果遇到符号链接文件,就跟踪链接所指的文件

    -cpio                        #对匹配的文件使用cpio命令,将他们备份到磁带设备中

    -prune                       #忽略某个目录

    =====================================================

    $find   ~   -name   "*.txt"   -print    #在$HOME中查.txt文件并显示

    $find   .    -name   "*.txt"   -print

    $find   .    -name   "[A-Z]*"   -print   #查以大写字母开头的文件

    $find   /etc   -name   "host*"   -print #查以host开头的文件

    $find   .   -name   "[a-z][a-z][0–9][0–9].txt"    -print   #查以两个小写字母和两个数字开头的txt文件

    $find .   -perm   755   -print

    $find   .   -perm -007   -exec ls -l {} ;   #查所有用户都可读写执行的文件同-perm 777

    $find   . -type d   -print

    $find   .   !   -type   d   -print 

    $find   .   -type l   -print

    $find   .   -size   +1000000c   -print        #查长度大于1Mb的文件

    $find   .   -size   100c         -print       # 查长度为100c的文件

    $find   .   -size   +10   -print              #查长度超过期作废10块的文件(1块=512字节)

    $cd /

    $find   etc   home   apps    -depth   -print   | cpio   -ivcdC65536   -o   /dev/rmt0

    $find   /etc -name "passwd*"   -exec grep   "cnscn"   {}   ;   #看是否存在cnscn用户

    $find . -name "yao*"   | xargs file

    $find   . -name "yao*"   |   xargs   echo    "" > /tmp/core.log

    $find   . -name "yao*"   | xargs   chmod   o-w

    ======================================================

    find   -name april*                     在当前目录下查找以april开始的文件

    find   -name   april*   fprint file        在当前目录下查找以april开始的文件,并把结果输出到file中

    find   -name ap* -o -name may*   查找以ap或may开头的文件

    find   /mnt   -name tom.txt   -ftype vfat   在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件

    find   /mnt   -name t.txt ! -ftype vfat   在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件

    find   /tmp   -name wa* -type l            在/tmp下查找名为wa开头且类型为符号链接的文件

    find   /home   -mtime   -2                 在/home下查最近两天内改动过的文件

    find /home    -atime -1                  查1天之内被存取过的文件

    find /home -mmin    +60                  在/home下查60分钟前改动过的文件

    find /home   -amin   +30                  查最近30分钟前被存取过的文件

    find /home   -newer   tmp.txt             在/home下查更新时间比tmp.txt近的文件或目录

    find /home   -anewer   tmp.txt            在/home下查存取时间比tmp.txt近的文件或目录

    find   /home   -used   -2                  列出文件或目录被改动过之后,在2日内被存取过的文件或目录

    find   /home   -user cnscn                列出/home目录内属于用户cnscn的文件或目录

    find   /home   -uid   +501                  列出/home目录内用户的识别码大于501的文件或目录

    find   /home   -group   cnscn              列出/home内组为cnscn的文件或目录

    find   /home   -gid 501                   列出/home内组id为501的文件或目录

    find   /home   -nouser                    列出/home内不属于本地用户的文件或目录

    find   /home   -nogroup                   列出/home内不属于本地组的文件或目录

    find   /home    -name tmp.txt    -maxdepth   4   列出/home内的tmp.txt 查时深度最多为3层

    find   /home   -name tmp.txt   -mindepth   3   从第2层开始查

    find   /home   -empty                     查找大小为0的文件或空目录

    find   /home   -size   +512k                查大于512k的文件

    find   /home   -size   -512k               查小于512k的文件

    find   /home   -links   +2                查硬连接数大于2的文件或目录

    find   /home   -perm   0700                查权限为700的文件或目录

    find   /tmp   -name tmp.txt   -exec cat {} ;

    find   /tmp   -name   tmp.txt   -ok   rm {} ;

    find    /   -amin    -10     # 查找在系统中最后10分钟访问的文件

    find    /   -atime   -2        # 查找在系统中最后48小时访问的文件

    find    /   -empty             # 查找在系统中为空的文件或者文件夹

    find    /   -group   cat        # 查找在系统中属于 groupcat的文件

    find    /   -mmin   -5         # 查找在系统中最后5分钟里修改过的文件

    find    /   -mtime   -1       #查找在系统中最后24小时里修改过的文件

    find    /   -nouser           #查找在系统中属于作废用户的文件

    find    /   -user    fred     #查找在系统中属于FRED这个用户的文件

    find / -name filename| rm -rf,不成功,请问为什么不成功?

    find / -name filename -exec rm -rf {} ;

    ; 则相当于“宪法”,没什么说头,就是这么规定的,在 -exec 后面需要一个表示该命令终结的的符号。可以在 man find 中找到答案。

    要让rm识别find的结果,如下:

    find / -name filename |xargs rm -rf

    之所以find . -name filename |rm -rf不通过,是因为rm命令不接受从标准输入传过来的指令

    查找含特定字符串的文件

    日志查询命令详解

    http://www.cnblogs.com/Genesisx/p/7457571.html

    TOP命令详解

    第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。

    如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached,按这个公式此台服务器的可用内存:530668+79236+4231276 = 4.7GB。

    对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。

    第七行以下:各进程(任务)的状态监控
    PID — 进程id
    USER — 进程所有者
    PR — 进程优先级
    NI — nice值。负值表示高优先级,正值表示低优先级
    VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    SHR — 共享内存大小,单位kb
    S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
    %CPU — 上次更新到现在的CPU时间占用百分比
    %MEM — 进程使用的物理内存百分比
    TIME+ — 进程使用的CPU时间总计,单位1/100秒
    COMMAND — 进程名称(命令名/命令行)

    VIRT:virtual memory usage 虚拟内存
    1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
    2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量

    RES:resident memory usage 常驻内存
    1、进程当前使用的内存大小,但不包括swap out;进程使用的物理内存总和
    2、包含其他进程的共享
    3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
    4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

    SHR:shared memory 共享内存
    1、除了自身进程的共享内存,也包括其他进程的共享内存
    2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
    3、计算某个进程所占的物理内存大小公式:RES – SHR
    4、swap out后,它将会降下来

    free命令



    其中的相关说明:  

    Mem:表示物理内存统计
    -/+ buffers/cached:表示物理内存的缓存统计
    Swap:表示硬盘上交换分区的使用情况(这里我们不去关心)
    系统的总物理内存:255268Kb(256M),但系统当前真正可用的内存并不是第一行free 标记的 16936Kb,它仅代表未被分配的内存。
    我们使用total1、used1、free1、used2、free2 等名称来代表上面统计数据的各值,1、2 分别代表第一行和第二行的数据。

    total1:    表示物理内存总量。
    used1:     表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。
    free1:     未被分配的内存。
    shared1:   共享内存,一般系统不会用到,这里也不讨论。
    buffers1: 系统分配但未被使用的buffers 数量。
    cached1:   系统分配但未被使用的cache 数量。buffer 与cache 的区别见后面。

    used2:     实际使用的buffers 与cache 总量,也是实际使用的内存总量。
    free2:     未被使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存。

      可以整理出如下等式:
    total1 = used1 + free1
    total1 = used2 + free2
    used1   = buffers1 + cached1 + used2
    free2   = buffers1 + cached1 + free1

    buffer是用于存放要输出到disk(块设备)的数据的,而cache是存放从disk上读出的数据。这二者是为了提高IO性能的,并由OS管理。

    因为被系统cache和buffer占用的内存可以被快速回收,所以通常free2比free1会大很多。

    vmstat 命令

    vmstat 3
    
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
    
    r b swpd free buff cache si so bi bo in cs us sy id wa st
    
    0 0 320 42188 167332 1534368 0 0 4 7 1 0 0 0 99 0 0
    
    0 0 320 42188 167332 1534392 0 0 0 0 1002 39 0 0 100 0 0
    
    0 0 320 42188 167336 1534392 0 0 0 19 1002 44 0 0 100 0 0
    
    0 0 320 42188 167336 1534392 0 0 0 0 1002 41 0 0 100 0 0
    
    0 0 320 42188 167336 1534392 0 0 0 0 1002 41 0 0 100 0 0
    

    字段说明:

    Procs(进程)

    • r: 运行队列中进程数量,这个值也可以判断是否需要增加CPU。(长期大于1)
    • b: 等待IO的进程数量。

    Memory(内存)

    • swpd: 使用虚拟内存大小,如果swpd的值不为0,但是SI,SO的值长期为0,这种情况不会影响系统性能。
    • free: 空闲物理内存大小。
    • buff: 用作缓冲的内存大小。
    • cache: 用作缓存的内存大小,如果cache的值大的时候,说明cache处的文件数多,如果频繁访问到的文件都能被cache处,那么磁盘的读IO bi会非常小。

    Swap

    • si: 每秒从交换区写到内存的大小,由磁盘调入内存。
    • so: 每秒写入交换区的内存大小,由内存调入磁盘。

    注意:内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。有些朋友看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,不能光看这一点,还要结合si和so,如果free很少,但是si和so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的。

    IO(现在的Linux版本块的大小为1kb)

    • bi: 每秒读取的块数
    • bo: 每秒写入的块数

    注意:随机磁盘读写的时候,这2个值越大(如超出1024k),能看到CPU在IO等待的值也会越大。

    system(系统)

    • in: 每秒中断数,包括时钟中断。
    • cs: 每秒上下文切换数。

    注意:上面2个值越大,会看到由内核消耗的CPU时间会越大。

    CPU(以百分比表示)

    • us: 用户进程执行时间百分比(user time)

    us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速。

    • sy: 内核系统进程执行时间百分比(system time)

    sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因。

    • wa: IO等待时间百分比

    wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。

    • id: 空闲时间百分比

    3、工作中总结的奇淫绝技

    按文件大小排序取前五

    ls -hlS|head -n 5

    保留列头

    例如:ps aux|head -n 1; ps aux | grep 'java'

    统计日志中关键词出现的次数并排序

    cat requstParams-2017-10-30-2.log | grep -i 'method'  |sort -nr| uniq  -c |sort -k1 -nr

    !!:执行上一条命令
    !num:执行历史命令中第num条命令
    !-num:执行历史命令中倒数第num条命令
    !?string?:执行最近一条包含有string字符串的命令
    Ctrl+r:搜索上一条匹配的命令
    !$:代表上一个命令的最后一个字符串
    Esc+.:显示上一个命令的最后一个字符串
     
    移动相关命令
    Ctrl+a:将光标移到行首
    Ctrl+e:将光标移到行尾
    Ctrl+右箭头:向右移动一个单词
    Ctrl+左箭头:向左移动一个单词
    Ctrl+f:向右移动一个字符,相当于按向右按键
    Ctrl+b:向左移动一个字符,相当于按向左按键
    Esc+f:移动到当前单词的尾部
    Esc+b:移动到当前单词的首部
     
    编辑相关的命令
    tab:补全命令
    Ctrl+c:中断当前的操作(最常用)
    Ctrl+u:剪切光标所在位置到行首间的字符,如果光标在最后,相当于剪切当前命令行
    Ctrl+k:剪切光标所在位置到行尾间的字符,如果光标在行首,相当于剪切当前命令行
    Ctrl+y:粘贴之前被剪切的字符串
    Ctrl+d:删除光标处所在的字符
    Ctrl+h:删除光标处所在的前一个字符
    Ctrl+w:删除光标前的单词
     
    操作相关命令
    Ctrl+d:注销当前shell并关闭
    clear:清屏
    exit:退出当前shell
    Ctrl+l:清屏操作(将当前的显示全部清除,保留当前行命令)
    Ctrl+s: 挂起当前shell
    Ctrl+q:重新启动挂起的shell


     


    文章内容均为网上收集整理,如有侵权告知必删

  • 相关阅读:
    面向对象程序设计(JAVA) 第14周学习指导及要求
    面向对象程序设计(JAVA) 第13周学习指导及要求
    面向对象程序设计(JAVA) 第12周学习指导及要求
    让小球做圆周运动,你有几种办法?
    💥2020面试准备系列(一):JS
    秒懂js的垃圾回收
    jqgrid计算表单
    CSS揭秘实用技巧总结
    利用css 实现 视觉差效果
    前端经典面试题解密:JS的new关键字都干了什么?
  • 原文地址:https://www.cnblogs.com/Genesisx/p/7736862.html
Copyright © 2011-2022 走看看