溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

給Linux 初學者的fc示例分享

發(fā)布時間:2021-11-01 16:15:31 來源:億速云 閱讀:172 作者:柒染 欄目:系統(tǒng)運維

這篇文章給大家介紹給Linux 初學者的fc示例分享,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

fcFix Commands  的縮寫)是個 shell 內置命令,用于在交互式 shell  里列出、編輯和執(zhí)行最近輸入的命令。你可以用你喜歡的編輯器編輯最近的命令并再次執(zhí)行,而不用把它們整個重新輸入一遍。除了可以避免重復輸入又長又復雜的命令,它對修正拼寫錯誤來說也很有用。因為是  shell 內置命令,大多 shell 都包含它,比如 Bash 、 Zsh 、 Ksh 等。在這篇短文中,我們來學一學在 Linux 中使用  fc 命令。

fc 命令教程及示例 

列出最近執(zhí)行的命令

執(zhí)行不帶其它參數的 fc -l 命令,它會列出最近 16 個命令。

$ fc -l507 fish508 fc -l509 sudo netctl restart wlp9s0sktab510 ls -l511 pwd512 uname -r513 uname -a514 touch ostechnix.txt515 vi ostechnix.txt516 echo "Welcome to OSTechNix"517 sudo apcman -Syu518 sudo pacman -Syu519 more ostechnix.txt520 wc -l ostechnix.txt521 cat ostechnix.txt522 clear

-r 選項用于將輸出反向排序。

$ fc -lr

-n 選項用于隱藏行號。

$ fc -ln nano ~/.profile source ~/.profile source ~/.profile fc -ln fc -l sudo netctl restart wlp9s0sktab ls -l pwd uname -r uname -a echo "Welcome to OSTechNix" sudo apcman -Syu cat ostechnix.txt wc -l ostechnix.txt more ostechnix.txt clear

這樣行號就不再顯示了。

如果想以某個命令開始,只需在 -l 選項后面加上行號即可。比如,要顯示行號 520 至最近的命令,可以這樣:

$ fc -l 520520 ls -l521 pwd522 uname -r523 uname -a524 echo "Welcome to OSTechNix"525 sudo apcman -Syu526 cat ostechnix.txt527 wc -l ostechnix.txt528 more ostechnix.txt529 clear530 fc -ln531 fc -l

要列出一段范圍內的命令,將始、末行號作為 fc -l 的參數即可,比如 520 至 525:

$ fc -l 520 525520 ls -l521 pwd522 uname -r523 uname -a524 echo "Welcome to OSTechNix"525 sudo apcman -Syu

除了使用行號,我們還可以使用字符。比如,要列出最近一個 pwd 至最近一個命令之間的所有命令,只需要像下面這樣使用起始字母即可:

$ fc -l p521 pwd522 uname -r523 uname -a524 echo "Welcome to OSTechNix"525 sudo apcman -Syu526 cat ostechnix.txt527 wc -l ostechnix.txt528 more ostechnix.txt529 clear530 fc -ln531 fc -l532 fc -l 520533 fc -l 520 525534 fc -l 520535 fc -l 522536 fc -l l

要列出所有 pwdmore 之間的命令,你可以都使用起始字母,像這樣:

$ fc -l p m

或者,使用開始命令的首字母以及結束命令的行號:

$ fc -l p 528

或者都使用行號:

$ fc -l 521 528

這三個命令都顯示一樣的結果。

編輯并執(zhí)行上一個命令

我們經常敲錯命令,這時你可以用默認編輯器修正拼寫錯誤并執(zhí)行而不用將命令重新再敲一遍。

編輯并執(zhí)行上一個命令:

$ fc

這會在默認編輯器里載入上一個命令。

給Linux 初學者的fc示例分享

你可以看到,我上一個命令是 fc -l。你可以隨意修改,它會在你保存退出編輯器時自動執(zhí)行。這在命令或參數又長又復雜時很有用。需要注意的是,它同時也可能是毀滅性的。比如,如果你的上一個命令是危險的 rm -fr <some-path>,當它自動執(zhí)行時你可能丟掉你的重要數據。所以,小心謹慎對待每一個命令。

更改默認編輯器

另一個有用的選項是 -e ,它可以用來為 fc 命令選擇不同的編輯器。比如,如果我們想用 nano 來編輯上一個命令:

$ fc -e nano

這個命令會打開 nano 編輯器(而不是默認編輯器)編輯上一個命令。

給Linux 初學者的fc示例分享

如果你覺得用 -e 選項太麻煩,你可以修改你的默認編輯器,只需要將環(huán)境變量 FCEDIT 設為你想要讓 fc 使用的編輯器名稱即可。

比如,要把 nano 設為默認編輯器,編輯你的 ~/.profile 或其他初始化文件: (LCTT 譯注:如果 ~/.profile 不存在可自己創(chuàng)建;如果使用的是 bash ,可以編輯 ~/.bash_profile

$ vi ~/.profile

添加下面一行:

FCEDIT=nano# LCTT譯注:如果在子 shell 中會用到 fc ,***在這里 export FCEDIT

你也可以使用編輯器的完整路徑:

FCEDIT=/usr/local/bin/emacs

輸入 :wq 保存退出。要使改動立即生效,運行以下命令:

$ source ~/.profile

現在再輸入 fc 就可以使用 nano 編輯器來編輯上一個命令了。

不編輯而直接執(zhí)行上一個命令

我們現在知道 fc 命令不帶任何參數的話會將上一個命令載入編輯器。但有時你可能不想編輯,僅僅是想再次執(zhí)行上一個命令。這很簡單,在末尾加上連字符(-)就可以了:

$ echo "Welcome to OSTechNix"Welcome to OSTechNix $ fc -e -echo "Welcome to OSTechNix"Welcome to OSTechNix

如你所見,fc 帶了 -e 選項,但并沒有編輯上一個命令(例中的 echo " Welcome to OSTechNix")。

需要注意的是,有些選項僅對指定 shell 有效。比如下面這些選項可以用在 zsh 中,但在 Bash 或 Ksh 中則不能用。

顯示命令的執(zhí)行時間

想要知道命令是在什么時候執(zhí)行的,可以用 -d 選項:

fc -ld1 18:41 exit2 18:41 clear3 18:42 fc -l4 18:42 sudo netctl restart wlp9s0sktab5 18:42 ls -l6 18:42 pwd7 18:42 uname -r8 18:43 uname -a9 18:43 cat ostechnix.txt10 18:43 echo "Welcome to OSTechNix"11 18:43 more ostechnix.txt12 18:43 wc -l ostechnix.txt13 18:43 cat ostechnix.txt14 18:43 clear15 18:43 fc -l

這樣你就可以查看最近命令的具體執(zhí)行時間了。

使用選項 -f ,可以為每個命令顯示完整的時間戳。

 fc -lf 1 4/5/2018 18:41 exit 2 4/5/2018 18:41 clear 3 4/5/2018 18:42 fc -l 4 4/5/2018 18:42 sudo netctl restart wlp9s0sktab 5 4/5/2018 18:42 ls -l 6 4/5/2018 18:42 pwd 7 4/5/2018 18:42 uname -r 8 4/5/2018 18:43 uname -a 9 4/5/2018 18:43 cat ostechnix.txt 10 4/5/2018 18:43 echo "Welcome to OSTechNix" 11 4/5/2018 18:43 more ostechnix.txt 12 4/5/2018 18:43 wc -l ostechnix.txt 13 4/5/2018 18:43 cat ostechnix.txt 14 4/5/2018 18:43 clear 15 4/5/2018 18:43 fc -l 16 4/5/2018 18:43 fc -ld

當然,歐洲的老鄉(xiāng)們還可以使用 -E 選項來顯示歐洲時間格式。

 fc -lE 2 5.4.2018 18:41 clear 3 5.4.2018 18:42 fc -l 4 5.4.2018 18:42 sudo netctl restart wlp9s0sktab 5 5.4.2018 18:42 ls -l 6 5.4.2018 18:42 pwd 7 5.4.2018 18:42 uname -r 8 5.4.2018 18:43 uname -a 9 5.4.2018 18:43 cat ostechnix.txt 10 5.4.2018 18:43 echo "Welcome to OSTechNix" 11 5.4.2018 18:43 more ostechnix.txt 12 5.4.2018 18:43 wc -l ostechnix.txt 13 5.4.2018 18:43 cat ostechnix.txt 14 5.4.2018 18:43 clear 15 5.4.2018 18:43 fc -l 16 5.4.2018 18:43 fc -ld 17 5.4.2018 18:49 fc -lf

fc 用法總結

  • 當不帶任何參數時,fc 將上一個命令載入默認編輯器。

  • 當帶一個數字作為參數時,fc 將數字指定的命令載入默認編輯器。

  • 當帶一個字符作為參數時,fc 將最近一個以指定字符開頭的命令載入默認編輯器。

  • 當有兩個參數時,它們分別指定需要列出的命令范圍的開始和結束。

更多細節(jié),請參考 man 手冊。

$ man fc

關于給Linux 初學者的fc示例分享就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI