第三章:Linux简介及面试常问问题

2023-10-17 16:05:27 浏览数 (1)

一、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目录,即是移动硬盘的根目录

0 人点赞