一只Linux小白,啊哈哈。。。以后就将自己的学习心得与大家分享啦!希望大家可以指出我的错误与不足之处

从今天开始学习Linux啦!嗯。。。真的是一只纯纯的Linux小白,之前所有的娱乐与学习等都是在Windows下进行的,在还未正式接触计算机(指的学习哦,之前纯属娱乐)之前哪还懂得什么操作系统也会有区分,嘿嘿..听了各种大神的建议以及自己的了解之后,还是决定挑战一把自己,学习一个新的操作系统--Linux的使用,以后在这种新环境下进行自己的编程生涯。。。

好了废话不多说了(其实我的心情还是很激动滴..,哈哈!),下来我将自己今天的所学分享一下:

(1) Linux与Windows的不同:

Linux中所有的内容以文件形式保存,包括硬件等(一切内容皆文件!)

Linux严格区分大小写(严格区分)

Linux不靠扩展名区分文件类型(靠权限区分文件类型):

那为什么Linux中还会出现

(配置文件:" *.conf "

网页文件:" *.html "," *.php "

压缩包:" *.gz "," *.bz2 "," *.tar.bz2 "等

脚本文件:" *.sh "

二进制软件包:" .rpm ")

这些类似于Windows(注意:只是长得像而已!并没有任何相似之处)下的看起来有文件类型的文件呢?我们说,这些只是为了给管理员区分文件类型用,而在Linux中是靠“权限”来区分文件类型的(“文件权限”这块后面需要仔细学习一下,后面再将自己的见解分享一下),并不是靠这些文件名后加了.conf,.sh,.html啦来区分文件的类型的,只是让管理员看起来方便而已,知道它是哪个类型的文件,然后用特定的方法来操作这个文件,我们管理员习惯了利用Windows下的扩展名方式来区分文件,所以Linux为了“照顾”使用者的感受,所以它允许你把部分的扩展名作为习惯命名,这些扩展名你可以不使用,但是使用更好(等到后面学习了扩展名后细说)。    Linux并没有扩展名这些概念,牢记!

Windows下的程序不能直接在Linux中安装和运行。

(2)字符界面的优势:

我们已经习惯了Windows下进行各种工作,也会对它的图形界面等感到很舒服,也利于操作等,嗯。。先来说我初次对Linux的界面的感受吧,好了启动Linux系统,啊。。。这什么啊,首先吧,都是英文(原谅我的英语水平),啥都看不懂,尽管还认识几个英语单词,可是看到都是英文的就。。。

咦?怎么没有那些漂亮的界面啊,这有什么好玩的,好了退出关闭!   可是人有时候就是这么好奇,哈哈,过了段时间也就是真正决定学习Linux了,还是决定揭开它神秘的面纱。。。到底是怎么玩呢?

1、字符界面占用的系统资源更少,远远比图形界面少的多,若是我们用更多的空间来设置图形界面的话,那也就意味着用相对较少的空间来储存资源来给客户端访问。所以,服务器上我们一般不考虑安装图形界面。

2、字符界面减少了出错、被攻击的可能性,原因就是运行的程序越多,出错的可能性就越大。(服务器是为安全性、稳定性等考虑的,所以一般不考虑安装图形界面)

有没有觉得使用这种字符界面很专业,很高大上的样子,哈哈!

(3)说说在安装Linux虚拟机这块的系统分区之分区与格式化

磁盘分区的概念:磁盘分区是使用分区编辑器在磁盘上划分几个逻辑部分。一旦划分成数个分区(Partition),不同类的目录与文件可以存储进不同的分区。

啊。。这个作为小白的我确实是听不太懂啊!听了慕课网上的Tony老师的讲解一下子明白了,通俗易懂!

首先假设我们有一个柜子:

将所有的衣服都放在这个柜子里,然后我们需要从中找一顶帽子,哇,好大的柜子!好多的衣服,怎么找到那顶帽子呢,哎。。。只有一件一件翻了,虽然说最后肯定是能找到,可是我们花费的功夫也是很大的,这样不是很浪费我们的精力与时间吗?就如同这块硬盘一样,我们假如不对它做任何的管理,将所有的文件都放在这么大的一块硬盘上,额。。硬盘上的文件远远要比我们柜子中的衣服多得多得多,那电脑查找所需要的文件岂不是很难,还要花费更多的时间,对我们来说就会觉得速度很慢啊,效率很低下。

所以说呢我们就应该想个办法,让我们在柜子中找衣服很简单:于是呢,我们都会想到可以先将这个柜子给它划分几个区域然后用来放不同种类的衣服,那这样我们以后找自己需要的衣服不是方便很多了吗?

我们将硬盘和柜子类比,也可以将硬盘划分为几个逻辑分区,注意这儿只是逻辑上的分区,(我们不可能拿把刀把硬盘分成几个分区吧),分区的话肯定是要有规则的:

1、主分区(Primary):最多只能有四个(为什么是四个?这个是硬盘决定的,并不是操作系统。硬盘把自己分成了等大小的扇区,每个扇区512个字节,其中446个字节是用来记录启动信息的,64个字节是用来进行分区表示的,每16个字节表示一个分区,所以最多有四个分区。还有剩余的2个字节,AA和55被称为幻数,BIOS读取MBR的时候总是检查最后是不是有这两个幻数,如果没有就被认为是一个没有分区的硬盘,简单来说幻数就是标识硬盘是否被分区)

2、扩展分区(Extended):人们总是不喜欢受限制,那除了四个主分区我们是否还以增加更多的分区呢?当然可以。首先我们拿出其中的三个分区作为主分区,然后把第四个主分区作为扩展分区,(主分区加扩展分区最多只能有4个)对一块硬盘来讲只有一个扩展分区,扩展分区是不能写入数据的,它的主要作用是包含更多的逻辑分区,这样就突破了只有四个主分区的限制。

然后进行分区划分了之后,我们就可以直接对不同的分区来进行存储文件了吗?答案当然是:NO!   我们首先要对分区进行格式化【格式化(高级格式化)又称逻辑格式化,它是指根据用户选定的文件系统(如FAT32、NTFS、EXT3、EXT4等),在磁盘的特定区域写入特定数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间】,格式化的根本目的是为了写入文件系统,格式化具体是做哪些操作呢(可能有人会像我之前那么认为,格式化不就是来清除那些数据。这么理解可以说是不正确的):

1、首先将整个分区分成等大小的数据块(block)。每个数据块默认大小4kb(可以更改为可以识别的1kb、2kb等),即存储文件的最小空间,假如我们有一个10kb的文件,将它分成三个数据块,它们一定是连续存储吗?答案是不一定。第三个数据块用了2kb,剩余的2kb还可以用吗?当然不行。这块默认的4kb是最小存储空间。

2、在分区列表里建立二维表格。怎么查找这么多的数据块呢?要给它制定一定的规则,就是在分区列表中建立一个二维表格 ,记录了:文件的ID号、文件修改时间、文件权限、数据保存的多个数据块的位置等   当用户访问文件的时候,先查找这个分区列表,匹配权限,如果不匹配,那就直接拒绝,如果权限匹配,那就进入,查找保存数据的数据块的位置,把这些数据块取出来然后进行拼凑就拼接成了这个文件。(二维表格只是临时画到主分区三,并不代表存储在这)

所以格式化最主要就是为了写入文件系统,对于Linux来讲它写入文件系统主要干了两个事,一、把整个分区分成了等大小的数据块,二、在分区列表里建立二维表格,里面记录了每个文件的ID(其实真正是称为I结点(INode))、修改时间、权限、文件保存位置。

如果说我们要给柜子打隔断,那么衣服不取出来能直接打吗,肯定是不行,我们要先把衣服取出来然后再进行打隔断。对分区也一样,格式化附带了把原有的数据清空,然后进行以上的两个操作,但格式化绝不是为了清空数据,而是为了写入文件系统。

第一次写博客哈哈,后面再接再厉,写的过程中也碰到了很多不理解的东西,坚持将Linux学习下去,解答目前还不理解的这些问题。

时间: 2024-10-27 17:59:16

一只Linux小白,啊哈哈。。。以后就将自己的学习心得与大家分享啦!希望大家可以指出我的错误与不足之处的相关文章

一只Linux小白的心路

为什么想要学习linux呢,我先来说两个自己的经历,很早以前就听过linux系统的大名,曾经装过一个雨林木风的版本,不过听说已经停止更新了,当时它就是仿造windows盗版的安装方式,一下打包安装好多东西,但是就是感觉linux和windows应该是差不多的操作系统,就是系统上跑个软件,做做一些事情.这是我第一次接触linux. 后来到了去了部队当兵,见识了用linux搭建的通信服务器,而且没有人会使用它,只知道不能操作它,它很重要,不能出一点问题,它作为一个核心设备很重要,而且它也很少出现问题

ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路

 一.前言  最近一段时间自己主要的学习计划还是按照毕业后设定的计划,自己一步步的搭建一个前后端分离的 ASP.NET Core 项目,目前也还在继续学习 Vue 中,虽然中间断了很长时间,好歹还是坚持下来了,嗯,看了看时间,原本决定的半年完成肯定是完不成了.这两周重新拾起来学习 Vue,文章也在慢慢的更新中,这一篇文章主要是想提前试试水将 ASP.NET Core 部署到 Linux Server 上,原本的打算是把毕业设计就部署到 Linux 上,最终也未能成行,究其原因,还是自己太懒太拖了

Linux小白成长之路

Linux小白成长之路 本人忘祭,一个刚刚进入跨入Linux世界的小白.Linux对于我来说其实是很神秘的,很早以前就听说过.也曾见各种技术大牛使用过.但是一直以来也没有去接触的想法,因为感觉太高深.从四月开始报名马哥教育,到现在看预习视频已经一个月了.刚开始看到那些专业术语,感觉脑袋都要大了.对于一个已经三十岁的我来说,当初是硬逼着自己看下去的.看一遍不理解,就两遍三遍重复着看.随后在网上查看各种帖子.文章,想从中找到些学习的切入点,但是觉得不是那么容易着手.无法理解.但是现在听了王老师的面授

ecflow开篇之linux小白编译篇(一)

最近项目要用到一个叫ecflow的东西,百度之,发现资料很少,不过幸亏有帮助文档,地址为: https://software.ecmwf.int/wiki/display/ECFLOW/Home 官方解释: ECFLOW is a client/server workflow package that enables users to run a large number of programs (with dependencies on each other and on time) in a

linux下鼠标穿透和取消穿透--linux小白,大神无视

最近在用qt写一个跨平台的软件,因为设置了无边框,并且我自己给程序窗口加了阴影,阴影范围又比较大 所以必须给阴影区域加上鼠标穿透才能有更好的体验. 上网查了一下,在windows下使用SetWindowLong就行 在linux下的搜了好久也找到了一个方法 就是XShapeCombineRectangles(QX11Info::display(), winId(), ShapeInput, 0,0, NULL, 0, ShapeSet, YXBanded);(需要#include <X11/ex

linux小白 mysql5.0源码安装配置

安装mysql-5.0.45.tar.gz(该软件包下载地址:http://www.filewatcher.com/m/mysql-5.0.45.tar.gz.24433261-0.html) # groupadd mysql              #添加mysql组 # useradd -g mysql mysql      #添加mysql用户,且加入mysql组 --------------------编译过程---------------------------------- # t

Linux小白第二弹之文件系统与目录结构大汇总

Linux小白第二弹之文件系统与目录结构大汇总 今天聊一下关于目录结构的东东. LInux的标准目录结构是由根/和一级目录组成,文件和目录被组织成一个单根倒置树结构.文件系统从根目录下开始,用"/"表示.一级目录如下:bin(binary),所有用户使用的基本命令:不能关联至独立分区,OS启动就会用到的程序[普通用户]: boot,引导文件存放目录,内核文件(vmlinuz).引导加载器(bootloader,grub)都存放于此目录: dev对应的是设备,如硬盘光盘: etc,配置文

Linux系统理解以及Linux系统学习心得

原创作品转载请注明出处  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 作者:严哲璟 说一下我对Linux系统的理解 1.加载Linux内核准备:在加载基本输入输出模块(BIOS)之后,从磁盘的引导扇区读入操作系统的代码文件块到内存中,之后开始整个系统的初始化. 2.main.c的start_kernel函数是整个操作系统的入口,这也与Linux是基于C语言的特性相符,start_kernel具体做的动作很多

《Linux内核设计与实现》第八周学习总结——第四章 进程调度

<Linux内核设计与实现>第八周学习总结——第四章 进程调度 第4章 进程调度35 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.只有通过调度程序的合理调度,系统资源才能最大限度地发挥作用,多进程才会有并发行的效果. 调度程序没有太复杂的原理,最大限度地利用处理器时间的原则是只要有可以执行的进程,那么就总会有进程正在执行,但是只要系统中可运行的进程的数目比处理器的个数多,就注定某一给定时刻会有一些进程不