Linux基础与服务器搭建-第一课

开始前的闲话:

相信大家都对Windows系统有一定的了解了,我个人认为Linux在某些方面比Win好用得多,水平不够,也不讨论孰优孰劣的问题,只是觉得这系统太TM好用了,仅此而已

预备知识:

基本不需要什么预备知识,但是推荐看一下这个:
提问的智慧
这个无疑是上个世纪的文章了,放到今天来看这文章甚至写得有点smug(我七年前读它的时候没这种感觉),但是关于如何提问的部分还是值得一看。

正文:

今天就简单的讲一些小东西:

  • Linux系统是什么
  • 包管理是什么
  • 设备文件是什么

1. Linux系统是什么
建议阅读 这个知乎问题的第一赞回答
这回答看起来也有点smug,但是今天我们只谈情怀,所以楼下那些关于广泛的就业机会的回答更加不合胃口。
接下来来一个比较官方的定义:
狭义上的Linux是指Linux内核,广义上的Linux是指Linux内核和运行与内核之上的一系列软件构成的操作系统
这个定义是我当年刚刚接触Linux的时候不知道从哪里看到的,现在拿去百度一下的话应该也是到处都是的一个定义,但是这个定义其实还比较准确的,下面来细讲一下。
和Windows完全不同,Linux只是一个叫Linus的人开发的操作系统内核(Kernel),Linus那时候完全是出于兴趣,自己编写了一个操作系统内核(起到管理硬件资源、抽象硬件层的作用),之后又将原本运行与Unix之上的几款软件(如Shell)移植到了这个内核之上,使得它可以和用户交互,初步有了一个操作系统的样子。
之后呢,又一群爱好者开始在Linux这个内核上开发软件/移植软件,一个叫GNU的东西注意到了Linux,GNU当时正想建立一个完全自由的操作系统,它什么都有了,就是缺个系统内核,于是和Linux合作,给Linux提供了一个标准C库(glibc)和一套完整的开发工具(gcc),从此在Linux上开发软件,移植软件变得相当简单,Linux的生态环境建立起来了。
再之后,我们就把运行Linux内核的东西都叫成Linux系统了。

2.包管理是什么
Python用户肯定用过一个叫pip的东西,这东西和Linux的包管理就有些像。
我们先回忆一下之前讲过的Linux系统的定义,Linux是一个内核,之后GNU提供了Linux的标准C库实现和编译器,从此之后在Linux上移植和编写软件变得非常容易,一大群人开始在Linux上编写软件,最终这些软件的集合形成了一个操作系统。
那么这里就有个问题,这些软件的编写者都不在一起啊,他们各写各的,如果要把他们的软件都凑起来,变成一个操作系统,需要到他们每个人的网站上去一个个下载源码包进行编译,这无疑是非常费时费力的。
LFS了解一下
于是就产生了一个叫Linux发行版的概念,它们有一群人(商业公司或社区)维护,有一个自己的包管理系统
,他们将各个分散的软件源代码集合起来,统一编译,又开发了一套软件安全包格式,这些被编译好的软件按照格式打包之后,经过包管理系统就可以轻松地瞬间安装好。这样省去了最终用户的编译时间,极大程度地方便了Linux系统的普及使用。(关于包管理系统可以参考这篇文章

3.设备文件是什么
Linux把所有设备都当成文件来对待,设备文件都在/dev下
这里有一篇关于设备文件说明较详细的文章,可以参考,下面说一下我的个人的简化过的理解。

  • 块设备
    学过C++的人都知道C++里流的概念,块设备就是这些流的制造地/目的地。Linux会把io设备都抽象成块设备,这种抽象的接口极大程度上方便了软件开发。
    这里为了说明问题需要用到Linux里的几个命令,下面简单介绍一下这些命令:
echo  --- 和Windows的echo一样,不说了
cat --- 获取目标文件的内容
dd --- diskdump,通过指定参数可以实现读取指定快设备/写入指定块设备的目的

下面来看一下例子:
例如,你可以向stdout输入一个字符串test,之后你的屏幕上就会打印出一个test来,实际上,echo的默认输出就是重定向到/dev/stdout的。

root@archlinux /dev # echo test > stdout 
test

又例如,你可以通过从/dev/zero(一个特殊的产生0的块设备)读取数据并写入/dev/sda(硬盘),以此达到全盘低格的目的:

root@archlinux /dev # dd if=/dev/zero of=/dev/sda 

在Linux下制作系统安装U盘时,可以采用这条命令,将iso文件直接写入U盘内(假设/dev/sdb是U盘):

dd if=ubuntu.iso of=/dev/sdb

之后直接重启从U盘引导即可。

  • 其他设备文件
    当然了,块设备这种抽象接口只适合对io设备进行抽象,所以Linux还设计了用于抽象其他设备的设备文件,例如通过/dev/mem可以直接操作系统内存,/dev/tty*则是终端设备的虚拟设备文件,除此之外,还有其他特殊的设备文件,例如通过/dev/kmsg这个设备文件可以读取/写入内核日志等等。但是这些都并不怎么常用,也偏离了我们的主题,今天就不详细介绍了。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容