标签 历史 下的文章

让我们一起来回顾 Linux 早期版本的美好时光

 title=

开源软件最具独特性的一点就是它永远不会真正的走到 EOL(生命的终点)。它们的磁盘镜像文件大都可以一直在网上找到,并且它们的许可证也不会过期,因此,我们可以返回去找到那些老版本的 Linux 系统,并在虚拟机中安装它们,这都是很容易做到的。通过回顾那些珍贵的系统画面,让我们来回顾 Linux 系统这么多年来所发生的翻天覆地的变化。

我们从 Slackware 1.01 版本来开始这段旅程,在二十多年前它就发布在 comp.os.linux.announce 新闻组上了。

Slackware 1.01 版本系统 (1993 年)

 title=

Slackware 1.01

体验 Slackware 1.01 系统最爽的是在 Qemu 模拟器软件 2014 免费镜像系列中有一个预先制作好的镜像文件,因此你可以不用手动去执行安装任务(真不习惯这种“奢华”待遇)。其引导启动命令如下:

$ qemu-kvm -m 16M -drive if=ide,format=qcow2,file=slackware.qcow2 \
 -netdev user,id=slirp -device ne2k_isa,netdev=slirp \
 -serial stdio -redir tcp:22122::22

在 1993 年那个版本的 Linux 系统中,很多东西都跟我们所想像的一样。所有常用的基本命令,比如 lscd 命令的使用方式,以及所有的基本工具(gawkcutdiffperl,当然还有 Volkerding 最喜欢的 elvis 工具)现在都在使用,而且也包含在如今的 Linux 系统中,但是仍然有一小部分东西让我感到惊讶。当你尝试使用 tab 补全命令方式来列出上百个文件时, BASH 会非常友好地提示用户确认,并且那些查看压缩文件的工具(比如 zlesszmore 以及 zcat)都已经出现了。很多方面都超乎我的预计,总之,该系统给人的感觉就是超级现代化。

不过,该系统没有软件包管理的相关概念。所有软件的安装和卸载都得手动完成,也不能查询出已安装的软件包。

总的来说,Slackware 1.01 系统感觉更像是一个非常现代化的 UNIX 系统,或者更恰当的说,它给人的感觉就是一个 Linux 用户在操作一个现代化的 UNIX 系统。很多东西都非常熟悉,但是也不尽相同。这个在 1993 年发布的操作系统中,并不是所有东西都跟你想像中的一样。

Debian 0.91 版本系统(1994 年)

为了尝试 Debian 0.91 版本系统,我使用的是 Ibiblio 数字档案 网站下载的软盘镜像文件,该系统最初发布在 1994 年。启动命令如下:

$ gunzip bootdsk.gz basedsk1.gz basedsk2.gz
$ qemu-system-i386 -M pc -m 64 -boot order=ac,menu=on \
   -drive file=bootdisk,if=floppy,format=raw \
   -drive file=debian.raw,if=ide,format=raw \
   -device ne2k_isa,netdev=slirp \
   -serial msmouse -vga std \
   -redir tcp:22122::22 \
   -netdev user,id=slirp

从 Debian 0.91 的启动磁盘启动后进入到一个简洁的 shell 界面,有很清晰的提示信息告诉你下一步将要执行的操作。

安装过程进行得非常顺利。从磁盘分区,写入 ext2 文件系统到分区,到显示图形菜单操作界面要经过七个步骤,之后开始复制 basedsk 镜像文件。这里使用的是以最小化方式来安装 Debian 系统,跟大家在安装自己的 Linux 系统过程中的很多步骤都非常相似。

Debian 系统因其自身的包管理器而出名,但是在早期的版本中只是有一些提示功能而已。有 dpkg 命令,但它是一个基于交互式菜单的系统——一种古老的 aptitude,有多个层级的可选菜单,并且自然地附带了几个可用软件包。

尽管如此,你也可以感受到其简便的设计理念。你只需下载三个软盘镜像文件,最后合成一个可启动的系统,然后就可以使用一个简单的文本菜单来安装更多的东西。我由衷的明白了为什么 Debian 系统如此受欢迎的原因。

Jurix/S.u.S.E. 系统(1996 年)

 title=

安装 Jurix 系统

Jurix 系统是 SUSE 系统的前身, Jurix 带有的二进制的 .tgz 软件包会被组织到类似 Slackware 安装包结构的目录中,其安装包本身也跟 Slackware 的安装包很相似。

 $ qemu-system-i386 -M pc -m 1024 \
   -boot order=ac,menu=on \
   -drive \
    file=jurix/install,if=floppy,format=raw \
   -drive file=jurix.img,if=ide \
   -drive file=pkg.raw,if=ide,format=raw \
   -device ne2k_isa,netdev=slirp \
   -serial msmouse -vga std \
   -redir tcp:22122::22 \
   -netdev user,id=slirp

因为我不是刻意去寻找最早期的版本, Jurix 系统是找到的第一个真正‘感觉’像是打算给用户使用的有图形界面的 Linux 发行版。 XFree86 图形桌面环境已默认安装了,如果你不打算使用该工具,选择退出该环境即可。

比如 /usr/lib/X11/XF86Config (该文件后来变成了 Xorg.conf )这个配置文件已经存在了,这让我完成了使用 GUI 前的 90% 的工作,但是我花费了一整个周末的时间来调试 vsynchsyncramdac 颜色表重写,最后我完全放弃了。

在 Jurix 系统上安装软件包也非常简单;找到源路径下的 .tgz 文件,然后运行一个常用的 tar 命令: $ su -c 'tar xzvf foo.tgz -C /' 该软件包就会被解压到根分区,并准备好使用了。我刚开始的时候安装了几个之前未安装过的软件包,发现操作也很简单、快速且非常可靠。

SUSE 5.1 版本系统(1998 年)

 title=

在 SuSE 5.1 系统上运行 FVWM 窗口管理器

我是使用 1998 年在马里兰州的一家软件商店里买的 InfoMagic 光盘来安装 SUSE 5.1 系统的。其引导启动命令如下:

 $ qemu-system-i386 -M pc-0.10 -m 64 \
   -boot order=ad,menu=on \
   -drive file=floppy.raw,if=floppy,format=raw \
   -cdrom /dev/sr0 \
   -drive file=suse5.raw,if=ide,format=raw \
   -vga cirrus -serial msmouse

安装过程相对于前面几次来说要复杂得多。 YasT 工具在软盘和可引导光盘之间搞乱了配置文件和设置,还需要重启好多次,在重启了好几次后我才反应过来是我操作顺序不当导致的问题。在安装过程中,我就犯了两次同样的错,我只是习惯了 YasT 工具的安装方式,到第三次才顺利的安装成功,这对于一个 Linux 用户将来的成长来说是一个很大的教训及经验。

我使用 SUSE 5.1 的主要目的就是体验其 GUI 桌面环境。配置的过程已经很熟悉了,使用几个漂亮的图形界面工具(包括一个很好用的 XF86Setup 前端界面配置工具)来测试和调试鼠标及显示器问题。我用了一个小时不到的时间就调试好 GUI 界面,并正常运行起来,其中大部分时间是耽搁在研究 Qemu 的虚拟显卡可以提供哪种分辨率和颜色方案。

可选用的桌面环境包括 fvwm、fvwm2 和 ctwm。我使用的是 fvwm,并且运行得也正常。我发现 tkDesk 这个 dock 式的文件管理器跟 Ubuntu 系统的 Unity 的启动栏非常的相似。

使用该系统总的来说还是非常令人愉快的,一旦成功安装了桌面环境并正常运行起来,SUSE 5.1 可以说是取得了令人瞩目的成功。

Red Hat 6.0 版本系统(1999 年)

 title=

在 Red Hat 6 系统上运行 GIMP 1.x 图像处理程序

下一个系统 Red Hat 6.0 安装盘我刚好家里有。不是 RHEL 6.0 —— 而是 Red Hat 6.0,这是一个在 RHEL 或 Fedora 系统出现之前商店里就有卖的桌面版系统。这个安装盘是我在 1999 年 6 月份买的。

其引导启动命令如下:

 $ qemu-system-i386 -M pc-0.10 -m 512 \
   -boot order=ad,menu=on \
   -drive file=redhat6.raw,if=ide,format=raw \
   -serial msmouse -netdev user,id=slirp \
   -vga cirrus -cdrom /dev/sr0

整个安装过程由完全由安装向导指引的,并且速度非常快。无论是选择要安装什么包(按工作站服务器, 及自定义进行分组 ),对磁盘分区,或者是启动安装,你都不会出现进行不下去的问题。

Red Hat 6 包括一个 xf86config 应用程序来一步步指导你完成 X 配置工作,尽管它有一些之后的 X 系统不认的奇怪的鼠标模拟选项。它比手动修改 Xf86Config 配置文件要容易得多,但是要正确无误的配置好 X 环境显然不是一个简单的工作。

Red Hat 6 绑定的桌面环境是 GNOME ,没错就是它,但是窗口管理器是早期的 Enlightenment ,它同样也提供了主声卡服务进程。xdm 和 gdm 都作为登录管理器包含在其中,以便普通用户也可以登录到系统中,即便没有权限启动或者关闭 X 进程,这在多用户系统中是非常重要的。

它缺少一些主要的应用程序;还没有 gedit 工具,没有重要的统一办公应用程序,更没有软件包管理器。有 GnoRPM 工具,这是一个图形界面的 RPM 包管理工具,用于查看及删除软件包,这个工具跟 yum 或 PackageKit 工具非常类似,还有基于图形界面的文件编辑器 gnotepad+ (尽管没有 Emacs 工具)。

总的来说,桌面环境在使用上也是非常直观的。跟后期实现的 GNOME 桌面环境不同,这个早期版本在屏幕底部有个面板,其中有一个应用程序菜单和启动器图标,在中间位置有个虚拟桌面控制器。我无法想象其它操作系统的用户在使用这个桌面环境时会有多么的不习惯。

Red Hat 6 对于 Linux 系统来说是一个巨大的进步,很明显 Linux 系统正向着成为一个适用的桌面系统方向发展。

Mandrake 8.0 版本系统(2001 年)

 title=

Mandrake: Linux 系统的一个转折点

Mandrake 8.0 于 2001 年发布,这已经可以跟 Apple OS 9.2 和 Windows ME 系统相提并论了。

我反而觉得老版本的系统才更安全一些。

其引导启动命令如下:

 $ qemu-system-i386 \
   -M pc-0.10 -m 2048 \
   -boot order=ad,menu=on \
   -drive file=mandrake8.qcow2 \
   -usb -net nic,model=rtl8139 \
   -netdev user,id=slirp \
   -vga cirrus \
   -cdrom mandrake-8.0-i386.iso

我一直觉得 Red Hat 系统的安装过程非常棒了,但是 Mandrake 的安装过程更是让人喜出望外。它非常友好,并且在继续下一步之前还给用户一个测试配置文件的机会,易用高效,使用起来像魔法一样。我也不用导入自己的 XF86Config 配置文件,因为 Mandrake 的安装程序会自动完成该任务。

 title=

Mandrake 8.0 系统的安装程序

实际上,使用 Mandrake 系统跟使用其它的桌面环境系统的感受基本相同。让我很惊奇的是它们在操作体验上如此的相似。我相信,即使这个时候我在使用 Mandrake 系统的过程中遇到一些问题,以我自己的技术能力甚至是一个技术水平一般的年轻人也很容易解决。它的界面非常直观,帮助文档也很有用,并且软件包管理起来也很容易,只是那个时候人们还不习惯直接到网上下载他们需要的任何软件包来安装。

Fedora 1 版本系统(2003 年)

 title=

基于 Red Hat 的 Fedora 系统

2003 年,新的 Fedora Core 系统发布了。 Fedora Core 基于 Red Hat 系统,它的主要目的是在 Red Hat 企业版(RHEL)成为该公司旗舰产品之前继续扛起 Linux 桌面版系统发展的大旗。

启动老版本的 Fedora Core 1 系统也没啥特别的地方:

 $ qemu-system-i386 -M pc \
   -m 2048 -boot order=ac,menu=on \
   -drive file=fedora1.qcow2 -usb \
   -net nic,model='rtl8139' -netdev user \
   -vga cirrus -cdrom fedora-1-i386-cd1.iso

安装 Fedora Core 同样简单容易; Fedora 和 Red Hat 系统在之后的 9 年中使用同样的安装器,其图形界面易用而易于理解。

 title=

Anaconda GUI 界面

使用 Fedora Core 系统的体验跟 Red Hat 6 或 7 版本没多少区别。 GNOME 图形界面很漂亮,有各种独立的配置程序助手,并且界面展示都非常的整洁和专业。

桌面上的 “Start Here” 图标指导用户前往三个位置:应用程序目录,首选项面板和系统设置。 一个红帽的图标表示应用程序菜单,而下边的 GNOME 面板里包括所有最新的 Linux 应用程序的启动器,包括 OpenOffice 办公套件和 mozilla 浏览器。

展望未来

在 2000 年左右, Linux 系统已经发展得很好并取得了巨大的进步。桌面环境前所未有的更加精致美观,有各种可用的应用程序,安装过程比其它操作操作更简易更高效。事实上,从 2000 年以来,用户和系统之间的关系更加紧密,即使到现在也没发生根本上的改变。当然还有一些更新和改善,以及数量惊人的创新方面的变化。

让我们来了解一下各个 Linux 系统项目上的演变:

  • Mandrake 系统后来更名为 Mandriva,如今为 Mageia
  • Fedora Core 随后改为 Fedora
  • Ubuntu 脱胎于 Debian ,并且它让 “Linux” 成为一个家喻户晓的词汇;
  • Valve 公司开发的 SteamOS 成为其官方游戏平台;
  • Slackware 现如今仍在平稳发展。

无论你是一个 Linux 新手,还是一个技术精湛的 Linux 老用户,上面的大多数截图都构成了让 Linux 系统被记入历史的一本传记。很高兴今天我们能够回顾成为世界上最大的开源项目之一的 Linux 系统是如何发展壮大起来的。更重要的是,每一次想到自己也是 Linux 开源世界中的一员我们就无比激动,把握现在,展望未来。


作者简介:

Seth Kenlon —— Seth Kenlon 是一位独立多媒体艺术家,开源文化倡导者, Unix 极客。他还是 Slackware 多媒体产品项目的维护人员之一,官网:http://slackermedia.ml

题图来源:互联网档案馆书籍图片。 Opensource.com. CC BY-SA 4.0 编辑引用。


via: https://opensource.com/article/16/12/yearbook-linux-test-driving-distros

作者:Seth Kenlon 译者:rusking 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在默认情况下,所有通过 Bash 在命令行中执行过的命令都被存储在历史缓存区或者一个叫做 ~/.bash_history 的文件里。这意味着系统管理员可以看到系统上用户执行过的命令清单,或者用户可以通过像 history 命令这样的选项来看他或她自己的命令历史。

$ history

Linux History Command

Linux 历史命令

从上面 history 命令的输出可知,命令被执行的日期和时间并没有显示出来。基本上所有的 Linux 发行版的默认设置都是这样的。

在这篇文章里,我们将解释当在 Bash 中执行 history 命令显示每个命令时,如何配置显示时间戳信息。

每个命令相关的日期和时间可以记录到历史文件中,用 HISTTIMEFORMAT 环境变量的设置作为命令历史的备注记录。

这里有两种可行的方式来达到目的:一种是暂时的效果,一种是永久的效果。

要临时设置 HISTTIMEFORMAT 环境变量,在命令行这样输出它:

$ export HISTTIMEFORMAT='%F %T'

在上面的输出命令当中,时间戳格式如下:

1、%F-展开为完整日期,即 %Y-%m-%d(年-月-日)。

2、%T-展开为时间,即 %H:%M:%S(时:分:秒)。

通读 date 命令的 man 手册来获得更多使用说明:

$ man date

然后如下检查你的命令历史:

$ history 

Display Linux Command History with Date and Time

显示带有日期和时间的 Linux 命令历史。

(LCTT 译注:注意:这个功能只能用在当 HISTTIMEFORMAT 这个环境变量被设置之后,之后的那些新执行的 bash 命令才会被打上正确的时间戳。在此之前的所有命令,都将会显示成设置 HISTTIMEFORMAT 变量的时间。)

然而,如果你想永久地配置该变量,用你最喜欢的编辑器打开文件 ~/.bashrc

$ vi ~/.bashrc

然后在下方添加(用注释将其标记为你自己的配置):

# 我的配置
export HISTTIMEFORMAT='%F %T'

保存文件并退出,然后,运行下面的命令以便改动当即生效:

$ source ~/.bashrc

就是这些!请通过下方的评论区来与我们分享一些有趣的历史命令的小技巧以及你对这篇文章的想法。

作者简介:
我是 Ravi Saive,TecMint 的创建者。一个爱在网上分享的技巧和提示的电脑极客和 Linux 专家。我的大多数服务器运行在名为 Linux 的开源平台上。请在 Twitter、 Facebook 和 Google 等上关注我。


via: http://www.tecmint.com/display-linux-command-history-with-date-and-time/

作者:Ravi Saive 译者:Hymantin 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Linus Torvalds 和他的朋友们

虽然对 Linux 正式生日是哪天还有些争论,甚至 Linus Torvalds 认为在 1991 那一年有四个日子都可以算作 Linux 的生日。但是不管怎么说,Linux 已经 25 岁了,这里我们为您展示一下这 25 年来发生过的 25 件重大里程碑事件。

1991:Linus Torvalds 向世界宣告 Linux 诞生

这封邮件是 1991 年 8 月 25 日 Linus 发在 Minix Usenet 新闻组的,这个日期通常被认为是 Linux 的生日。那时候 Linus 还没有什么名气,他说它的新操作系统“只是一个兴趣,并不想着像 GNU for 386(486) AT 那么庞大和专业。”

1992:第一次 Linux 之战

Andrew Tannenbaum 是一位操作系统专家,也是当时著名的 Minix 操作系统的作者,这是一个用于教学用途的 Unix 版本。Andrew 声称 “LINUX 是过时的”,从而打响了 Linux 的第一次操作系统之战。在由此而来的论战中,Linus 发表了一个至今看起来仍然正确的观点,“如果 GNU 内核(指 Hurd,这是另外一个尝试建立自由的类 Unix 操作系统的项目)去年春天就已经好了的话,我绝不会启动我的项目:事实上它根本没有完成,估计永远也完成不了。Linux 能胜出的很大原因就在于它现在就能用!”

1993:Slackware Linux

这时已经有了一些早期的 Linux 发行版,比如 MCC 和 Yggdrasil Linux,但是 Patrick Volkerding 的 Slackware 其中最成功的一个,而且直到今天它仍然在不断更新和有人使用。

1993:Debian Linux 项目启动

最流行的社区版 Linux:Debian Linux 项目启动了。今天,它是 Mint、Ubuntu 以及许许多多的流行的 Linux 发行版的上游发行版。

1994:Red Hat Linux 诞生

Marc Ewing 创建了 Red Hat Linux 公司,随后 Bob Young 买下了 Ewing 的公司,并与他自己的公司合并,重组为 Red Hat——这是当今最成功的 Linux 公司。

1995:Linux 大会召开

Linux 召开了其首次商业会议 Linux Expo。今天 Linux 方面的大会越来越多了,仅在美国每年就会召开十多场全球性或地区性的 Linux 会议。

1996:KDE

第一个主流 Linux 桌面系统 KDE 项目启动。

1996:SUSE 公司创建

同年,继 Slackware 和 Red Hat Linux 之后,SUSE 这个来自欧洲的 Linux 公司发布了其首个独立的 Linux 发行版。

1997:GNOME

GNOME 桌面项目启动。今天,它和 KDE 成为了 Linux 上最重要的两个桌面系统。

1998:万圣节备忘录

微软开始敌视 Linux。Eric S. Raymond 是一位早期的 Linux 及开源领袖,他披露了这份万圣节备忘录),其中展示了微软视 Linux 为重大威胁,开始制定它的反开源战略和反对 Linux 的活动。然而还不到十年,微软就改变了初衷。

1999:Corel Linux 桌面

Corel 发布了其第一个主流 Linux 桌面。虽然没有成功,但是它为其它流行的 Linux 桌面发行版指明了道路,比如 Ubuntu。

1999:Linux 与 Windows 的服务器之争

Linux 与 Windows NT 首次在文件服务器方面展开竞争,Linux 获胜。 Linux 与 Windows 服务器操作系统之间的战争开始了。

2000:IBM 为 Linux 投资 10 亿美金

2000 年的时候,IBM 宣布将在下一年对 Linux 投资 10 亿美金。这已经被证明是 IBM 有史以来最明智的投资。

2001:Linux 2.4 发布

经过了几次延期之后, Linux 2.4 发布了。随着这个版本,Linux 成为了可以与 Solaris 和其它的高端服务器操作系统相提并论的操作系统了。

2003:SCO Linux 战争开始

由 SCO Unix 公司和 Caldera Linux 公司组成的 SCO 公司开始翻 Linux 的旧账,起诉 IBM 和其它公司,指控 Linux 抄袭 Unix。虽然这个公司最终破产,但这场官司困扰了 Linux 的商业发展很多年。

2004:Ubuntu 来了

Ubuntu 创建!它架构于 Debian Linux 之上,Ubuntu 成为了一个非常流行的 Linux 桌面操作系统,同时也是最重要的云端 Linux 发行版之一。

2004:Linux 统治超级计算机

世界上最快的超级计算机中超过半数运行着 Linux。而到了 2016 年,仅有少数超级计算机没有运行 Linux。

2005:大企业拥抱 Linux

任何对 Linux 成为主流的怀疑都被 Linus Torvalds 出现在《商业周刊》封面上所击碎。头条?显然是 Linux Inc. 。

2007:Android 出现

由谷歌和一些硬件厂商组成的开放手机联盟发布了 Android。它现在已经成为了最流行的终端用户操作系统,运行在超过 10 亿的智能电话上。

2008:证券交易所换到了 Linux 上

纽约证券交易所和世界上许多著名的证券交易所一样切换到了 Linux 上,将其作为核心操作系统。Linux 没有变成大企业,但是成了巨大的业务。

2011:Watson 赢了 Jeopardy

IBM 的 Watson 计算机运行在 Linux 上,赢得了 Jeopardy 智力挑战,为智能专家系统订立了新的标准。

2011: Chromebook 兴起

谷歌发布了第一台 Chromebook: CR-48。它运行着基于 Gentoo-Linux 的 ChromeOS。到 2015,Chromebook 的销售额已经超过了运行着 Windows 的笔记本

2012:云运行在 Linux 上

IT 基础设施从服务器和数据中心移动到了云端,而云运行在 Linux 上。即使是在微软 Azure 上,2016 年的时候超过 1/3 的虚拟机运行在 Linux 上

2012:Red Hat 营收首次达到 10 亿美金

Red Hat 成为第一家年收入达 10 亿美金的开源公司。而在 2016,它成为首家达到 20 亿美金的 Linux 公司。

2014:微软爱 Linux

谁说豹子不能没有斑点的?微软新任 CEO Satya Nadella 说,微软爱 Linux。这个公司通过在他们的云端和公司内部支持 Linux 和开源软件证明真爱。

如果你是 Linux 命令行的用户,有的时候你可能不希望某些命令记录在你的命令行历史中。原因可能很多,例如,你在公司担任某个职位,你有一些不希望被其它人滥用的特权。亦或者有些特别重要的命令,你不希望在你浏览历史列表时误执行。

然而,有方法可以控制哪些命令进入历史列表,哪些不进入吗?或者换句话说,我们在 Linux 终端中可以开启像浏览器一样的无痕模式吗?答案是肯定的,而且根据你想要的具体目标,有很多实现方法。在这篇文章中,我们将讨论一些行之有效的方法。

注意:文中出现的所有命令都在 Ubuntu 下测试过。

不同的可行方法

前面两种方法已经在之前一篇文章中描述了。如果你已经了解,这部分可以略过。然而,如果你不了解,建议仔细阅读。

1. 在命令前插入空格

是的,没看错。在命令前面插入空格,这条命令会被 shell 忽略,也就意味着它不会出现在历史记录中。但是这种方法有个前提,只有在你的环境变量 HISTCONTROL 设置为 "ignorespace" 或者 "ignoreboth" 才会起作用。在大多数情况下,这个是默认值。

所以,像下面的命令(LCTT 译注:这里[space]表示输入一个空格):

[space]echo "this is a top secret"

如果你之前执行过如下设置环境变量的命令,那么上述命令不会出现在历史记录中。

export HISTCONTROL = ignorespace

下面的截图是这种方式的一个例子。

第四个 "echo" 命令因为前面有空格,它没有被记录到历史中。

2. 禁用当前会话的所有历史记录

如果你想禁用某个会话所有历史,你可以在开始命令行工作前简单地清除环境变量 HISTSIZE 的值即可。执行下面的命令来清除其值:

export HISTSIZE=0

HISTSIZE 表示对于 bash 会话其历史列表中可以保存命令的个数(行数)。默认情况,它设置了一个非零值,例如在我的电脑上,它的值为 1000。

所以上面所提到的命令将其值设置为 0,结果就是直到你关闭终端,没有东西会存储在历史记录中。记住同样你也不能通过按向上的箭头按键或运行 history 命令来看到之前执行的命令。

3. 工作结束后清除整个历史

这可以看作是前一部分所提方案的另外一种实现。唯一的区别是在你完成所有工作之后执行这个命令。下面是刚说到的命令:

history -cw

刚才已经提到,这个和 HISTSIZE 方法有相同效果。

4. 只针对你的工作关闭历史记录

虽然前面描述的方法(2 和 3)可以实现目的,它们可以清除整个历史,在很多情况下,有些可能不是我们所期望的。有时候你可能想保存直到你开始命令行工作之间的历史记录。对于这样的需求,你开始在工作前执行下述命令:

[space]set +o history

备注:[space] 表示空格。并且由于空格的缘故,该命令本身也不会被记录。

上面的命令会临时禁用历史功能,这意味着在这命令之后你执行的所有操作都不会记录到历史中,然而这个命令之前的所有东西都会原样记录在历史列表中。

要重新开启历史功能,执行下面的命令:

[Space]set -o history

它将环境恢复原状,也就是你完成了你的工作,执行上述命令之后的命令都会出现在历史中。

5. 从历史记录中删除指定的命令

现在假设历史记录中已经包含了一些你不希望记录的命令。这种情况下我们怎么办?很简单。直接动手删除它们。通过下面的命令来删除:

history | grep "part of command you want to remove"

上面的命令会输出历史记录中匹配的命令,每一条前面会有个数字。

一旦你找到你想删除的命令,执行下面的命令,从历史记录中删除那个指定的项:

history -d [num]

下面是这个例子的截图。

第二个 ‘echo’命令被成功的删除了。

(LCTT 译注:如果你不希望上述命令本身也被记录进历史中,你可以在上述命令前加个空格)

同样的,你可以使用向上的箭头一直往回翻看历史记录。当你发现你感兴趣的命令出现在终端上时,按下 “Ctrl + U”清除整行,也会从历史记录中删除它。

总结

有多种不同的方法可以操作 Linux 命令行历史来满足你的需求。然而请记住,从历史中隐藏或者删除命令通常不是一个好习惯,尽管本质上这并没有错。但是你必须知道你在做什么,以及可能产生的后果。


via: https://www.maketecheasier.com/linux-command-line-history-incognito/

作者:Himanshu Arora 译者:chunyang-wen 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

史前

没有 C 编程语言) 和 GNU 项目 构成 Linux 环境,也就不可能有 Linux 的成功。

Ken Thompson 和 Dennis Ritchie

Ken Thompson) 和 Dennis Ritchie 在 1969-1970 创造了 Unix 操作系统。之后发布了新的 C 编程语言,它是一种高级的、可移植的编程语言。 Linux 内核用 C 和一些汇编代码写成。

Richard Matthew Stallman

Richard Matthew Stallman

Richard Matthew Stallman 在 1984 年启动了 GNU 项目。最大的一个目标 - 完全自由的类-Unix 操作系统。

1991 – 元年

Linus Torvalds, 1991

Linus Torvalds 在芬兰赫尔辛基开始了 Linux 内核开发,他是为他的硬件 - Intel 30386 CPU 编写的程序。他也使用 Minix 和 GNU C 编译器。下面是 Linus Torvalds 给 Minix 新闻组的历史消息:

From: [email protected] (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: What would you like to see most in minix? Summary: small poll for my new operating system Message-ID: Date: 25 Aug 91 20:57:08 GMT Organization: University of Helsinki

Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).

I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)

Linus ([email protected])

从此之后,Linux 开始得到了世界范围志愿者和专业专家的支持。Linus 的同事 Ari Lemmke 把它命名为 “Linux” - 这其实是他们的大学 ftp 服务器上的项目目录名称。

1992

在 GPLv2 协议下发布了 0.12 版 Linux 内核。

1993

Slackware 1.0

Slackware 首次发布(LCTT 译注:Slackware Linux 是一个高度技术性的、干净的发行版,只有少量非常有限的个人设置) – 最早的 Linux 发行版,其领导者 Patrick Volkerding 也是最早的。其时,Linux 内核有 100 多个开发者。

Debian

Debian – 最大的 Linux 社区之一也创立于 1991 年。

1994

Linux 1.0 发布了,多亏了 XFree 86 项目,第一次有了 GUI。

Red Hat Linux

发布了 Red Hat Linux 1.0

S.u.S.E Linux

S.u.S.E. Linux 1.0。

1995

Red Hat Inc.

Bob Young 和 Marc Ewing 合并他们的本地业务为 Red Hat Software。Linux 移植到了很多硬件平台。

1996

Tux

企鹅 Tux 是 Linux 官方吉祥物,Linus Torvalds 参观了堪培拉国家动物园和水族馆之后有了这个想法。发布了 Linux 2.0,支持对称多处理器。开始开发 KDE。

1997

Miguel de Icaza

Miguel de Icaza 和 Federico Mena 开始开发 GNOME - 自由桌面环境和应用程序。Linus Torvalds 赢得了 Linux 商标冲突官司,Linux 成为了 Linus Torvalds 的注册商标。

1998

大教堂和集市

Eric S. Raymond 出版了文章 The Cathedral and the Bazaar(大教堂和集市) - 高度推荐阅读。Linux 得到了大公司的支持: IBM、Oracle、康柏。

Mandrake Linux

Mandrake Linux 首次发布 - 基于红帽 Linux 的发行版,带有 KDE 桌面环境。

1999

第一个主要的 KDE 版本。

2000

Dell 支持 Linux - 这是第一个支持的大硬件供应商。

2001

Revolution OS

纪录片 “Revolution OS(操作系统革命)” - GNU、Linux、开源、自由软件的 20 年历史,以及对 Linux 和开源界顶级黑客的采访。

2002

BitKeeper

Linux 开始使用 BitKeeper,这是一种商业版的分布式版本控制软件。

2003

SUSE

Novell 用 2.1 亿美元购买了 SUSE Linux AG。同年 SCO 集团 也开始了同 IBM 以及 Linux 社区关于 Unix 版权的艰难的法律诉讼。

Fedora

红帽和 Linux 社区首次发布了 Fedora Linux。

2004

X.ORG 基金会

XFree86 解散了并加入到 X.Org 基金会, X 的开发更快了。

Ubuntu 4.10 – Ubuntu 首次发布

2005

openSUSE

openSUSE 开始了,这是企业版 Novell’s OS 的免费版本。OpenOffice.org 开始支持 OpenDocument 标准。

2006

一个新的 Linux 发行版,基于红帽企业版 Linux 的 Oracle Linux。微软和 Novell 开始在 IT 和专利保护方面进行合作。

2007

Dell Linux 笔记本

Dell 发布了第一个预装 Linux 的笔记本。

2008

KDE 4.0

KDE 4 发布了,但是不稳定,很多用户开始迁移到 GNOME。

2009

Red Hat

红帽 Linux 取得了成功 - 市值达 26亿2千万美元。

2009 年微软在 GPLv2 协议下向 Linux 内核提交了第一个补丁。

2010

Novell -> Attachmate

Novell 已 22亿美元卖给了 Attachmate Group, Inc。SUSE 和 Novell 成为了新公司的两款独立的产品。

systemd 首次发布,开始了 Linux 系统的革命。

2011

Unity 桌面,2011

Ubuntu Unity 发布,遭到很多用户的批评。

GNOME 3.0,2011

GNOME 3.0 发布, Linus Torvalds 评论为 “unholy mess” ,有很多负面评论。Linux 内核 3.0 发布。

2012

1500 万行代码

Linux 内核达到 1500 万行代码。微软成为主要贡献者之一。

2013

Kali Linux 1.0 发布, 用于渗透测试和数字取证,基于 Debian 的 Linux 发行版。2014 年 CentOS 及其代码开发者加入到了红帽公司。

2014

Lennart Poettering 和 Kay Sievers

systemd 成为 Ubuntu 和所有主流 Linux 发行版的默认初始化程序。Ubuntu 有 2200 万用户。安卓的大进步 - 占了所有移动设备的 75% 份额。

2015

发布了 Linux 4.0。Mandriva 公司清算,但还有很多分支,其中最流行的一个是 Mageia。

带着对 Linux 的热爱而执笔。


via: https://tlhp.cf/linux-history/

作者:Pavlo Rudyi 译者:ictlyh 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

2014年8月25日,是Linux的第23个生日。1991年8月25日,一位21岁的赫尔辛基大学的学生发布了举世闻名的新闻组(Usenet post),标志着现在世界著名的Linux正式诞生。

23年以后的现在,Linux已经无处不在,不仅仅被安装于终端用户的桌面系统,智能手机和嵌入式系统,甚至也被龙头企业用于他们的关键系统,比如美国海军的核潜艇(US Navy's nuclear submarines)和联邦航空局的空中管制系统(FAA's air traffic control)。Linux进入了无处不在的云计算时代,在云计算平台方面仍然保持着它的优势。

今天,让我来告诉大家一些你们可能不知道的Linux趣事和Linux历史。如果有什么要补充的,请在评论中分享出来。在这篇文章里,我将会用“linux”、“kernel”和“Linux kernel”来表示同一个意思。

1.关于linux是否是一个开源的操作系统这种争论一直是无休无止的。事实上,“Linux”操作系统的核心组件参照的是Linux kernel(内核)。而反派认为Linux不是一个纯粹的操作系统,因为他们认为仅仅一个内核(kernel),并不是一个操作系统,自由软件的推崇者认为最大的操作系统应叫做“GNU/Linux”,把功劳归于应得的人。(比如:GNU project)。另一方面,一些Linux的开发者和程序员认为,Linux拥有成为一个操作系统的资格,因为它实现了POSIX标准

2.从openhub网站的统计来看,绝大部分(95%)的Linux是用C语言写的。第二(2.8%)受欢迎的是汇编语言。毫无疑问,C语言比C++ 的更受欢迎,也表明了Linus对C++的立场。下面是Linus编程语言的分类。

3.在全世界,Linux已经被13,036个贡献者创建和修改。当然,贡献最多的还是Linus Torvalds自己。从Linux创建至今,他提交了20,000次以上的代码。下图显示了总提交次数最多的前十位Linux贡献者。

4.Linux的代码行(SLOC)超过了1700万行。估计整个代码库的花费大概是5,526人年,或者是超过300M(1M=10*1000万亿)美元,基于模型的基本估算法(basic COCOMO model)。

5.企业并不是单纯的Linux消费者。他们的员工也在积极参与Linux的开发。下图显示了参与Linux内核开发的企业员工2013年提交次数总和的前十位。他们包括Linux商业版发行者(Red Hat,SUSE),芯片/嵌入式系统制造商(Intel,Texas Instrument,wolfson),非盈利性组织(Linaro)和其它的IT公司(IBM,Samsung,Google)。

6.Linux的官方吉祥物是一个非常可爱的小企鹅“Tux”。第一次提出并决定用小企鹅作为Linux吉祥物/标志这个想法的是Linus自己。为什么是小企鹅呢?因为Linus本人很喜欢企鹅,尽管他曾经被一只凶猛的企鹅咬伤过,还导致他得了一场病。

7.一个Linux“发行版”包括Linux内核、支持GNU的组件和库、和一些第三方的应用。根据distrowatch网站的报告,现在总共有286个活跃的Linux发行版。其中最老的一个版本叫Slackware,它是从1993年正式发布出来的一个可用的版本。

8.Kernel.org是一个Linux源码的主要仓库,曾经在2011年8月被一个匿名的攻击者攻陷,攻击者打算篡改kernel.org的服务器。为了加强Linux内核访问策略的安全性,Linux基金会最近在Linux内核的Git官方托管的仓库上开启了双重认证。

9.Linux在500强超级计算机中的优势还在增加。截至2014年6月,世界范围内运算速度最快的计算机97%都是运行在Linux上面的。

10.太空监视(spacewatch),是亚利桑那大学月球与行星实验室的一个研究项目,在GNU/Linux和它的创造者们出现之后,用他们名字命名了几颗小行星(小行星9793 Torvalds,小行星9882 Stallman小行星9885 Linux小行星9965 GNU),以表彰他们把开源操作系统用于他们的小行星调查活动。

11.纵观Linux内核发展的近代史,版本从2.6到3.0有一个很大的跳跃。这个重编的版本号3实际上并不是意味着Linux内核有什么重大的构建,但却标志着Linux 20周年的一个里程碑。

12.在2000年的时候,乔帮主还在苹果。他当时就尝试雇佣Linus Torvalds,让他放弃Linux的开发,转而为“Unix最大的用户群工作”,这个项目后面发展成了MAC OS X。当时,Linus拒绝了乔帮主的邀请。

13.Linux 内核的重启函数reboot()需要两个神奇的数字,而这第二个数字来自Linus Torvalds和他3个女儿的出生日期。

14.虽然全世界都有Linux的很多粉丝,但是也仍然存在很多对Linux的批评(主要是针对桌面系统),如缺乏硬件支持,缺乏标准化,由于很短的升级和发布周期导致系统的不稳定等等。2014年Linux内核小组在LinuxCon大会上,当Linus被问及Linux的未来将何去何从,他表示“I still want the desktop”(我仍然希望桌面化)。

如果你还知道一些关于Linux的趣事,请在评论中与我们分享。


via: http://xmodulo.com/2014/08/interesting-facts-linux.html

作者:Dan Nanni 译者:barney-ro 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出