Linux 入门培训 文稿

一、Linux 简介


1、Linux 起源

        1991年10月,Linus Torvalds(李纳斯 脱袜子) 在赫尔辛基大学接触 UNIX , 他希望能在自己的电脑上运行一个类似的操作系统。可是 UNIX 的商业版本非常昂贵,于是他从MINIX开始 入手,计划开发一个比MINIX性能更好的操作系统。很快他就开始了自己的开发工作。他第一次发行的版本很快吸引了一些黑客。尽管最初的LINUX并没有 多少用处,但由于一些黑客的加入使它很快就具有了许多吸引人的特性,甚至一些对操作系统开发不感兴趣的人也开始关注它。

2、Linux 与 Unix的关系

        由于Linus 当初只是为了开发一个性能更好的Minix而开发了Linux,所以Linux从一开始就是在模仿Unix。但是这种模仿并不是简单的copy,而是对于原有功能的重新实现。Linux以一种全新的方式实现了Unix的绝大多数特性,所以某一本汉语辞典是这样解释Linux的:一种开源的类Unix操作系统。这句话说的很准确,类Unix也是Linux与生俱来的别称。但是需要记住的是,Linux不是Unix,他们只是功能上的相近,在底层实现上是有很大差距的。这里就要谈到一个著名的开源组织,GNU组织,可以说如果没有GNU,就没有今天的Linux。因为GNU计划,才有大量的软件被移植到Linux系统下面。GNU是 GNU is Not Unix的递归缩写。

3、Linux 有哪些发行版?

狭义上的 Linux 就表示 Linux 内核(kernel)。如果以这个内核为基础,附加一大堆软件包,甚至提供用户界面,这就叫做“Linux发行版”(distribution)。本文如果没有特殊说明,所有谈到的“Linux”都是指附带各种软件的发行版。

几大派系的发行版:(按打包方式分)

1)【DPKG】 Debian,Ubuntu,Deepin, Mint

2)【RPM】 RHEL, Fedora, CentOS, Suse, Mandriva, Red Flag

3)【Slackware】 Slackware, Kate OS

4)【Other】 Gentoo, Arch Linux, Chakra, Manjaro

4、Linux 比 Windows 更安全?

       这是一个会引发世界大战的话题,在这里我只作简单的阐述。

        Linux 因为开源特性,所以你可以从源码层面去找漏洞。同时因为 Linux 被广泛使用在各种关键业务中,这也激励了相当一部分黑客去挖掘 Linux 的漏洞。

         对于 Windows 而言,因为用户群庞大,可以攫取的利益点甚多,所以总有高手在研究 Windows 的技术。正是因为有人去“搞”这些系统,所以它们的安全技术也在不断升级,安全性越来越高,可以说 Linux 和 Windows 的安全性不分伯仲。

        至于大家经验上认为 Windows 安全性比 Linux 差,这应该归咎于用户习惯吧。完善的用户角色定义、严格的权限管理,Windows 不比 Linux 差(当然是win7之后),只是 Windows用户普遍非专业人士,在实际使用中并没有严格管理好权限分配。

        谈到这里,就不得不说 OS X,虽然 OS X 下面的木马病毒远远少于 Windows 的病毒,但是却不能改变OS X的安全性远低于 Windows 以及 Linux 这一不争的事实。由于我们工作室有好多MacBook,为了防止被打,此处省略无数字。。。

二、装机预备知识


1. 文件系统

         Linux下面多使用 ext 格式的分区,从开始的 ext2 到后来的 ext3,再到现在的 ext4,它们一直是众多 Linux 发行版普遍使用的磁盘格式。Ext3 及以后的版本是具有日志功能的,所以也被称为日志型文件系统。其他的在 Linux 下面常见的分区格式有 ReiserFS(被SUSE Linux作为默认选择)、XFS(由SGI开发)、JFS(由IBM开发)等。关于这些文件系统的特点不多介绍,读者如果有兴趣可以自行查找相关资料学习。

2. 一切皆文件

         一切皆文件,这是Unix的哲学,所以自然地成为了Linux的原则。

         在 Unix/Linux 系统里面,绝大多数配置都是写在文件里的,所以在 Linux 下面如果想要修改某些配置,那么就去找到它的配置文件吧,然后使用任何你喜欢的文本编辑器修改它即可。

      “一切皆文件”其实最重要的是体现在系统层面,比如程序运行时候的相关信息都对应着/proc下面的某个文件;想要对某个硬件操作,大部分情况下只需要对/dev下面的某个文件操作即可。

        但是在Unix/Linux下面并没有彻底贯彻这些思想,比如网络通讯中的sockets就没有以“文件”的方式处理。同时,“一切皆文件”也并不是Unix独有的思想,虽然在Windows 下面不容易看出这种思想的体现,但是在 NT 内核的底层,还是可以看到很多这种思想的影子的。(作为第一个成功地被广泛使用的操作系统,Unix 给后继者们留下了不可磨灭的印记)

3. Linux 文件树的组织

        首先在 Linux 下面请不要使用“文件夹”这种说法,对应的叫做“目录”,其他很多领域也都采用“目录”这种更专业的说法。 Linux 系统下所有的文件以及目录组成了一棵文件树,这棵树的顶层叫做“根目录”,其他所有的目录是隶属于根目录的子目录。

linux-filesystem

下面详细介绍根目录下面各个目录的含义以及作用。

/bin: 主要存放系统基本程序(命令)

/boot: 内核以及启动所需的文件(这里说一下,/boot/efi 会被挂载为UEFI的ESP启动分区)

/dev: 磁盘、网卡、内存等设备项

/etc: 各种程序以及系统自身的配置文件目录

/home: 用户家目录

/lib: C 编译库以及其他的一些库

/media: 移动存储设备的挂载点

/mnt: 与/mdeia功能类似

/opt: 可选软件包的安装位置

/proc: 进程相关数据

/root: 超级用户的家目录

/sbin:系统程序(命令)所在的地方

/tmp: 临时目录,每次重启会自动清空(部分发行版将tmp挂载为虚拟目录)

/usr: 次要软件以及文档的目录(用户态程序)

Linux-file-system-hierarchy-Linux-file-structure-optimized

4. 分区的挂载

        如果想在 linux 上面访问某一个分区的数据,就需要将其挂载在文件树上面。比如需要挂载一个U盘,就经常在/media目录下面新建一个目录,然后将USB挂载(mount)到该目录,即可访问。

        如果用来挂载的目录不为空,在挂载分区之后,会“覆盖”原目录的内容。卸载分区之后,该目录恢复其自身数据。

        在 Linux 下面,安装系统的时候,可以建立专门的分区并挂载为 /home。这样当需要重新安装系统时,只需要格式化根分区(/)即可,之后重新挂载 /home 分区,用户数据、自定义配置 就都回来啦。

三、基本使用命令介绍(以 Ubuntu 为例)


1、如何使用 Linux

1)文本模式,切换到虚拟控制台:Ctrl+Alt+F[1-6]
2)图形模式,切换到图形控制台:Ctrl+Alt+F7

这里涉及到虚拟控制台的概念,键入tty可以显示,这里不赘述。

2、如何启动 Terminal(终端)

1)Super+R,搜索 "Terminal" 或者 "终端"
2)Ctrl+Alt+T

3、终端使用技巧

1)Tab :命令以及路径补全

2)上下箭头:重放历史命令

3)Ctrl+Shift+ C/V :复制、粘贴功能

4)Shift + PageUP/PageDown: 上下滚动屏幕

5)Less、More:输出过多时分页显示

4、获得权限

在 Linux 系统中,root拥有最高权限(此处忽略SeLinux等异类)。安装软件、添加设备等动作需要root权限操作。
Ubuntu 默认禁止了 root 用户使用图形界面,root密码为空,因此无法直接使用root用户进行操作。

Sudo,方便一般用户临时获得管理员权限。前提是该用户在 /etc/sudoers 文件里面有配置项并赋予了一定的权限。

5、其他常用命令(详细参数略)

pwd: Print Working Directory,显示当前工作目录

cd: Change working Directory,切换工作目录

ls:  List,显示当前目录下面的文件

touch: 建立新文件以及修改文件时间戳

mkdir: Make Directories,建立新目录

rmdir: Remove Directories,删除目录

rm:  Remove, 删除文件

cp: Copy,复制 文件/目录

ln: Link, 建立硬链接/软链接(软链接类似与Win下的快捷方式)

exit: 退出

shutdown: 定时关机/重启等

poweroff: 关机

reboot: 重启

6、系统更新维护

apt-get

apt-get update  更新本地软件包数据,获得远程软件源上的最新更新。

apt-get install [软件名]  安装软件,建议现场体验安装 vim

apt-get upgrade 自动升级可升级的软件

apt-get dist-upgrade 系统升级(系统版本和大量软件的升级)

apt-get remove [软件名]  卸载软件

apt-get purge [软件名]  卸载软件,同时删除配置文件

7、获得帮助

1)whatis

2) -h / -H / --help

3)man

4)info

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注