zoukankan      html  css  js  c++  java
  • 像黑客一样使用linux命令行

    3.30参加了CSDN主办的开源技术大会OSTC,会上linuxtoy的站长Toy发表了题为《像黑客一样使用linux命令行》的演讲。幻灯片

    内容汇总为下文

    1.使用^删掉多余部分

    % grep fooo /var/log/auth.log     #foo错敲成了fooo
    % ^o                              #用^o删掉历史命令中第一个匹配到的o
    % grep foo /var/log/auth.log      #相当于执行了这条命令

    2.使用^old^new替换输错的部分

    % cat myflie                      #myfile错输成myflie
    % ^li^il                          #用il替换li
    % cat myfile                      #相当于执行了这条命令

    3.使用!:gs/old/new将全部old替换成new

    % ansible nginx -m command -a 'which nginx'
    % !:gs/nginx/squid                              #将nginx替换成squid
    % ansible squid -m command -a 'which squid'

    4.使用ctrl-r逆向搜索命令

    5.使用ctrl-p访问上一条命令

    6.使用ctrl-n访问下一条命令

    7.使用!!执行上一条命令

    % apt-get install emacs            #忘记加sudo了
    % sudo !!                          #sudo上一条命令
    % sudo apt-get install emacs       #相当于执行了这条命令

    8.使用!part执行历史中最近一次以part开头的命令

    % ls /usr/bin                     
    % !ls                              #执行了上一条命令

    9.使用!?part执行历史中最近一次包含part的命令

    % ls /usr/bin                     
    % !?usr                            #执行了上一条命令

    10.使用!n执行历史中第n条命令

    11.使用!-n执行历史中倒数第n条命令

    % ls /usr/bin
    % !-1                              #执行了上一条命令

    12.使用!#:n引用当前行第n个参数(命令本身的编号为0)

    % echo hello world !#:1 !#:2       # !#:1代表了第一个参数hello !#:2代表了第二个参数world 
    % echo hello world hello world     #相当于执行了这条命

    13.使用!$得到上条命令的最后一个参数

    14.使用!^得到上条命令的第一个参数

    15.使用!:n得到上条命令的第n个参数

    16.使用!:m-n得到上条命令的第m-n个参数

    17.使用!:n*得到上条命令从n开始到最后的参数

    18.使用!:*得到上条命令的所有参数

    % cp foo.txt ~/such/a/long/path/to/go
    % cd !$                                     #进入上条命令的目的文件夹
    % cd ~/such/a/long/path/to/go               #相当于执行了这条命令

    19.使用:h选取路径开头(相当于dirname)

    20.使用:t选取路径结尾

    21.使用:r选取文件名

    22.使用:r选取扩展名

    % ls /usr/bin/nano
    % cd !$:h                                   #进入/usr/bin
  • 相关阅读:
    linux安装mysql8
    linux安装nginx
    linux tp5隐藏index.php
    E45: 'readonly' option is set (add ! to override)
    linux安装git方法
    php-5.6 添加php_zip.dll拓展
    双向链表
    每日一题 为了工作 2020 0315 第十三题
    每日一题 为了工作 2020 03014 第十二题
    每日一题 为了工作 2020 03013 第十一题
  • 原文地址:https://www.cnblogs.com/moonlight-chao/p/3637942.html
Copyright © 2011-2022 走看看