linux 命令之嘆號的驚嘆用法

2021-10-09 20:20:59 字數 1143 閱讀 7417

嘆號(!)一般在表示式或者**中表示非或者取反值的意思,在 linux 終端命令列中嘆號可以有很多花裡胡哨的操作。我們敲命令的時候使用嘆號不一定會提公升效率,但是可以在聯調對線的時候秀一把,問題沒解決不重要,過程一定要浪,接下來我們一起學習每日裝逼小技巧:

1、邏輯非操作

栗子: 刪除當前目錄除了 .conf 字尾結尾的所有檔案

$ rm !(*.conf)

2、替換上一條命令的字串

栗子: $ ls /home/test

把上一條命令的 test 字串替換成 lk

$ !!:gs/test/lk

注意 g 表示全域性替換,所有匹配的字串都會被替換掉,去掉 g 只替換第乙個匹配的字串。

3、執行上一條命令

栗子: $ !!

4、執行前面第 n 條命令

栗子: 執行往前數第 5 條命令

$ !-5

5、快速執行歷史命令

栗子: 執行 history 的第 1024 條命令

$ !1024

6、執行前面包含關鍵字的命令

栗子: 執行上一條帶有 lk 關鍵字的命令

$ !?lk?

7、執行前面以關鍵字開頭的命令

栗子: 執行上一條以 sudo 開頭的命令

$ !sudo

8、使用前面指定命令的某個引數

栗子: $ ls -l /home/lk/a.sh

使用上一條 ls 命令的 第二個引數(/home/lk/a.sh)

$ cat !ls:2

9、使用上一條命令的所有引數

栗子: $ ls 1.c 2.c 3.c

刪除 1.c 2.c 3.c

$ rm !*

10、使用上一條命令的第乙個引數

栗子: $ ls 1.c 2.c 3.c

檢視 1.c 的內容

$ cat !^

11、使用上一條命令的最後乙個引數

栗子: $ ls 1.c 2.c 3.c

檢視 3.c 的內容

$ cat !$

12、去掉上一條命令的最後乙個引數,然後執行

栗子: $ ls 1.c 2.c 3.c

去除 3.c 再執行一次

$ !:-

Linux下嘆號!的用法

在定義包含!的字串變數時,出現了以下提示錯誤。注意 在centos系統下錯誤,在fedora系統可以正常執行。修正方法有以下幾種 1 將整個字串用單引號引起來。2 在!後新增空格。3 在!前面加轉義符 3 用單引號將!引起來。4 雙引號和轉義符配合使用。接下來,順帶總結了linux系統下!感嘆號的幾...

Linux中的嘆號命令

整天在shell環境下操作,不積累點快捷輸入的小技巧是不行的。最常用的技巧恐怕就是tab自動補全以及上方向鍵來回退上幾條歷史命令了,這些對於csh,bash,ksh,zsh都適用。最近還找到一種快速回退上一條歷史的一些小技巧,暫記錄之。1,除了方向鍵上,還可以用 代表上一條輸入的命令,用這個的好處在...

Linux中的嘆號命令

在shell環境下操作,需要積累點快捷輸入的小技巧 最常用的技巧恐怕就是tab自動補全以及上方向鍵來回退上幾條歷史命令了,這些對於csh,bash,ksh,zsh都適用。最近還找到一種快速回退上一條歷史的一些小技巧,暫記錄之。1 除了方向鍵上,還可以用 代表上一條輸入的命令,用這個的好處在於可以將這...