linux的历史

发布时间:2017-02-05 来源: 历史回眸 点击:

linux的历史篇一:LINUX下HISTORY(历史)命令用法详解

如果你经常使用 Linux 命令行,那么使用 history(历史)命令可以有效地提升你的效率。本文将通过实例的方式向你介绍 history 命令的15个用法。

1. 使用 HISTTIMEFORMAT 显示时间戳

当你从命令行执行 history 命令后,通常只会显示已执行命令的序号和命令本身。如果你想要查看命令历史的时间戳,那么可以执行:

# 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

2. 使用 Ctrl+R 搜索历史

Ctrl+R 是我经常使用的一个快捷键。此快捷键让你对命令历史进行搜索,对于想要重复执行某个命令的时候非常有用。当找到命令后,通常再按回车键就可以执行该命令。如果想对找到的命令进行调整后再执行,则可以按一下左或右方向键。

# [Press Ctrl+R from the command prompt, which will display the reverse-i-search prompt]

(reverse-i-search)`red‘: cat /etc/redhat-release

[Note: Press enter when you see your command, which will execute the command from the history]

# cat /etc/redhat-release

Fedora release 9 (Sulphur)

3. 快速重复执行上一条命令

有 4 种方法可以重复执行上一条命令:

1. 使用上方向键,并回车执行。

2. 按 !! 并回车执行。

3. 输入 !-1 并回车执行。

4. 按 Ctrl+P 并回车执行。

4. 从命令历史中执行一个指定的命令

在下面的例子中,如果你想重复执行第 4 条命令,那么可以执行 !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. 通过指定关键字来执行以前的命令

在下面的例子,输入 !ps 并回车,将执行以 ps 打头的命令:

# !ps

ps aux | grep yp

root 16947 0.0 0.1 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 控制历史命令记录的总行数

将下面两行内容追加到 .bash_profile 文件并重新登录 bash shell,命令历史的记录数将变成 450 条:

# vi ~/.bash_profile

HISTSIZE=450

HISTFILESIZE=450

7. 使用 HISTFILE 更改历史文件名称

默认情况下,命令历史存储在 ~/.bash_history 文件中。

下载该文件可以去root目录下,用sz命令

#sz .bash_history

添加下列内容到 .bash_profile 文件并重新登录 bash shell,将使用 .commandline_warrior 来存储命令历史:

# vi ~/.bash_profile

HISTFILE=/root/.commandline_warrior

8. 使用 HISTCONTROL 从命令历史中剔除连续重复的条目

在下面的例子中,pwd 命令被连续执行了三次。执行 history 后你会看到三条重复的条目。要剔除这些重复的条目,你可以将 HISTCONTROL 设置为 ignoredups:

# pwd

# pwd

# pwd

# history | tail -4

44 pwd

45 pwd

46 pwd [Note that there are three pwd commands in history, after executing pwd 3 times as shown above]

47 history | tail -4

# export HISTCONTROL=ignoredups

# pwd

# pwd

# pwd

# history | tail -3

56 export HISTCONTROL=ignoredups

57 pwd [Note that there is only one pwd command in the history, even after executing pwd 3 times as shown above]

58 history | tail -4

9. 使用 HISTCONTROL 清除整个命令历史中的重复条目

上例中的 ignoredups 只能剔除连续的重复条目。要清除整个命令历史中的重复条目,可以将 HISTCONTROL 设置成 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

[Note that the previous service httpd stop after pwd got erased]

40 history | tail -6

10. 使用 HISTCONTROL 强制 history 不记住特定的命令

将 HISTCONTROL 设置为 ignorespace,并在不想被记住的命令前面输入一个空格:

# export HISTCONTROL=ignorespace # ls -ltr # pwd # service httpd stop [Note that there is a

space at the beginning of service, to ignore this command from history] # history | tail -3 67 ls

-ltr 68 pwd 69 history | tail -3

11. 使用 -c 选项清除所有的命令历史

如果你想清除所有的命令历史,可以执行:

# history -c

12. 命令替换

在下面的例子里,!!:$ 将为当前的命令获得上一条命令的参数:

# ls anaconda-ks.cfg

anaconda-ks.cfg

# vi !!:$

vi anaconda-ks.cfg

下例中,!^ 从上一条命令获得第一项参数:

# cp anaconda-ks.cfg anaconda-ks.cfg.bak

anaconda-ks.cfg

# vi -5 !^

vi anaconda-ks.cfg

13. 为特定的命令替换指定的参数

在下面的例子,!cp:2 从命令历史中搜索以 cp 开头的命令,并获取它的第二项参数: # 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 命令的最后一项参数:

# ls -l !cp:$

ls -l /really/a/very/long/path/long-filename.txt

14. 使用 HISTSIZE 禁用 history

如果你想禁用 history,可以将 HISTSIZE 设置为 0:

# export HISTSIZE=0

# history

# [Note that history did not display anything]

15. 使用 HISTIGNORE 忽略历史中的特定命令

下面的例子,将忽略 pwd、ls、ls -ltr 等命令: # 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

[Note that history did not record pwd, ls and ls -ltr]

linux的历史篇二:Linux中history历史命令使用方法详解

Linux中history历史命令使用方法详解

当你在玩Linux的时候,如果你经常使用命令行来控制你的Linux系统,那么有效地使用命令历史机制将会使效率获得极大提升。事实上,一旦你掌握了我在下面给出的15个有关Linux history历史命令的例子,你就会发现使用history历史命令行将更有乐趣。 当你在玩Linux的时候,如果你经常使用命令行来控制你的Linux系统,那么有效地使用命令历史机制将会使效率获得极大提升。事实上,一旦你掌握了我在下面给出的15个有关Linux history历史命令的例子,你就会发现使用history历史命令行将更有乐趣。

1、使用HISTTIMEFORMAT在历史中显示TIMESTAMP

通常情况下,当你在命令行中键入history时,终端中将显示你刚输入的命令及其编号。如果出于审查命令的目的,和命令一起显示时间戳将会很有帮助,如下所示。 # 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

[注:你也可以设置alias语句来查看最近的历史命令]

alias h1='history 10'

alias h2='history 20'

alias h3='history 30'

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

我非常确信这应该是你最常使用的history特性,当你执行了一串相当长的命令之后,你只要用关键字搜索一下历史命令然后重新执行这条命令而不需要将整条命令再输一遍。方法是:按下Ctrl +R然后输入关键字。 在以下示例中,我搜索“red”,则显示以前的命令中含有”red”的命令“cat/etc/redhat-release”。

[注:在命令行提示符下按下Ctrl+R,终端将显示如下提示―reverse-i-search‖]

(reverse-i-search)`red`: cat/etc/redhat-release

[注:当看到你要的命令后按回车键,就可以重新执行这条命令了]

#cat /etc/redhat-release

Fedora release 9 (Sulphur)

而有的时候你需要在执行一条历史命令之前编辑它.比如,你可以像下面那样搜索“httpd”,终端显示历史命令“service httpd stop”,选择它把“stop”改为“start”然后执行它

[注: 在命令提示符下按 Ctrl+R , 将会显示提示符‖reverse-i-search‖]

(reverse-i-search)`httpd`: service httpdstop

[注: 看到你想要的命令后按下左键或者右键,就可以在执行这条命令之前编辑它了] # service httpd start

3、四种不同的方法快速执行之前的命令

有时出于某些原因你需要执行之前的命令,下面的四种方法可以用来重复最后执行的命令:

1.用向上键(up arrow )查看上条命令,按回车执行。

2.在命令行中输入!!并按回车。

3.在命令行中输入!-1并按回车。

4.按Ctrl+P显示上条命令,按回车执行。

4、执行历史命令中的特定命令

在下面的例子中,如果你想再次执行第四条命令,执行!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、执行以特定字开头的历史命令

输入!和你要重新执行的命令的前几个字母。在下面的例子中,输入!ps,回车,执行历史命令中以“ps”开头的“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控制历史命令的总数

把下面的两行添加到.bash_profile然后重新登录bash(译者注:用source .bash_profile即可)查看有什么变化,在这个例子中,bash命令历史记录中只能储存450条命令。

#vi ~/.bash_profile

HISTSIZE=450

HISTFLESIZE=450

7、使用HISTFILE改变历史文件名

默认情况下,命令历史被储存在.bash_history文件中,把下面的一行添加到.bash_profile文件中,重新登录shell,则.commandline_warrior文件将取代.bash_history文件用来储存历史命令。你可以使用这个命令来追踪不同终端中执行的命令,届时只需要将不同终端中所执行的命令保存在不同的历史文件中即可。

#vi ~/.bash_profile

HISTFILE=/root/.commandline_warrior

8、使用HISTCONTROL来消除命令历史中的连续重复条目

在下面的例子中pwd被输入了三次,当你使用history的时候,你会看到这三条命令连续出现。设置HISTCONTROL为ignoredups,来消除重复命令:

#pwd

# pwd

# pwd

# history | tail -4

44 pwd

45 pwd

46 pwd

47 history | tail -4

[注: 上面pwd被执行了三次之后,历史中有三条pwd命令]

# export HISTCONTROL=ignoredups

# pwd

# pwd

# pwd

# history | tail -3

56 export HISTCONTROL=ignoredups

57 pwd 58 history | tail -4

[注:即使上面pwd被执行了三次,历史中也只有一条pwd命令]

9、使用HISTCONTROL在整个历史中去除重复命令

上面的ignoredups去除连续重复的命令,百家乐要消除整个命令历史中的重复命令,把HISTCONTROL设置成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强制history忽略某条特定命令

在执行一条命令时,你可以将HISTCONTROL设置为ignorespace并在该命令前加上一个空格来指示history忽略这条命令。可以预见的是,很多初级系统管理员将为他们能从history中成功隐藏某条命令而振奋。

了解ignorespace的工作方式是很好。不过,实践中最好不要从history中去掩盖任何命令。

#export HISTCONTROL=ignorespace

# ls –ltr

# pwd

# service httpd stop

[注: 在service的前面加上一个空格,以便在命令历史中忽略它]

# history | tail -3

67 ls –ltr

68 pwd

69 history | tail -3

11、使用c选项清除所有的历史命令

有时候你或许想要清除之前的历史命令。而你又想让history继续工作:

#history –c

12、替换命令历史中的内容

当你搜索历史命令时,你可能希望执行一个与刚刚查找到的历史命令具有相同的参数的命令。 在本例中,vi之后的"!!:$" 可以将前一个命令的参数做为当前命令的参数。

linux的历史篇三:LINUX发展过程中的的历史事件

LINUX发展过程中的历史事件

1991年10月5日,Linus Torvalds在新闻组comp.os.minix发布了大约有一万行代码的Linux v0.01版本。

到了1992年,大约有1000人在使用Linux,值得一提的是,他们基本上都属于真正意义上的hacker。

1993年,大约有100余名程序员参与了Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux 0.99的代码有大约有十万行,用户大约有10万左右。

1994年3月,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。至此, Linux的代码开发进入良性循环。很多系统管理员开始在自己的操作系统环境中尝试linux,并将修改的代码提交给核心小组。由于拥有了丰富的操作系统 平台,因而 Linux的代码中也充实了对不同硬件系统的支持,大大的提高了跨平台移植性。

1995年,此时的Linux 可在Intel、Digital 以及Sun SPARC处理器上运行了,用户量也超过了50万,相关介绍Linux的Linux Journal杂志也发行了超过10万册之多。

1996年6月,Linux 2.0内核发布,此内核有大约40万行代码,并可以支持多个处理器。此时的Linux 已经进入了实用阶段,全球大约有350万人使用。

1997年夏,大片《泰坦尼克号》在制作特效中使用的160台Alpha图形工作站中,有105台采用了Linux操作系统。

1998年是Linux迅猛发展的一年。1月,小红帽高级研发实验室成立,同年RedHat 5.0获得了InfoWorld的操作系统奖项。4月Mozilla 代码发布,成为linux图形界面上的王牌浏览器。Redhat 宣布商业支持计划,网络了多名优秀技术人员开始商业运作。王牌搜索引擎"Google"现身,采用的也是Linux服务器。值得一提的是, Oracle 和Informix 两家数据库厂商明确表示不支持Linux,这个决定给予了Mysql数据库充分的发展机会。同年10月,Intel和Netscape宣布小额投资红帽软 件,这被业界视作Linux获得商业认同的信号。同月,微软在法国发布了反Linux公开信,这表明微软公司开始将Linux视作了一个对手来对待。十二 月,IBM发布了适用于Linux的文件系统AFS 3.5以及Jikes Java 编辑器

和Secure Mailer及DB2测试版,IBM的此番行为,可以看作是与Linux羞答答地第一次亲密接触。迫于Windows和Linux的压力,Sun逐渐开放 了Java协议,并且在UltraSparc上支持Linux操作系统。1998年可说是Linux与商业接触的一年。

1999年,IBM宣布与Redhat公司建立伙伴关系,以确保Redhat在IBM机器上正确运行。三月,第一届 LinuxWorld 大会的召开,象征Linux时代的来临。IBM、Compaq和Novell宣布投资Redhat公司,以前一直对Linux持否定态度的Oracle公 司也宣布投资。五月,SGI公司宣布向Linux移植其先进的XFS文件系统。对于服务器来说,高效可靠的文件系统是不可或缺的,SGI的慷慨移植再一次 帮助了Linux确立在服务器市场的专业性。7月IBM启动对Linux的支持服务和发布了Linux DB2,从此结束了Linux得不到支持服务的历史,这可以视作Linux真正成为服务器操作系统一员的重要里程碑。

2000年初始,Sun公司在Linux的压力下宣布Solaris8降低售价。事实上Linux对Sun造成的冲击远比对 Windows来得更大。 2月Red Hat发布了嵌入式Linux的开发环境,Linux在嵌入式行业的潜力逐渐被发掘出来。在4月,拓林思公司宣布了推出中国首家Linux工程师认证考 试,从此使Linux操作系统管理员的水准可以得到权威机构的资格认证(转 载 于:wWW.ZHaoqT.nEt 蒲 公英文 摘:linux的历史),此举大大增加了国内Linux爱好者学习的热情。伴随着国际上的Linux热潮, 国内的联想和联邦推出了"幸福Linux家用版",同年7月中科院与新华科技合作发展红旗Linux, 此举让更多的国内个人用户认识到了存在着Linux这个操作系统。11月,Intel 与 Xteam合作,推出基于Linux的网络专用服务器,此举结束了在Linux单向顺应硬件商硬件开发驱动的历史。

2001月新年依使就爆出新闻,Oracle宣布在OTN上的所有会员都可免费索取Oracle 9i的Linux版本,从几年前的"绝不涉足Linux系统"到如今的主动献媚,足以体现Linux的发展迅猛。IBM则决定投入10亿美元扩大 Linux系统的运用,此举犹如一针强心剂,令华尔街的投资者们闻风而动。到了5月这个初夏的时节,微软公开反对"GPL"引起了一场大规模的论战。8月 红色代码爆发,引得许多站点纷纷从windows操作系统转向linux操作系统,虽然是一次被动的转变,不过也算是一次应用普及吧。12月Red Hat 为IBM s/390大型计算机提供了Linux解决方案,从此结束了AIX孤单独行无人伴的历史。

2002年是Linux企业化的一年。2月,微软公司迫于各洲政府的压力,宣布扩大公开代码行动,这可是Linux开源带来的深刻影响的结果。3月,内核开发者宣布新的Linux系统支持64位的计算机。

2003年1月,NEC宣布将在其手机中使用Linux操作系统,代表着Linux成功进军手机领域。5月之中SCO表示就 Linux使用的涉嫌未授权代码等问题对IBM

进行起诉,此时人们才留意到,原本由SCO垄断的银行/金融领域,份额已经被Linux抢占了不少,也难怪 SCO如此气急败坏了。9 月中科红旗发布Red Flag Server4版本,性能改进良多。11月IBM注资Novell以2.1亿收购SuSE,同期Redhat计划停止免费的Linux,顿时业内骂声四 起。Linux在商业化的路上渐行渐远。

2004年的第1月,本着"天下事分久必合,合久必分"之天理,SuSE嫁到了Novell,SCO继续顶着骂名四处强行"化缘 ", Asianux, MandrakeSoft也在五年中首次宣布季度赢利。3月SGI宣布成功实现了Linux操作系统支持256个Itanium 2处理器。4月里美国斯坦福大学Linux大型机系统被黑客攻陷,再次证明了没有绝对安全的OS。六月的统计报告显示在世界500强超级计算机系统中,使 用Linux操作系统的已经占到了280席,抢占了原本属于各种Unix的份额。9月HP开始网罗Linux内核代码人员,以影响新版本的内核朝对HP有 利的方式发展,而IBM则准备推出OpenPower服务器,仅运行Linux系统。

相关热词搜索:历史 linux linux历史 linux查看历史命令

版权所有 蒲公英文摘 www.zhaoqt.net