在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux操作系統(tǒng)基礎(chǔ)命令:如何運(yùn)用Bash history

如意 ? 來源:良許Linux微信公眾號(hào) ? 作者:良許 ? 2020-09-02 11:05 ? 次閱讀

相信大家平時(shí)都有用 history 命令來查看命令歷史記錄,但是實(shí)際上 history 命令并非只有這個(gè)功能,history 還有很多有用的功能。尤其是 Bash 版本的 history 命令,它所提供的功能比所有其他的 Linux Shell history 命令所提供的都要多。

Bash 的歷史悠久,是一個(gè)古老的 Shell ,并且它還有一個(gè)更古老的前身 the Bourne Shell (sh) 。因此,Bash 的 history 命令是所有的 Linux Shell history 命令中功能最豐富的。Bash 版本的 history命令不僅支持反向搜索、快速調(diào)用,還支持重寫歷史記錄等等功能。

善用 Bash history 命令以上的這些功能都可以提高你的工作效率,因此,讓良許為你一一講解 Bash history 命令以及它常用的功能。

history 是內(nèi)置的命令

history 命令與許多其他的命令不同。你可能習(xí)慣于命令都作為可執(zhí)行文件放置在常見的系統(tǒng)級(jí)的位置,例如 /usr/bin,/usr/local/bin 或 ?/ bin。但是,內(nèi)置的 history 命令并不在你的環(huán)境變量 PATH 保存的路徑中的。

實(shí)際上,history 命令并沒有保存在物理位置中:

$ which history

which: no history in [PATH]

history 其實(shí)是 Shell 本身的一個(gè)內(nèi)置函數(shù):

$ type history

history is a shell builtin

$ help history

history: history [-c] [-d offset] [n] or

history -anrw [filename] or

history -ps arg [arg.。。]

Display or manipulate the history list.

[。..]

由于 history 是 Shell 的內(nèi)置函數(shù),所以每種 Shell 的 history 函數(shù)都是獨(dú)一無二的。因此,你在 Bash 中能使用的功能可能無法在 Tcsh,F(xiàn)ish 或 Dash 中使用,同樣的,在 Tcsh,F(xiàn)ish 或 Dash 中能使用的功能也可能無法在 Bash 中使用。

查看你的 Bash 命令歷史記錄

history 命令最基本,最頻繁的用法就是查看你的 Shell 會(huì)話的命令歷史記錄:

$ echo “hello”

hello

$ echo “world”

world

$ history

1 echo “hello”

2 echo “world”

3 history

事件提示符

事件提示符 (?。?是按事件搜索歷史記錄的。這里的事件,指的是每一條記錄在歷史記錄里的命令。換句話說,它就是一行命令,并被數(shù)字索引標(biāo)記著以供引用。

要重新運(yùn)行歷史記錄中的一個(gè)命令,用 ! 直接加上 (無空格) 你想要運(yùn)行的命令前面的索引數(shù)字即可。例如,假設(shè)歷史記錄中的第一條指令是 echo hello ,然后你想重新運(yùn)行它:

$ !1

echo “hello”

hello

你還可以通過從歷史記錄中的當(dāng)前位置開始提供負(fù)數(shù)的行來使用相對(duì)定位。例如,返回歷史記錄中倒數(shù)第3條命令:

$ echo “alvin”

alvin

$ echo “hello”

hello

$ echo “world”

world

$ !-3

echo “alvin”

alvin

如果你只想返回上一條命令,你可以使用簡寫 ??! 來替代 !-1。這整整節(jié)省了一次按鍵的時(shí)間?。。?/p>

$ echo “alvin”

alvin

$ !!

echo “alvin”

alvin

字符串搜索

你也可以通過特定的字符串來搜索歷史記錄中的命令并運(yùn)行它。

若是想要搜索以特定字符串開頭的命令,就用 ! 直接加上 (無空格) 你想要搜索的字符串:

$ echo “alvin”

alvin

$ true

$ false

$ !echo

echo “alvin”

alvin

你還可以搜索在任意位置包含特定字符串的命令。要做到這點(diǎn),你只需要用 ! 直接加上前后兩端都被 ? 包圍的特定字符串即可,像這樣:

$ echo “alvin”

alvin

$ true

$ false

$ ?。縜lvin?

echo “alvin”

alvin

如果你知道你想要搜索的字符串在命令的最后面,那就可以省略字符串后面的 ?,像這樣:

$ echo alvin

alvin

$ ???alvin

echo alvin

alvin

值得注意的是,若是歷史記錄中包含目標(biāo)字符串的命令不止一條,則它只會(huì)執(zhí)行符合條件的命令中最后的一條:

$ echo “hello world”

hello world

$ echo “hello alvin”

hello alvin

$ !?hello?

echo “hello alvin”

hello alvin

字符串替換

你可以搜索一個(gè)特定的字符串并用新字符串替換它,從而更改命令:

$ echo “hello”

hello

$ echo “world”

world

$ ^hello^alvin

echo “alvin”

alvin

但是它只能替換第一次出現(xiàn)的目標(biāo)字符串,若是命令中出現(xiàn)兩次目標(biāo)字符串,則只有第一次出現(xiàn)的會(huì)被替換,像這樣:

$ echo “hello hello”

hello hello

$ ^hello^alvin

echo “alvin hello”

alvin hello

與字符串搜索一樣,當(dāng)歷史記錄中包含目標(biāo)字符串的命令不止一條時(shí),只替換并執(zhí)行最后一條:

$ echo “hello world”

hello world

$ echo “hello”

hello

$ ^hello^alvin

echo “alvin”

alvin

充分利用 history 命令

實(shí)際上,Bash 的 history 命令的功能遠(yuǎn)不止本文所提到的,但這是你習(xí)慣使用 history 命令的一個(gè)很好的開始,而不僅僅是利用 history 來查看歷史記錄。要經(jīng)常使用 history 命令,看看你只利用 history 命令而不輸入具體的指令能完成多少事情,你會(huì)被驚艷到的。
責(zé)編AJX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11410

    瀏覽量

    212195
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7001

    瀏覽量

    124619
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    369

    瀏覽量

    23784
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    linux操作系統(tǒng)命令不能運(yùn)行

    不小心 改了/etc/profile里面的環(huán)境變量,導(dǎo)致重啟后linux操作系統(tǒng)停在命令行模式,ls、vi命令運(yùn)行不了,怎么把環(huán)境變量再改回去???重啟了也start x了,問題一直沒有
    發(fā)表于 04-19 00:39

    有關(guān)Linux history歷史命令的例子詳解

    當(dāng)你在玩Linux的時(shí)候,如果你經(jīng)常使用命令行來控制你的Linux系統(tǒng),那么有效地使用命令歷史機(jī)制將會(huì)使效率獲得極大提升。事實(shí)上,一旦你掌握
    發(fā)表于 07-11 07:37

    Linuxbash的主要介紹

    shell是一個(gè)程序,可以稱之為殼程序,用于用戶與操作系統(tǒng)進(jìn)行交互。用來區(qū)別與核,相當(dāng)于是一個(gè)命令解析器,Shell有很多中,這里列出其中幾種 - Bourne SHell(sh) - Bourne
    發(fā)表于 07-11 06:53

    Linux操作系統(tǒng)安裝與使用

    嵌入式網(wǎng)絡(luò)編程+嵌入式Linux系統(tǒng)一、Linux操作系統(tǒng)安裝與使用(命令)二、Linux開發(fā)工
    發(fā)表于 11-05 08:25

    Linux操作系統(tǒng)安裝與使用

    嵌入式網(wǎng)絡(luò)編程+嵌入式Linux系統(tǒng)Linux操作系統(tǒng)安裝與使用(命令Linux開發(fā)工具(gc
    發(fā)表于 12-22 07:47

    Linux操作系統(tǒng)

    linux的教學(xué)內(nèi)容1 、Linux概述 2 、Linux操作系統(tǒng)安裝3、 Linux的內(nèi)核 4 、Li
    發(fā)表于 04-10 16:54 ?0次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系統(tǒng)</b>

    Linux操作系統(tǒng)原理及應(yīng)用

    Linux操作系統(tǒng)原理及應(yīng)用 1.1  操作系統(tǒng)的地位 1.2  操作系統(tǒng)的功能 1.3  操作系統(tǒng)的發(fā)
    發(fā)表于 04-28 14:53 ?0次下載

    linuxHistory命令代碼的詳細(xì)資料合集免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是linuxHistory命令代碼的詳細(xì)資料合集免費(fèi)下載。
    發(fā)表于 11-19 08:00 ?2次下載

    Linux操作系統(tǒng)的目錄結(jié)構(gòu)

    經(jīng)常在Windows環(huán)境下工作的同學(xué)在初次使用Linux操作系統(tǒng)的時(shí)候可能有種不知所措的感覺。 Linux操作系統(tǒng)理念是一切皆文件。因此當(dāng)我們登入L
    的頭像 發(fā)表于 02-24 10:01 ?3695次閱讀

    Linux操作環(huán)境:將Python和shell命令Bash結(jié)合在一起

    對(duì)于Linux用戶而言,命令操作我們已經(jīng)非常熟悉了。與其他流行的操作系統(tǒng)不同,在Linux社區(qū)中,使用
    的頭像 發(fā)表于 09-16 15:17 ?2527次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>操作</b>環(huán)境:將Python和shell<b class='flag-5'>命令</b>的<b class='flag-5'>Bash</b>結(jié)合在一起

    開發(fā)人員必看的 Linux 操作系統(tǒng)常用命令合集

    對(duì)于開發(fā)來說,Linux是開源穩(wěn)定的,有龐大的社區(qū)支持,生態(tài)環(huán)境好,而且可被定制,支持多用戶的網(wǎng)絡(luò)操作系統(tǒng),優(yōu)點(diǎn)多多。因此,基本上開發(fā)人員都會(huì)選擇Linux操作系統(tǒng)。今天給大家整理了
    的頭像 發(fā)表于 10-08 13:57 ?2041次閱讀
    開發(fā)人員必看的 <b class='flag-5'>Linux</b> <b class='flag-5'>操作系統(tǒng)</b>常用<b class='flag-5'>命令</b>合集

    LINUX操作系統(tǒng)的安裝與Linux常用文件命令

    LINUX操作系統(tǒng)的安裝與Linux常用文件命令說明。
    發(fā)表于 06-02 17:45 ?3次下載

    Linux操作系統(tǒng)的CP命令源代碼匯總

    Linux操作系統(tǒng)的CP命令源代碼匯總
    發(fā)表于 08-04 16:08 ?4次下載

    Bash 中比較 $() 與 ${}

    Linux 這樣的基于 GNU 的操作系統(tǒng)依賴于一個(gè)名為 Bash命令語言解釋器或 Shell 來完成它們的大部分計(jì)算任務(wù)和目標(biāo)。
    的頭像 發(fā)表于 09-09 09:24 ?775次閱讀

    Linux history命令的使用技巧

    使用 Linux 命令行工作,需要了解且使用 history 的一些常用的特性,不管是 Linux 初學(xué)者,還是系統(tǒng)專家。
    的頭像 發(fā)表于 02-03 16:30 ?3023次閱讀
    <b class='flag-5'>Linux</b> <b class='flag-5'>history</b><b class='flag-5'>命令</b>的使用技巧
    主站蜘蛛池模板: 婷婷亚洲五月 | 国产福利久久 | 在线观看免费国产 | 一级网站片| 2022年永久免费观看 | 痴女在线播放免费视频 | 国产激烈床戏无遮挡在线观看 | 久久国产精品无码网站 | 好黄好硬好爽好刺激 | 久久精品国产亚洲综合色 | 日本免费视频 | 狠狠色综合久久婷婷 | 色综合888| 天天干中文字幕 | 中文字幕一区精品欧美 | www.91在线 | 天天射天天怕 | 奇米欧美成人综合影院 | 手机看片久久 | 日本a级三级三级三级久久 日本a级影院 | 亚洲综合色婷婷 | 色在线视频网站 | 丁香六月综合网 | 亚洲欧美在线视频免费 | 国产午夜精品一区二区 | 男女午夜免费视频 | 天天狠天天天天透在线 | 黄色视网站| 四虎影院中文字幕 | 日日干天天爽 | 国模最新私拍视频在线观看 | 国产一级毛片午夜福 | 伊人成人在线观看 | 日本免费一区二区老鸭窝 | 四虎最新紧急入口4hu | 亚洲人成人 | 狠狠噜天天噜日日噜 | 婷婷亚洲五月琪琪综合 | 高清色视频 | 成年美女黄网站色大免费视频 | 日本特黄特色 |