一、Linux发展史
1.Linux前身-Unix
1968年 Multics项目 MIT、Bell实验室、美国通用电气有限公司走到了一起,致力于开发Multics项目。到后期由于开发进度不是很好,MIT和Bell实验室相继离开这个项目的开发,最终导致项目搁浅。 1970年(Unix元年,时间戳) Unix诞生 当时在开发Multics项目的时候,实验室中有一个开发成员开发了一款游戏(travelspace:遨游太空),因为两个实验室相继离开项目开发,导致这名开发人员没法玩游戏,后来他提议组织人员重新在Multics项目之上重新的开发,也就出现了1970年的Unix。当时Unix操作系统是使用的汇编语言(机器语言)开发的。 1973年 用C语言重写Unix 因为汇编语言有一个最大的局限性:对于计算机硬件过于依赖。导致移植性不好,所以后期在1973年使用了C语言对其进行重新开发。 1975年 Bell实验室允许大学使用Unix。 1975年 bell实验室允许大学使用Unix操作系统用于教学作用,而不允许用于商业用途。
2.Linux诞生
Linux的开发作者,Linux之父,李纳斯·托瓦兹。Linux诞生时是荷兰在校大学生。 1991年 0.0.1版本 李纳斯当时学校使用的就是Unix操作系统,然后其对系统的底层代码进行了修改,放到了学校为学生开放的网站上,原先他把文件命名写成了Linus’s Unix,后期网络管理发现之后觉得这个名字不好,自己手动的将名字改成Linux。随后其他同学下载之后发现这个版本还是挺好用的,随后都把自己代码贡献给李纳斯。
3.开源文化
Linux是开源的操作系统。所谓开源就是指开放源代码。
4.Linux系统特点
开放性(开源)、多用户、多任务、良好的用户界面、优异的性能与稳定性 多用户多任务: 单用户:一个用户,在登录计算机(操作系统),只能允许同时登录一个用户; 单任务:一个任务,允许用户同时进行的操作任务数量; 多用户:多个用户,在登录计算机(操作系统),允许同时登录多个用户进行操作; 多任务:多个任务,允许用户同时进行多个操作任务; Windows属于:单用户、多任务。 Linux属于:多用户、多任务。
5.Linux操作系统优点
系统迭代更新,系统性能稳定,安全性高多任务,多用户,耗资源少,内核小,应用领域广泛
6.Linux操作系统发行版
学习Linux操作系统,需要选择不同的发行版本,Linux操作系统是一个大类别,Linux操作系统主流发行版本包括:Red Hat Linux、CentOS、Ubuntu、SUSE Linux、Fedora Linux等CentOS社区企业版操作系统(Community Enterprise Operating System,CentOS)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码所编译而成
7.Linux内核命名规则
#uname 命令用于查看系统内核与系统版本等信息
代码语言:javascript复制 uname -a
Linux内核命名格式为 “R.X.Y-Z”,其中R、X、Y、Z命名意义如下: 3.10.0-862.el7.x86_64 数字R:目前发布的内核主版本,到目前为止有4个大版本更新 数字X:次版本号,奇数为开发版,偶数为稳定版 数字Y:错误修补的次数,无论在内核增加安全补丁、修复Bug、实现新的特性或者驱动时都会改变 数字Z:表示这个当前版本的第862次微调patch
注1:CentOS的el5, el6, el7代表什么 EL6是Red Hat 6.x,CentOS 6.x和CloudLinux 6.x的下载 EL5是Red Hat 5.x,CentOS 5.x和CloudLinux 5.x的下载 EL7是Red Hat 7.x,CentOS 7.x和CloudLinux 7.x的下载
注2:x86_64 X86属于32位系统,X64属于64位系统。i386通常被用来作为对Intel(英特尔)32位微处理器的统称
二、Linux系统的安装
目前安装操作系统方式有2种: 真机安装:使用真实的电脑进行安装,像安装windows操作系统一样,真机安装的结果就是替换掉当前的windows操作系统; 虚拟机安装:通过一些特定的手段,来进行模拟安装,并不会影响当前计算机的真实操作系统;
注1:如果是学习或者测试使用,强烈建议使用虚拟机安装方式
三、linux系统分区简介及如何分区
Linux操作系统分区与Windows操作系统分区C盘、D盘有很大区别, Liunx操作系统是采用树形的文件系统管理方式, 所有的文件存储以/(根)开始
1.自动分区
我这里有20G未分区的空间,如果已经被其他分区占用,请删除其他分区,新手建议自动配置分区,这样既方便有不容易出问题。【选择自动分区选择-点击左上角的完成】
2.手动分区
选择手动分区 然后单击左上角”完成”就会弹出手动分区的配置界面
分区 | 作用 | 分区建议 | 分区格式 |
---|---|---|---|
boot分区 | 引导分区,包含了系统启动的必要内核文件,即使根分区顺坏也能正常引导启动 一般这些文件所占空间在200M以下 | 分区的时候可选100M-500M之间,如果空间足够用,建议分300-500M。避免由于长期使用的冗余文件塞满这个分区 | 建议ext4,按需求更改 |
/分区(根分区) | 所有的文件都从这里开始,你可以比喻为Windows的C盘,但其实有区别。如果你有大量的数据在根目录下(比如FTP等)可以划分大一点的空间 | 建议15G以上。看需求,根分区和home分区的大小就类似C盘和D盘的空间分布一样,主要占空间在哪儿就在那里分大容量 | 建议ext4,按需求更改 |
swap分区 | 类似于Windows的虚拟内存,在内存不够用时占用硬盘的虚拟内存来进行临时数据的存放,而对于linux就是swap分区 | 建议是物理内存大小的2倍,比如你电脑是4G的物理内存,swap分区可以是8G | swap格式 |
home分区(尽可能大。存放个人数据用,免得重装后数据没了) | 存放用户数据,HOME的结构一般是 HOME/userName/userFile,如果不分则默认在/目录下 | 如果用户数据多可以将此分区适当增大,请参考“根分区”分区建议;一般硬盘的主要容量几乎都在Home分区和根分区下 | 建议ext4,按需求更改 |
var分区(1G左右) | 用于log日志的文件的存放,如果不分则默认在/目录下 | 如果你安装的linux是用于服务器或者经常做日志分析,请划分var分区,避免日志文件不断膨胀塞满导致根分区而引发问题。 | 建议ext4,按需求更改 |
3.linux下查看分区信息和剩余空间大小
1.查看Linux系统分区信息,使用命令“fdisk -l” 2.使用命令”df -l和df -h“具体查看分区使用状况。实际这两个命令具有一样的作用区别是显示的容量单位不一样
四、文件与文件夹(目录)
什么是文件? 一般都是一个独立的东西,可以通过一些特定的工具进行打开,并且其中不能在包含除了文字以外的东西。 例如:什么是文件夹? 可以在其中包含其他文件的东西。
为什么先讲文件? 1:日常运维工作中,有近一半以上的工作内容 精力 其实都是对文件的操作。 2: Linux 本身也是一个基于文件形式表示的操作系统。
Linux一切皆文件。 ①在windows是文件的,在Linux下同样也是文件; ②在windows不是文件的,在Linux下也是以文件的形式存储的;
日常学习中和日常工作中,对于文件的操作的都有哪些种类? 创建文件、编辑文件、保存文件、关闭文件、重命名文件、删除文件、恢复文件。
五、Linux系统的文件目录结构
Bin | 全称binary,含义是二进制。该目录中存储的都是一些二进制文件,文件都是可以被运行的。 |
---|---|
Dev | 该目录中主要存放的是外接设备,例如盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载(类似windows下的分配盘符)。 |
Etc | 该目录主要存储一些配置文件。 |
Home | 表示“家”,表示除了root用户以外其他用户的家目录,类似于windows下的User/用户目录。 |
Proc:process | 表示进程,该目录中存储的是Linux运行时候的进程。 |
Root | 该目录是root用户自己的家目录。 |
Sbin | 全称super binary,该目录也是存储一些可以被执行的二进制文件,但是必须得有super权限的用户才能执行。 |
Tmp | 表示“临时”的,当系统运行时候产生的临时文件会在这个目录存着。 |
usr | 存放的是用户自己安装的软件。类似于windows下的program files。 |
var | 存放的程序/系统的日志文件的目录。 |
Mnt | 当外接设备需要挂载的时候,就需要挂载到mnt目录下。 |
六、目录结构与磁盘管理
文件系统是操作系统用于在外部存储设备(主要是硬盘)上组织文件的机制。 Linux没有“盘符”的概念,通过一个整体的目录树来组织文件。以下是常见目录及作用:
/ | 系统根目录 |
---|---|
/usr | 用户的程序,配置等信息 |
/bin | 存放常用命令的目录,和/sbin目录存放系统最核心的命令 |
/home | 主目录,所有用户主目录都会在此目录下,以用户名命名 |
/sbin | 超级用户root才能使用的命令所在目录 |
/lib | 系统动态链接共享库 |
/boot | root用户的主目录 |
/etc | 系统配置文件以及一些程序的配置文件都在此目录 |
/dev | 外接设备会映射为此目录下的一个文件 |
/media | 把系统自动识别的u盘,光盘等挂载到此目录下 |
/proc | 一个虚拟目录,是系统内存的映射,可以获取系统以及进程的信息 |
/sys | 一个虚拟目录,把硬件设备映射成文件,可以通过文件控制硬件 |
/lost found | 一般为空,系统异常关机时会有一些信息存入此目录 |
/var | 存放一些不断变化增长的东西(如日志文件) |
/usr/bin | 用户程序目录 |
/usr/sbin | 需要超级用户权限运行的程序所在的目录 |
/tmp | 存放临时文件的目录 |
七、如何挂载外部设备(例如U盘)
linux下如果没有图形界面的情况下就要通过命令来挂载U盘 1.插入U盘 2.sudo fdisk -l(需要获取root权限) 查看所挂载盘符名称,假设盘符名称为sdc1 3.建立挂靠文件夹 cd / mkdir /mnt 4.挂载U盘 #将我们的U盘即/dev/sdc1挂载到/mnt下 mount /dev/sdc1 /mnt 5.卸载U盘 umount /dev/sdc1 或 umount /mnt
注意:U盘或移动硬盘文件格式与Linux系统会有兼容性的问题 FAT/FAT32/NTFS 在挂载文件格式为NTFS格式的移动硬盘或U盘时,会报如下错误 mount 未知的文件系统类型“ntfs” 2020 请自动百度解决
1.企业中服务器品牌DELL R7300,其硬盘总容量为300G,现需要安装CentOS7 Linux操作系统,请问如何分区?
/ | 根分区,40G左右 |
---|---|
/boot | 操作系统的内核和在启动系统过程中所要用到的文件,60MB—120MB之间 |
/swap | 交换分区,机器内存的两倍 |
/usr | 存放系统和个人软件的地方,100G左右 |
/var/log | 系统日志记录分区,1G足以 |
/tmp | 用来存放临时文件,5G左右 |
/op | 附加程序存放地方,1G左右 |
/bin | 存放标准系统实用程序,1G左右 |
/home | 私人文件,剩下存储的都存放在这里 |
2.GNU与GPL的区别是什么?
GNU是一个自由的操作系统,其内容软件完全以GPL方式发布,名称来自GNU's Not Unix!的递归缩写 GPL,是GNU General Public License的缩写,GNU通用公共许可协议
3.Linux内核显示:3.10.0-327.36.3.el7.x86_64,分别说出点号分割的每个数字及字幕的含义?
3 | 当前内核主版本号,偶数为稳定版 |
---|---|
10 | 当前内核次版本号,偶数为稳定版 |
0-327 | 就是修补的次数 |
36 | |
el7 | el7是RHEL7系列的 |
x86_64 | x86_64代表这是64bit的系统 |
4.如何在Linux系统/tmp目录下快速创建1000个目录、目录名为test1、test2、test3…
代码语言:javascript复制mkdir test{1..1000}
附录: 1.安装依赖gcc,不然软件编译 yum -y install gcc wget https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2017.3.23.tgz 2.解压,配置,编译,安装 tar zxvf ntfs-3g_ntfsprogs-2017.3.23.tgz cd ntfs-3g_ntfsprogs-2017.3.23/ ./configure make make install 3.使用 一定要搞清楚自己的移动硬盘对应的设备,否则挂载失败!!! 查看设备 fdisk -l 自己的移动硬盘对应设备/dev/sdc1 开始挂载 mount -t ntfs-3g /dev/sdc1 /mnt 现在进入/mnt目录,即是移动硬盘的根目录