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

news2024/12/28 19:48:10

目录

一、Linux发展史

1.Linux前身-Unix

2.Linux诞生

3.开源文化

4.Linux系统特点

5.Linux操作系统优点

6.Linux操作系统发行版

7.Linux内核命名规则

二、Linux系统的安装

三、linux系统分区简介及如何分区

1.自动分区

2.手动分区

3.linux下查看分区信息和剩余空间大小

五、Linux系统的文件目录结构

六、目录结构与磁盘管理

七、如何挂载外部设备(例如U盘)

1.企业中服务器品牌DELL R7300,其硬盘总容量为300G,现需要安装CentOS7 Linux操作系统,请问如何分区?

2.GNU与GPL的区别是什么?

3.Linux内核显示:3.10.0-327.36.3.el7.x86_64,分别说出点号分割的每个数字及字幕的含义?

4.如何在Linux系统/tmp目录下快速创建1000个目录、目录名为test1、test2、test3…


一、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 命令用于查看系统内核与系统版本等信息

     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分区可以是8Gswap格式
home分区(尽可能大。存放个人数据用,免得重装后数据没了)存放用户数据,HOME的结构一般是 HOME/userName/userFile,如果不分则默认在/目录下如果用户数据多可以将此分区适当增大,请参考“根分区”分区建议;一般硬盘的主要容量几乎都在Home分区和根分区下建议ext4,按需求更改
var分区(1G左右)用于log日志的文件的存放,如果不分则默认在/目录下如果你安装的linux是用于服务器或者经常做日志分析,请划分var分区,避免日志文件不断膨胀塞满导致根分区而引发问题。建议ext4,按需求更改

3.linux下查看分区信息和剩余空间大小

1.查看Linux系统分区信息,使用命令“fdisk -l”
2.使用命令”df -l和df -h“具体查看分区使用状况。实际这两个命令具有一样的作用区别是显示的容量单位不一样

四、文件与文件夹(目录)

什么是文件?
一般都是一个独立的东西,可以通过一些特定的工具进行打开,并且其中不能在包含除了文字以外的东西。

例如:什么是文件夹?
可以在其中包含其他文件的东西。

d71b5062f9df4157904a80b2d4f9331a.png

为什么先讲文件?
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  系统动态链接共享库
/bootroot用户的主目录
/etc系统配置文件以及一些程序的配置文件都在此目录
/dev外接设备会映射为此目录下的一个文件
/media 把系统自动识别的u盘,光盘等挂载到此目录下
/proc 一个虚拟目录,是系统内存的映射,可以获取系统以及进程的信息
/sys一个虚拟目录,把硬件设备映射成文件,可以通过文件控制硬件
/lost+found一般为空,系统异常关机时会有一些信息存入此目录
/var存放一些不断变化增长的东西(如日志文件)
/usr/bin用户程序目录
/usr/sbin需要超级用户权限运行的程序所在的目录
/tmp存放临时文件的目录

56bebe7bb0a44730af3ae28e6e234e88.png  7e30b255fd8d48e3ba795e94173202fc.png

七、如何挂载外部设备(例如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
el7el7是RHEL7系列的
x86_64x86_64代表这是64bit的系统

4.如何在Linux系统/tmp目录下快速创建1000个目录、目录名为test1、test2、test3…

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

f3e593d62327407186ea0682ae0ce80e.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/736893.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32CubeMX安装

一、配置JAVA环境 1.相关资料链接 链接: CubeMX 提取码:13ec 双击改exe文件。 2.更改默认的安装路径 3.在该exe文件同等目录下,新建一个JAVA-Enviroment文件夹。 选择更改安装路径,放在刚才新建的JAVA-Enviroment文件夹中。 4.等待安装完…

RabbitMQ - 单机部署(超详细)

RabbitMQ部署 1.单机部署 我们在Centos7虚拟机中使用Docker来安装。 1.1.下载镜像 方式一:在线拉取 docker pull rabbitmq:3-management方式二:从本地加载 也可以从网上搜索 RabbitMQ 的 tar 包下载下来 上传到虚拟机中后,使用命令加载…

2023高校夏令营 | 第七年,我们又开营啦!

进入7月,成都的天气就不再像之前那样温和,迎接我们的是热浪滔天,以及一场场猝不及防的高温暴雨。如同当下的毕业季,脱离校园庇护的应届生们涌入就业市场,开始应对来自社会、职场的各种风雨考验。 为了加快推进产教融合…

js深拷贝、js使用递归实现深拷贝

相信看到这篇文章之前你应该多多少少了解过什么是深拷贝了为什么要什么拷贝了 这里就不介绍什么是深拷贝、浅拷贝了 最优解深拷贝方法:递归 这里为了方便直接在vue的页面里面演示了,在其他js文件中使用注意下this mounted() {const obj {str: "字…

实战解决百度旋转验证码

1、效果演示 2、如何识别 2.1准备数据集 首先需要使用爬虫,对验证码图片进行采集,尽量每一种类型都要采集到。 2.2图像矫正 接下来对采集的数据进行人工校正 2.3数据清洗 (1)对数据进行进行旋转,达到增加数据量的目…

44. 日期交叉问题

文章目录 题目需求思路一实现一原理二实现二学习链接题目来源 题目需求 现有各品牌优惠周期表(promotion_info)如下,其记录了每个品牌的每个优惠活动的周期,其中同一品牌的不同优惠活动的周期可能会有交叉。 现要求统计每个品牌…

聊一聊Java中的Steam流 | 京东物流技术团队

1 引言 在我们的日常编程任务中,对于集合的制造和处理是必不可少的。当我们需要对于集合进行分组或查找的操作时,需要用迭代器对于集合进行操作,而当我们需要处理的数据量很大的时候,为了提高性能,就需要使用到并行处…

Golang内存分配及垃圾回收

为什么需要垃圾回收? 自动释放不需要的对象,让出存储器资源,无需程序员手动执行 Go V1.3之前是标记-清除算法 具体步骤 缺点:程序卡顿、扫描整个heap、数据清除会产生heap碎片 V1.3之后,做了简单的优化 V1.5之后&a…

AIFORE Smart Fuzzing Based on Automatic Input Format Reverse Engineering

AIFORE: Smart Fuzzing Based on Automatic Input Format Reverse Engineering 1 中国科学院信息工程研究所2清华大学网络科学与网络空间研究院;中关村实验室3华为技术有限公司奇异安全实验室4中国科学院大学网络安全学院5中国人民大学6洛桑联邦理工学院 论文链接 &#xff1a…

PHP实战开发26-使用PHP生成图片验证码并进行校验

文章目录 一、前言二、什么是验证码?三、PHP生成验证码图像3.1 生成验证码文字3.2 创建图像并绘制验证码文字3.3 将验证码存储到Session中 四、前端使用jQuery验证输入4.1 步骤一:创建HTML结构和CSS样式4.2 使用jQuery发送AJAX请求进行校验4.3 步骤三&am…

Head Pose Estimation头部姿态估计任务的基本了解:从数据集开始

目录 前言一、HPE是什么?二、常用数据集1.COFW2.WFLW3.AFLW2000-3D4.300W-LP 三、SOTA workCVPR2022:SynergyNetCVPR2021 Workshop:ASMNet 四、我们想做的贡献 前言 为了检测司机的疲劳状态,除了基于人脸关键点的检测去判断是否闭眼,是否打哈…

基础算法-差分

差分其实就是求前缀和的逆运算 差分数组: Step1 首先给定一个原数组a:a[1], a[2], a[3],,,,,, a[n]; 然后我们构造一个数组b : b[1] ,b[2] , b[3],,,,,, b[i]; 使得 a[i] b[1] b[2 ] b[3] ,,,,,, b[i] 也就是说,a数组是b…

nvm升级node版本

1.首先有安装nvm和配置环境的前提 2、命令查看,切换到D盘目录下 3、安装到指定的版本 nvm安装指定版本的node 输入:nvm install 16.18.1 4、查看已有的node版本 nvm list 5、项目终端查看

【uniapp开发小程序】实现点击跳转手机通话 拨打电话功能

效果图&#xff1a; 代码展示&#xff1a; <template><view class"page-map"><view class"btn" click"telFun()" style"text-align: center;">电话咨询</view></view> </template> <script&g…

如何使用idea来查找所有未使用的代码?

一、目的 通过idea快速找到项目中没有被使用的代码 二、操作步骤 2.1 Code -> Analyze Code -> Run Inspection by Name 2.2 输入Unused declaration -> 查询没有被使用的方法和类 2.3 选择要扫描的范围 2.4 根据结果进行删除&#xff08;反复几次就可以清除干净&a…

如何获取局域网内海康摄像头的IP地址

文章目录 问题解决方法图像分类网络AlexNetVGGNetGooLeNet系列ResNetDenseNetSwin TransformerMAECoAtNetConvNeXtV1、V2MobileNet系列MPViTVITSWAEfficientNet系列MOBILEVITEdgeViTsMixConvRepLKNetTransFGConvMAEMicroNetRepVGGMaxViTMAFormerGhostNet系列DEiT系列MetaFormer…

linux 写c, 编译报错 stdio.h: No such file or directory,compilation terminated.

环境: windows11->subsystem(Ubuntu20)问题: linux 写c, 编译报错如图(fatal error: stdio.h: No such file or directory │compilation terminated. #include <stdio.h>) 复现: #include <stdio.h>int main() {printf("gcc编译报错: \n")return 0;…

产研融合共育人才 金山云“星云训练营”顺利开营

盛夏之日&#xff0c;万物并秀&#xff01;在莘莘学子告别校园、踏入社会的毕业季&#xff0c;金山云第一期星云训练营于7月9日在武汉隆重开营。金山云星云训练营承载着“技术立业”的企业基因&#xff0c;旨在助力学子提升专业技能&#xff0c;掌握前沿技术&#xff0c;为国家…

(02)Cartographer源码无死角解析-(78) ROS数据发布→子图内、子图间、约束与残差发布

讲解关于slam一系列文章汇总链接:史上最全slam从零开始&#xff0c;针对于本栏目讲解(02)Cartographer源码无死角解析-链接如下: (02)Cartographer源码无死角解析- (00)目录_最新无死角讲解&#xff1a;https://blog.csdn.net/weixin_43013761/article/details/127350885 文…

requestAnimationFrame(请求动画帧)

前言 在Web应用中&#xff0c;实现动画效果的方法比较多&#xff0c;Javascript 中可以通过定时器 setTimeout 来实现&#xff0c;css3 可以使用 transition 和 animation 来实现&#xff0c;html5 中的 canvas 也可以实现。除此之外&#xff0c;html5 还提供一个专门用于请求…