Linux学习笔记(二)

Linux概述

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。(摘抄百度百科)

tips:托瓦兹指明了企鹅为Linux的吉祥物,所以linux的图片是一只企鹅。

Linux发展

早期的Linux确实是不具有移植性的。不过Linux开源以后,任何人均可取得源代码与可执行这个核心程序,并且可以修改程序码去适合作业的环境。因此,Linux 后面出现了各种各样的版本,在1994年以后,Linux便被开发到很多的硬件上面去了! 目前除了x86之外,IBM、HP等等公司出的硬件也都有被Linux所支持呢!甚至于小型单板计算机 (树莓派/香蕉派等) 与手持设备 (智能手机、平板电脑) 的 ARM 架构系统,大多也是使用 Linux 核心喔!

下面列出几个主要的Linux distributions发行版网址:

Linux怎么学

系统,“从头学起”是很重要,文件资源管理器学起,然后慢慢的玩到控制台、玩到桌面管理, 然后还去学办公室软件,此外,网络基础安全也很重要,例如TCP/IP的基础知识网络路由的相关概念等等。

基础知识是学习更深入的技巧的必备条件,建议学习路线:

1. 计算机概论与硬件相关知识: 想要走Linux这门路,信息相关的基础技能不能没有! 所以先理解一下基础的硬件知识,不用一定要全懂! 但是至少要“听过、有“概念”即可;

2. 先从Linux的安装与指令学起: 没有Linux怎么学习Linux呢?所以好好的安装起一套你需要的Linux吧!虽然说Linux distributions很多, 不过基本上架构都是大同小异的,差别在于接口的友好度与软件的选择不同罢了! 选择一套你喜欢的就好了,倒是没有哪一套特别好说!

3. Linux操作系统的基础技能: 这些包含了“使用者、群组的概念”、“权限的观念”,“程序的定义”等等,尤其是权限的概念, 由于不同的权限设置会妨碍你的使用者的便利性,但是太过于便利又会导致入侵的可能! 所以这里需要了解一下你的系统呦!

4. 务必学会vi文书编辑器: Linux的文书编辑器多到会让你数到生气!不过,vi却是强烈建议要先学习的! 这是因为vi会被很多软件所调用,加上所有的Unix like系统上面都有vi,所以你一定要学会才好!

5. Shell与Shell Script的学习: “命令行”说穿了就是一个名为shell的软件!既然要玩命令行,当然就是要会使用shell的意思。 但是shell上面的数据太多了,包括“正则表达式”、“管线命令”与“数据流重导向”等等,真的需要了解比较好呦! 此外,为了帮助你未来的管理服务器的便利性,shell scripts也是挺重要的!要学要学!

6. 一定要会软件管理员: 因为玩Linux常常会面临得要自己安装驱动程序或者是安装额外软件的时候,尤其是嵌入式设备或者是学术研究单位等。 这个时候Tarball/RPM/DPKG/YUM/APT等软件管理员的安装方式的了解,对你来说就重要到不行了!

7. 网络基础的创建: 如果上面你都通过了,那么网络的基础就是下一阶段要接触的咚咚,这部份包含了“IP概念”“路由概念”等等;

8. 网站架设:如果连网络基础都通过了,那么网站的架设对你来说,简直就是“太简单啦!”在一些基础知识上,可能的话,当然得去书店找书来读啊! 如果您想要由网络上面阅读的话,那么这里推荐一下由Netman大哥评论员的Study-Area里面的基础文章,相当的实用!

Linux上面可以玩的东西很多,可以选择一个有趣的课题来深入的玩一玩!不论是Shell还是图形接口等等, 只要能够玩出兴趣,那么再怎么苦你都会不觉得喔!

要想有学习Linux的动力,就一定要对Linux感兴趣,兴趣是最大的老师嘛。而且要多实操、思考获取成就感,这样才会创造源源不断的动力,不会感觉到很枯燥。

还可以通过分享自己的学习成果(我现在写博客就是)写博客、心得来分享,以获得“被认同”!当你写了心得分享,自然有朋友会去瞧一瞧你的文章,当大家觉得你的文章内容很棒的时候,你就会获得满满的成就感和动力。

我们先认清楚一点:linux中一切皆文件!!!

各硬件设备在Linux中的文件名

在Linux系统中,每个设备都被当成一个文件来对待,举例来说,SATA接口的硬盘的文件名称即为/dev/sd[a-d],其中, 括号内的字母为a-d当中的任意一个,亦即有/dev/sda, /dev/sdb, /dev/sdc, 及 /dev/sdd这四个文件的意思。

另外先提出来强调一下,在Linux这个系统当中,几乎所有的硬件设备文件都在/dev这个目录内, 所以你会看到/dev/sda, /dev/sr0等等的文件名喔。

真实linux dev 目录截图(本地虚拟机)

 你的机器使用的是跟网际网络供应商(ISP) 申请使用的云端机器,这时可能会得到的是虚拟机。为了加速,虚拟机内的磁盘是使用仿真器产生, 该仿真器产生的磁盘文件名为 /dev/vd[ap] 系列的文件名喔!要注意!要注意!

我的真实云服务器:

看样子我的云服务器是阿里云提供的虚拟机呀。。。

 Tips 更多Linux核心支持的硬件设备与文件名,可以参考如下网页:https://www.kernel.org/doc/Documentation/devices.txt

 磁盘分区

整颗磁盘的第一个扇区特别的重要,因为他记录了整颗磁盘的重要信息! 早期磁盘第一个扇区里面含有的重要信息我们称为MBR (Master BootRecord) 格式,但是由于近年来磁盘的容量不断扩大,造成读写上的一些困扰, 甚至有些大于 2TB 以上的磁盘分区已经让某些操作系统无法存取。因此后来又多了一个新的磁盘分区格式,称为 GPT (GUID partition table)! 这两种分区格式与限制不太相同!

分区几个重点信息:

  • 其实所谓的“分区”只是针对那个64 Bytes的分区表进行设置而已!
  • 硬盘默认的分区表仅能写入四组分区信息
  • 这四组分区信息我们称为主要(Primary)或延伸(Extended)分区
  • 分区的最小单位“通常”为柱面(cylinder)
  • 系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分区进行数据的处理

为啥要分区啊?

1. 数据的安全性: 因为每个分区的数据是分开的!所以,当你需要将某个分区的数据重整时,例如你要将计算机中Windows的C 盘重新安装一次系统时, 可以将其他重要数据移动到其他分区,例如将邮件、桌面数据移动到D 盘去,那么C 盘重灌系统并不会影响到D盘! 所以善用分区,可以让你的数据更安全。

2. 系统的性能考虑: 由于分区将数据集中在某个柱面的区段,例如上图当中第一个分区位于柱面号码1~100号,如此一来当有数据要读取自该分区时, 磁盘只会搜寻前面1~100的柱面范围,由于数据集中了,将有助于数据读取的速度与性能!所以说,分区是很重要的!

MBR分区在Linux系统中的设备文件名分别如下:​​​​​​​

  • P1:/dev/sda1
  • P2:/dev/sda2
  • L1:/dev/sda5
  • L2:/dev/sda6
  • L3:/dev/sda7
  • L4:/dev/sda8
  • L5:/dev/sda9

仔细看看,怎么设备文件名没有/dev/sda3与/dev/sda4?因为前面四个号码都是保留Primary或Extended用的! 所以逻辑分区的设备名称号码就由5号开始了!这在 MBR 方式的分区表中是个很重要的特性,不能忘记喔!

Linux磁盘分区

整个Linux系统最重要的地方就是在于目录树架构,目录树的呈现方式如下图所示:

 所有的文件都是由根目录(/)衍生来的,而次目录之下还能够有其他的数据存在。上图中长方形为目录, 波浪形则为文件。那当我们想要取得mydata那个文件时,系统就得由根录开始找,然后找到home接下来找到dmtsai, 最终的文件名为:/home/dmtsai/mydata的意思。

文件系统与目录树的关系(挂载)

所谓的“挂载”就是利用一个目录当成进入点,将磁盘分区的数据放置在该目录下; 也就是说,进入该目录就可以读取该分区的意思。这个动作我们称为“挂载”,那个进入点的目录我们称为“挂载点”。 由于整个Linux系统最重要的是根目录(/),因此根目录一定需要挂载到某个分区的。 至于其他的目录则可依使用者自己的需求来给予挂载到不同的分区。我们以下图来作为一个说明:

判断某个文件在那个partition下面是很简单的,通过反向追踪即可。以上图来说, 当我想要知道/home/vbird/test这个文件在哪个partition时,由test --> vbird --> home --> /,看那个“进入点”先被查到那就是使用的进入点了。 所以test使用的是/home这个进入点而不是/喔!

分区建议

A:初次接触Linux:只要分区“ / ”及“swap”即可

通常初次安装Linux系统的朋友们,我们都会建议他直接以一个最大的分区“ / ”来安装系统。 这样作有个好处,就是不怕分区错误造成无法安装的困境!例如/usr是Linux的可执行程序及相关的文件摆放的目录, 所以他的容量需求蛮大的,万一你分区了一块分区给/usr,但是却给的不够大,那么就伤脑筋了! 因为会造成无法将数据完全写入的问题,就有可能会无法安装啦!因此如果你是初次安装的话, 那么可以仅分区成两个分区“ / 与 Swap ”即可。

B:建议分区的方法:预留一个备用的剩余磁盘容量!

在想要学习Linux的朋友中,最麻烦的可能就是得要常常处理分区的问题,因为分区是系统管理员很重要的一个任务。 但如果你将整个硬盘的容量都用光了,那么你要如何练习分区呢?。所以在后续的练习中也会这样做, 就是请你特别预留一块不分区的磁盘容量,作为后续练习时可以用来分区之用!此外,预留的分区也可以拿来做为备份之用。因为我们在实际操作Linux系统的过程中, 可能会发现某些script或者是重要的文件很值得备份时,就可以使用这个剩余的容量分区出新的分区, 并使用来备份重要的配置文件或者是script。这有个最大的好就是当我的Linux重新安装的时候,我的一些软件或工具程序马上就可以直接在硬盘当中找到!呵呵!重新安装比较便利啦。 为什么要重新安装?因为没有安装过Linux十次以上,不要说你学会了Linux了啦!慢慢体会这句话吧!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值