成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux中history歷史命令使用方法詳解

系統(tǒng) Linux
當(dāng)你在玩Linux的時(shí)候,如果你經(jīng)常使用命令行來(lái)控制你的Linux系統(tǒng),那么有效地使用命令歷史機(jī)制將會(huì)使效率獲得極大提升。事實(shí)上,一旦你掌握了我在下面給出的15個(gè)有關(guān)Linux history歷史命令的例子,你就會(huì)發(fā)現(xiàn)使用history歷史命令行將更有樂(lè)趣。

 當(dāng)你在玩Linux的時(shí)候,如果你經(jīng)常使用命令行來(lái)控制你的Linux系統(tǒng),那么有效地使用命令歷史機(jī)制將會(huì)使效率獲得極大提升。事實(shí)上,一旦你掌握了我在下面給出的15個(gè)有關(guān)Linux history歷史命令的例子,你就會(huì)發(fā)現(xiàn)使用history歷史命令行將更有樂(lè)趣。

 

1、使用HISTTIMEFORMAT在歷史中顯示TIMESTAMP

通常情況下,當(dāng)你在命令行中鍵入history時(shí),終端中將顯示你剛輸入的命令及其編號(hào)。如果出于審查命令的目的,和命令一起顯示時(shí)間戳將會(huì)很有幫助,如下所示。

# export HISTTIMEFORMAT='%F %T ' 
# history | more 
1 2008-08-05 19:02:39 service network restart 
2 2008-08-05 19:02:39 exit 
3 2008-08-05 19:02:39 id 
4 2008-08-05 19:02:39 cat /etc/redhat-release
[注:你也可以設(shè)置alias語(yǔ)句來(lái)查看最近的歷史命令] 
alias h1='history 10' 
alias h2='history 20' 
alias h3='history 30'

 

2、用Ctrl + R搜索歷史命令

我非常確信這應(yīng)該是你最常使用的history特性,當(dāng)你執(zhí)行了一串相當(dāng)長(zhǎng)的命令之后,你只要用關(guān)鍵字搜索一下歷史命令然后重新執(zhí)行這條命令而不需要將整條命令再輸一遍。方法是:按下Ctrl +R然后輸入關(guān)鍵字。 在以下示例中,我搜索“red”,則顯示以前的命令中含有”red”的命令“cat/etc/redhat-release”。

[注:在命令行提示符下按下Ctrl+R,終端將顯示如下提示―reverse-i-search‖]
 (reverse-i-search)`red`: cat/etc/redhat-release 
[注:當(dāng)看到你要的命令后按回車(chē)鍵,就可以重新執(zhí)行這條命令了] 
#cat /etc/redhat-release 
Fedora release 9 (Sulphur)

 

而有的時(shí)候你需要在執(zhí)行一條歷史命令之前編輯它.比如,你可以像下面那樣搜索“httpd”,終端顯示歷史命令“service httpd stop”,選擇它把“stop”改為“start”然后執(zhí)行它

[注: 在命令提示符下按 Ctrl+R , 將會(huì)顯示提示符‖reverse-i-search‖]
 (reverse-i-search)`httpd`: service httpdstop
[注: 看到你想要的命令后按下左鍵或者右鍵,就可以在執(zhí)行這條命令之前編輯它了] 
# service httpd start

 

3、四種不同的方法快速執(zhí)行之前的命令

有時(shí)出于某些原因你需要執(zhí)行之前的命令,下面的四種方法可以用來(lái)重復(fù)最后執(zhí)行的命令:

1.用向上鍵(up arrow )查看上條命令,按回車(chē)執(zhí)行。 
2.在命令行中輸入!!并按回車(chē)。 
3.在命令行中輸入!-1并按回車(chē)。 
4.按Ctrl+P顯示上條命令,按回車(chē)執(zhí)行。

 

4、執(zhí)行歷史命令中的特定命令

在下面的例子中,如果你想再次執(zhí)行第四條命令,執(zhí)行!4即可

#history | more 
1 service network restart 
2 exit 
3 id 
4 cat /etc/redhat-release 
# !4 cat /etc/redhat-release 
Fedora release 9 (Sulphur)

 

5、執(zhí)行以特定字開(kāi)頭的歷史命令

輸入!和你要重新執(zhí)行的命令的前幾個(gè)字母。在下面的例子中,輸入!ps,回車(chē),執(zhí)行歷史命令中以“ps”開(kāi)頭的“psaux | grep yp”

#!ps 
psaux | grep yp 
root 16947 0.0 0.0 36516 1264 ? Sl 13:10 0:00 ypbind 
root 17503 0.0 0.0 4124 740 pts/0 S+ 19:19 0:00 grep yp

 

6、用HISTSIZE控制歷史命令的總數(shù)

把下面的兩行添加到.bash_profile然后重新登錄bash(譯者注:用source .bash_profile即可)查看有什么變化,在這個(gè)例子中,bash命令歷史記錄中只能儲(chǔ)存450條命令。

#vi ~/.bash_profile 
HISTSIZE=450
HISTFLESIZE=450

 

7、使用HISTFILE改變歷史文件名

默認(rèn)情況下,命令歷史被儲(chǔ)存在.bash_history文件中,把下面的一行添加到.bash_profile文件中,重新登錄shell,則.commandline_warrior文件將取代.bash_history文件用來(lái)儲(chǔ)存歷史命令。你可以使用這個(gè)命令來(lái)追蹤不同終端中執(zhí)行的命令,屆時(shí)只需要將不同終端中所執(zhí)行的命令保存在不同的歷史文件中即可。

#vi ~/.bash_profile 
HISTFILE=/root/.commandline_warrior

 

8、使用HISTCONTROL來(lái)消除命令歷史中的連續(xù)重復(fù)條目

在下面的例子中pwd被輸入了三次,當(dāng)你使用history的時(shí)候,你會(huì)看到這三條命令連續(xù)出現(xiàn)。設(shè)置HISTCONTROL為ignoredups,來(lái)消除重復(fù)命令:

#pwd 
# pwd 
# pwd 
# history | tail -4 
44 pwd 
45 pwd 
46 pwd 
47 history | tail -4 
[注: 上面pwd被執(zhí)行了三次之后,歷史中有三條pwd命令]
# export HISTCONTROL=ignoredups 
# pwd 
# pwd 
# pwd 
# history | tail -3 
56 export HISTCONTROL=ignoredups 
57 pwd 58 history | tail -4 
[注:即使上面pwd被執(zhí)行了三次,歷史中也只有一條pwd命令]

 

9、使用HISTCONTROL在整個(gè)歷史中去除重復(fù)命令

上面的ignoredups去除連續(xù)重復(fù)的命令,要消除整個(gè)命令歷史中的重復(fù)命令,把HISTCONTROL設(shè)置成erasedups

#export HISTCONTROL=erasedups 
# pwd 
# service httpd stop
#history | tail -3 
38 pwd 
39 service httpd stop 
40 history | tail -3 
# ls -ltr 
# service httpd stop 
# history | tail -6 
35 export HISTCONTROL=erasedups 
36 pwd 
37 history | tail -3 
38 ls –ltr 
39 service httpd stop 
40 history | tail -6 
[注: 之前在pwd后面的servicehttpd stop命令被除去了]

 

10、使用HISTCONTROL強(qiáng)制history忽略某條特定命令

在執(zhí)行一條命令時(shí),你可以將HISTCONTROL設(shè)置為ignorespace并在該命令前加上一個(gè)空格來(lái)指示history忽略這條命令??梢灶A(yù)見(jiàn)的是,很多初級(jí)系統(tǒng)管理員將為他們能從history中成功隱藏某條命令而振奮。

了解ignorespace的工作方式是很好。不過(guò),實(shí)踐中最好不要從history中去掩蓋任何命令。

#export HISTCONTROL=ignorespace 
# ls –ltr 
# pwd 
# service httpd stop 
[注: 在service的前面加上一個(gè)空格,以便在命令歷史中忽略它]
# history | tail -3 
67 ls –ltr 
68 pwd 
69 history | tail -3

 

11、使用c選項(xiàng)清除所有的歷史命令

有時(shí)候你或許想要清除之前的歷史命令。而你又想讓history繼續(xù)工作:

#history –c

 

12、替換命令歷史中的內(nèi)容

當(dāng)你搜索歷史命令時(shí),你可能希望執(zhí)行一個(gè)與剛剛查找到的歷史命令具有相同的參數(shù)的命令。 在本例中,vi之后的"!!:$" 可以將前一個(gè)命令的參數(shù)做為當(dāng)前命令的參數(shù)。

#ls anaconda-ks.cfg 
anaconda-ks.cfg 
# vi !!:$ 
vi anaconda-ks.cfg

 

在下面的例子中,緊跟在vi后的參數(shù)“!^”把上一個(gè)命令的第一個(gè)參數(shù)傳遞給當(dāng)前命令。

#cp anaconda-ks.cfg anaconda-ks.cfg.bak 
anaconda-ks.cfg 
# vi !^ 
vi anaconda-ks.cfg

 

13、替換特定命令的特定參數(shù)

在下例中,!cp:2 在命令歷史中查找以cp開(kāi)頭的命令,并將其第二個(gè)參數(shù)做為當(dāng)前命令(ls -l)的參數(shù)。

#cp ~/longname.txt /really/a/very/long/path/long-filename.txt 
# ls -l !cp:2 
ls -l /really/a/very/long/path/long-filename.txt

 

在下面的例子中“!cp:$”尋找先前以cp為開(kāi)頭的命令,并把該條指令的最后一個(gè)參數(shù)(在這個(gè)例子中依舊是第二個(gè)參數(shù))替換到“ls –l”中。

#ls -l !cp:$ 
ls -l /really/a/very/long/path/long-filename.txt

 

14、用HISTSIZE禁用history

如果你想禁用history,又不讓bashshell記錄你的命令,像下面那樣把HISTSIZE設(shè)為0即可。

#export HISTSIZE=0 
# history 
# [注: 執(zhí)行history后沒(méi)有顯示任何信息]

 

15、用HISTIGNORE讓history在存儲(chǔ)時(shí)忽略某些指令

有時(shí)你不想在記錄里看到諸如“pwd”,“ls”之類(lèi)的基本指令,可以用HISTIGNORE忽略這些指令。

注意在HISTIGNORE中添加“ls”,只忽略“ls”不忽略“ls –l”。一定要準(zhǔn)確的寫(xiě)出要忽略的的指令。

#export HISTIGNORE=“pwd:ls:ls –ltr: ”
#pwd 
# ls 
# ls –ltr 
# service httpd stop 
# history | tail -3 
79 export HISTIGNORE=“pwd:ls:ls -ltr: ” 
80 service httpd stop 
81 history 
[注: history命令不顯示pwd和ls]

【編輯推薦】

  1. 如何在RHEL5.7下搭建和配置DHCP服務(wù)器
  2. Linux服務(wù)器的16個(gè)監(jiān)控命令
  3. 服務(wù)器性能指標(biāo):撥開(kāi)服務(wù)器評(píng)測(cè)體系迷霧
責(zé)任編輯:趙寧寧
相關(guān)推薦

2012-05-09 10:52:37

Linux監(jiān)控命令

2012-05-11 10:13:54

2010-06-03 17:38:03

Hadoop命令

2010-10-09 10:30:03

JS event

2009-09-05 10:26:20

Linux壓縮打包命令Linux命令

2009-08-04 08:32:06

Linux Find命Linux Find使用方法

2022-02-26 08:39:09

LinuxScp命令

2010-03-04 10:44:04

Linux ftp命令

2009-09-22 14:17:05

2009-12-28 13:28:03

WPF視頻

2010-03-05 15:20:25

Linux man命令

2018-06-26 09:15:24

Linux命令history

2022-10-08 09:17:15

Linuxinxi

2023-05-11 08:00:44

Golangsync.Pool

2009-06-29 17:57:30

ApplicationJSP

2019-11-07 23:48:12

shell腳本getopts

2009-12-02 16:04:44

PHP fsockop

2010-01-28 17:07:03

Android Gal

2010-06-01 19:55:30

SVN使用

2010-07-05 09:38:47

LinuxNFS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩在线一区二区三区 | 国产成人在线视频播放 | 亚洲第一av | 日本国产精品视频 | 日韩精品久久久久 | 国产一区二区黑人欧美xxxx | 午夜免费在线 | 久久久99国产精品免费 | 亚洲高清一区二区三区 | 精品日韩 | 不卡在线视频 | 午夜激情在线 | 亚洲一区电影 | 欧美综合一区二区三区 | 午夜国产羞羞视频免费网站 | jav成人av免费播放 | 成人av观看 | 一区二区三区视频在线 | 91麻豆精品国产91久久久久久久久 | 国产高清视频一区二区 | 国产传媒在线观看 | 久久av在线播放 | 欧美一区精品 | 亚洲成人一区 | 国产精品久久久久久亚洲调教 | 国产精品免费视频一区 | 日本一二区视频 | 国产成人精品av | a级片www| 精品少妇一区二区三区日产乱码 | 日本精品一区二区三区视频 | 免费观看的av | 91精品国产综合久久精品 | 成人久久18免费网站麻豆 | 亚洲成人精品在线 | 午夜视频大全 | 亚洲一二三区不卡 | 日韩区| 爱综合 | 国产91久久精品一区二区 | 中文字幕亚洲欧美日韩在线不卡 |