亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Bash中的[命令歷史]tips小結

標簽:
Linux

在之前就记录过不少和Bash的命令历史相关的小技巧,比如:统计最常用的10个命令、以root身份执行上一条命令、快速获取上一条命令的最后一个参数……

后来看到一篇文章: 像黑客一样使用 Linux 命令行 ,学习到了不少,同时又去网上搜了更多的资料,记录、总结成了本文。

0.最常用的10个命令

history |> awk '{CMD[$2]++;count++;} END{ for(a in CMD) print CMD[a],CMD[a]/count*100 "% " a;}' |> grep -v "./" |> column -c3 -s " " -t |> sort -nr |> nl |> head -n 10

1.以root身份执行上一条命令

# 以root身份执行上一条命令$ sudo !!

2.替换上一条命令的[部分]内容

#使用 ^old^new 换掉输错或输少的部分( !:s/old/new )#使用 !:gs/old/new 将 old 全部换成 new$ echo "a nginx, web nginx server, nginx..."a nginx, web nginx server, nginx...$ ^nginx^apache
echo "a apache, web nginx server, nginx..."a apache, web nginx server, nginx...$
$ echo "a nginx, web nginx server, nginx..."a nginx, web nginx server, nginx...$ !:gs/nginx/apache
echo "a apache, web apache server, apache..."a apache, web apache server, apache...$

3.快速获取上一条命令的最后一位参数

#通过 !$ 得到上一条命令的最后一位参数#快捷键 [Alt + .]

4.快速获取上一条命令的第一位参数

#通过 !^ 得到上一条命令的第一个参数#快捷键 [Ctrl + Alt + y]

5.如何获取上一条命令的多个参数

#通过 !:n 得到上一条命令第 n 个参数$ touch foo.txt bar.txt baz.txt
$ vim !:2vim bar.txt#通过 !:x-y 得到上一条命令从 x 到 y 的参数$ touch foo.txt bar.txt baz.txt
$ vim !:1-2vim foo.txt bar.txt#通过 !:n* 得到上一条命令从 n 开始到最后的参数$ cat /etc/resolv.conf /etc/hosts /etc/hostname
$ vim !:2*vim /etc/hosts /etc/hostname#通过 !* 得到上一条命令的所有参数$ touch foo.txt bar.txt hey.txt haha.txt hello.txt
$ cat !*cat foo.txt bar.txt hey.txt haha.txt hello.txt

6.如何获取上一条命令的命令名

#通过 !# 得到上一条命令的命令名
参考链接:

原文链接:http://outofmemory.cn/shell/shell-tips

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消