入坑 Linux 心理准备

从零开始入门 Linux。

入坑心意已决但不知道从何开始,可以跳到文末的关键词[1]找找灵感。

已经有基础,想了解 shell scripting 之类的同学,请科学地在互联网搜索关键词 ‘Lecture 1: Course Overview + The Shell (2020)’ 来一套。

接下来的内容 是列出了些认真玩电脑的基础。

  • 你也许见过如下的电脑界面,现实中也好,电影画面上也好:满屏幕文字,没有熟悉的鼠标,没有 Windows 右上角,也没有 Mac OS 的左上角。
Command-line Interface (CLI)

这是 命令行的界面(command-line interface,以下简称CLI),是为了与计算机系统高效交流而生的工具。它是由人通过键盘向计算机输入简短的命令来指示计算机行动的工具。

如果你一直生活在被图形界面包围的环境中(八成是这样,不然你就不是萌新了),CLI 多少是有点恐怖的,首先你不知道自己能做什么,然后你能隐约感到:在这里做错了什么后果恐怕会是很严重滴Σ( ° °|||)︴想到这儿,不禁两股战战几欲先走?留步!


Linux 操作系统到底是...

好奇宝宝搜索了 "linux" 这个词条……
可能会看到:

  • Debian
  • Fedora
  • Ubuntu
  • Manjaro
  • Arch
  • Raspbian
    ……

一堆名字。它们都叫做“发行版本”(distributions),换句话说,是由原版“Linux”改编而成的衍生作品。这些能很轻松找的发行版们相较真正的“原版”来说,应该是对用户很友好了(但是Arch似乎比较硬核)。正式一点的话,它们该被称为“GNU/Linux”,因为它们主要都是使用 Linux Kernel 作为操作系统内核跟 GNU 项目中的“自由软件”攒出来的。不同的“Linux发行版”也就是“不同口味的 Linux”。就好比同样是鸡肉,它可以是辣子鸡,咖喱鸡,炸鸡,烤鸡……做成什么味道,它的核心都还是鸡。


说到 Linux 就躲不开 CLI

作为提供人机交互功能的界面,CLI 和 GUI 各自有适用的场景,其实没有什么高下对错之分。比如 GUI 适合编辑照片,剪辑视频,编辑出版物,乃至设计 GUI。如果有意从事软件行业(比如建立网站和网页应用),嵌入式开发(比如让“智能”洗衣机表现得“智能”),服务器维护(比如安装、调试、维护 数据库的基础设施),请试着了解和使用 CLI 这种经典的人机交互方式。会觉得 “CLI 有什么用,日常生活用不到哇”,很有可能是因为你的日常生活中充满了被设计为 GUI 的交互方式,让你误认为 CLI 的世界早就过时或者消失了。事实上,在柔顺、精致的 GUI 背后,其实都有充满黑客浪漫的 CLI。当然,追溯源头,CLI 跟浪不浪没关系,只是因为人与计算机的交互方式自然从“把输出打印到纸上” 逐渐过渡到 “打印到屏幕上”;之后为了进一步降低计算机在某些应用场景下的使用难度,GUI 诞生并且逐渐发展到让人能 “直觉化操作”(用摸的)。

使用 CLI 的思路和使用图形界面(GUI)有所不同,但两种操作方式间并不存在鸿沟。CLI 就像是你和电脑之间的笔谈。如果你之前没有使用 CLI 的经验,现在兴趣使然或者工作需要地要接触 CLI 乃至 Linux,不用担心,从简单的需求开始入门就好。没有太多直观图画的 CLI 就要依靠人的语言能力来理解“自己能做什么”。所以你的确需要一个“基础”才能开始使用它们。这样你跟计算机在某些应用场景下的沟通就会很畅快(某些应用场景是指:在软件开发时进行测试,用自己的服务器建立网站时,诊断网络链接时,装逼时……)。

你或许不记得学习母语时的艰难,但是尝试学习母语之外的语言时有多大困难以及该如何克服你可能是有概念的。因此学习使用 CLI,Linux 之类的不很直观的玩意儿,最好建立在“需求”和“兴趣”之上你才有动力学完“基础”。从完成简单的功能做起,比如在 Linux 的 CLI 中了解一下“我是谁?”,“现在几点了?”,“我在哪(个文件夹里)?”。不要因为没了 “点一下” 的权利就立刻慌张地逃出来;因为~ o(*  ̄_ ̄ *)o真香定律,你学着学着就会喜欢 Linux 的,因为它是个令行禁止的家伙,特别可爱。CLI,terminal,Cmd Prompt 有着微妙的差别,但是入门而言,它们看起来都是只有字符的世界差别不大,所以这里暂时就不去管它 (统统使用这个描述性的名字:CLI )。如果你接下来继续探索,总会明白它们真正的意思。

文末附上鳥哥的 Linux 私房課链接,幫你由淺入深系統化地瞭解 Linux。
(偶然间参加了一次 DevRelCon,其中说到了鸟哥的私房课,打开一看惊为天人...)


不必要精通 CLI 才能用 Linux

虽说会使用 CLI 才能真的使用 Linux,但是对 CLI 的了解并不必要达到精通的地步。打下一定基础之后就可以边学边用。在互联网资源的帮助下学习 CLI 会很方便,用下搜索引擎没什么可耻的。


最好能用英文来学习关于 Linux 的知识

掌握一手讯息的好处大大滴有。看翻译或者转述你就需要花隐藏的时间成本并且承担译本信息不全的后果。


挑一个带有图形界面的 GNU/Linux 发行版安装来入门 Linux

推荐在 Fedora,Ubuntu,Manjaro 中选择。
选择困难请选大众情人 Ubuntu。
站在前沿请选测试平台 Fedora。
Bleeding Edge 请用 Manjaro。
它们都有基于 gnome 定制的操作系统 GUI,所以打开它们,图标,窗口,鼠标,一切 GUI 的习惯还在。入门友好。通过网上教程 自己安装些喜欢的 GUI主题,一阵游玩下来你可能就接触了不少使用 Linux 的 CLI 需要的基础知识。


怎么安装一个 Linux 操作系统

如果你还没玩过安装操作系统,自己查一查吧。找一台电脑,实践装个8次左右 你心里就对操作系统是什么有点数了。如果你和我一样只有一台电脑,那就学学怎么用 虚拟机。


Terminal

使用 CLI 时,请想象这样一个场景:
与计算机操作系统进行交流,需要开启一个通道。通道的一端时操作系统和硬件,另一端就是跟计算机交流的人,比如,你。在这个场景中,你处于一个“终端”,即“terminal”。
这样的场景源于计算机真正的使用方式,一台计算机同时开启多个通道来跟用户们交互,用户之间互不干扰,而且能同时分享计算机的运算能力。每个人面前都有一个“终端”硬件,用于显示计算机提供的 CLI,每人也都有自己的输入设备(比如键盘)来跟 CLI 交流。


想象这样的场景

在 Unix Like OS (Linux算是它的子集)中,用户实际上仍然在使用 terminal。拥有 GUI 的 Linux 发行版当然也在使用 terminal。Terminal 这个概念,连接起你和为你提供服务的计算机。计算机通过 terminal 与你交换信息,其中也包括了让你能使用 CLI 与计算机交流的信息。


开源软件,自由软件,Community

Free Software 并不是“免费的软件”,而是用户可以自由使用的意思。这两种意思有着微妙的差别。尤其在于“自由使用”并不一定意味着能免费获取软件使用权,free含义的重点是用户有浏览和编辑软件代码的自由。自由软件仍然可以商用。
GNU 是个非常著名的自由软件项目。它与 Linux 内核 (Linux Kernel) 的结合奠定了自由软件和开源软件的繁荣。GNU/Linux 的活力来自活跃的自由软件开发者、维护者。一个软件如果直接在互联网上公开了自己的源代码,它就是开源软件。理论上说,任何人都可以下载开源软件的代码来研究,改写,对它做(* /ω\*)任何想做的事。只不过,阅读源代码本身是一件壁垒和代价都很高的事情,所以自由软件开发的参与者们都值得软件使用者心怀感激。同时,因为非常多的自由软件也是免费的,所以在 Linux 的平台上使用免费的自由软件也早就是日常,GNU/Linux 也就给人一个“免费”的印象。但请记住,没有“应该免费”,也没有任何开发者“应该为你工作”,自由软件的开发和维护产生的消耗常常让开发者难以支撑也是一个事实。


软件包管理器

GNU/Linux 的软件世界更像是自治的社区 (Community) 而不是拥有核心权力的组织。让庞大数目的软件能运行在Linux中,需要的是开发者们遵守某些“共识”。软件多了,不可避免就要面对管理软件,方便地安装软件,方便地卸载软件。自由软件的开发者们根据某个开发软件的共识去开发,就形成了一系列标准统一、方便管理的软件。而管理这些软件的一类工具被开发出来,叫做 package manager。

GNU/Linux 发行版们有自己的 package manager 来管理“认证”过的软件。比如:

  • Debian 的 apt
  • Fedora 的 yum 和 dnf
  • Manjaro 的 pamac
  • Arch 的 pacman。

之所以强调“某个共识”,正是因为“开发软件的共识”不是统一的,而是开发者自律编纂、自觉遵守的。对不同的编程目的,比如应用场景是网页,桌面系统 GUI 应用程序,CLI 应用程序,手机应用程序等等,都有不同的程序编写框架要遵守,相应地也就有各自的软件包管理器。

移动设备的操作系统为例:AppStore,Google Play,以及国内各种“应用商店”都是基于“软件管理”这个目的被设计和实现出来的。



总结

安装一个 GNU/Linux 操作系统,尝试日常中就使用它,任何不懂直接搜索互联网。
这样时间久了,对 CLI 的世界会形成一个直观的印象。而且,游玩自己的 Linux 操作系统时,注意备份“绝对不想失去的文件”,比如照片、视频。以免命令输错导致文件系统炸裂的时候欲哭无泪。(自助使用软件数据恢复的手段是存在的,但是恢复的数据很可能是乱七八糟的,别问我是怎么知道的,也别问我什么是欲哭无泪)。
以无法为有法,自由自在地汲取所需是很舒畅滴;但是,总有些时候,如无头苍蝇般乱撞有可能撞得头晕脑胀而不得要领。还是得进行点“系统化的学习”。这早有前人帮忙:鸟哥的 Linux 私房菜双手推荐阅读。

鳥哥的Linux私房菜

2020年3月9日发现了这个视频好好解释了 Linux 的文件系统 (需要科学环境上网)。
这个不晓得要不要科学环境的 tryhackme.com 里有的内容你可能也想看看。



祝你好运~

更新

2019年1月3日:在中英文混合处添加空格以方便阅读时辨认。
2020年3月9日:文末添加了讲解 Linux 文件系统的视频链接。
2020年7月17日:添加 tryhackme 这个网站的链接。
2020年8月6日:开头添加关键词通往 MIT 的 Missing Semester。
2020年10月8日:原文被吃了,重发


  1. CLI, Terminal, TTY, Unix Like OS, Virtual Machine (VM), BIOS, UEFI, Linux Distribution, GNU/Linux, Shell, bash, Gnome Shell, Free Software, Free beer and free speech, Opensource, Package Manager, .deb and .rpm, bin directory, Environment Variables, PATH

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343