Ubuntu背景知识及系统目录结构详解

Ubuntu作为一种基于Linux内核的开源操作系统,拥有着丰富的历史和强大的功能。其系统目录结构则是其运行和管理的基础,深入理解这些结构可以帮助用户更好地管理和定制自己的系统。让我们一起深入探索Ubuntu的背景知识以及系统目录结构。

一、文件系统

采用统一的目录树结构,每个用户都有一个对应的目录。然而,存在一个特例,即超级用户root,其用户目录为/root。

权限机制:普通用户仅能操作其用户目录下的文件和目录,而root用户则没有此类限制,可以自由操作系统中的任意文件和目录。

二、操作系统

1、未安装操作系统的计算机通常被称为裸机:

  • 在裸机上运行自己编写的程序需要使用机器语言编写;
  • 若计算机上安装了操作系统,则可以在操作系统上安装支持的高级语言环境,并使用高级语言开发程序。

Ubuntu背景知识

2、操作系统的作用:

  • 是现代计算机系统中最基本和重要的系统软件,相当于配置在计算机硬件上的第一层软件,是对硬件系统的首次扩展;
  • 主要作用是管理硬件设备,并为用户和应用程序提供一个简单的接口,以便调用。

3、主流操作系统:

桌面操作系统:

  • Windows系列:用户群体广泛;
  • macOS(基于Unix):适合开发人员;
  • Linux:应用软件相对较少。

服务器操作系统:

  • Linux:安全、稳定、免费、市场占有率高;
  • Windows Server:付费、市场占有率低。

嵌入式操作系统:Linux。

移动设备操作系统:

  • 苹果iOS;
  • 谷歌Android(基于Linux)。

三、虚拟机

虚拟机(Virtual Machine)是通过软件模拟的具有完整硬件系统功能的完整计算机系统,运行在一个完全隔离的环境中。

  • 虚拟系统生成现有操作系统的全新虚拟镜像,具有与真实操作系统完全相同的功能;
  • 进入虚拟系统后,所有操作都在这个全新的独立虚拟系统中进行,可以独立安装运行软件、保存数据,并拥有自己的独立桌面,不会对真正的系统产生任何影响。同时,能够在现有系统与虚拟镜像之间灵活切换。

四、发展史

1、Unix

  • 在大型主机能提供的终端数量有限的情况下,为解决数量不足的问题,贝尔实验室于1965年与麻省理工学院和通用电气合作,计划建立一个名为MULTICS的多用户、多任务、多层次操作系统。然而,该项目进度缓慢,资金短缺,1969年贝尔实验室退出了研究;
  • 1969年,Ken Thompson从MULTICS项目中退出,使用汇编语言编写了Unix操作系统的原型。随后,他与Dennis M、Ritchie合作开发Unix;
  • 1973年,C语言的出现使Unix具有了强大的移植性,使得Unix能够轻松地移植到其他类型的计算机上使用。

2、Unix家谱

Ubuntu背景知识

(1)Minix

  • 由于 AT&T(通用电气)的政策变更,Version 7 Unix 发布后,其使用条款将 UNIX 源代码设为私有,导致大学无法继续使用 UNIX 源代码;
  • 为了在课堂上教授操作系统的运作,Andrew S、Tanenbaum 教授决定自行开发一个与 UNIX 兼容的操作系统,避免版权问题。他以“小型 UNIX(mini-UNIX)”的简称将其命名为 MINIX。

(2)Linux

  • 1991 年,林纳斯(Linus)在赫尔辛基大学期间,使用 GNU 的 bash 作为开发环境,gcc 作为编译工具,编写了 Linux 内核。最初 Linux 并不能直接兼容 Unix,即 Unix 上的应用程序不能直接在 Linux 上运行,这是因为应用程序与内核之间的接口不一致;
  • 一开始,Linux 只适用于 386 处理器,但后来在全球网友的帮助下,最终能够兼容多种硬件。

(3)Linux内核及发行版

Linux内核版本:

内核(kernel)是系统的核心,负责运行程序和管理硬件设备,如磁盘和打印机。它提供了一个抽象层,位于裸设备和应用之间。Linux 内核版本分为稳定版和开发版,两者相互关联并持续循环更新:

  • 稳定版:具有工业级强度,广泛部署应用;
  • 开发版:变化迅速,用于测试各种解决方案。
  • 内核源码网址:http://www.kernel.org

Linux发行版本:

  • Linux 发行版(常称为 GNU/Linux 发行版)通常包括桌面环境、办公套件、媒体播放器、数据库等应用软件;
  • 常见的发行版本有:Ubuntu、Redhat、Fedora、openSUSE、Linux Mint、Debian、Manjaro、Mageia、CentOS、Arch 等。

Ubuntu背景知识

(4)Linux的应用领域

服务器领域:

  • Linux 在服务器领域占据重要地位;
  • 其免费、稳定、高效的特性使其在高端领域尤为广泛应用。

嵌入式领域:

  • Linux 在嵌入式领域的应用也日益增多;
  • 其运行稳定性、对网络的良好支持、低成本以及可裁剪性(最小可至几百 KB)使其在此领域得到广泛应用。

个人桌面领域:

  • 这是传统 Linux 应用较为薄弱的环节;
  • 虽然传统 Linux 因其界面简单、操作复杂、应用软件少而受到限制,但随着 Ubuntu、Fedora 等优秀桌面环境的兴起以及硬件厂商的支持加大,Linux 在个人桌面领域的占有率正在逐渐提高。

(5)Linux主要目录速查表

1)/:根目录:

  • 一般根目录下只存放目录,在 linux 下有且只有一个根目录,所有的东西都是从这里开始;
  • 当在终端里输入 /home,其实是在告诉电脑,先从 /(根目录)开始,再进入到 home 目录。

2)/bin、/usr/bin:可执行二进制文件的目录,如常用的命令 ls、tar、mv、cat 等,存在一些二进制的命令。

3)/boot:放置 linux 系统启动时用到的一些文件,如 linux 的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub

4)/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt

5)/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,(与服务器配置有关的文件都在此目录下)重要的配置文件有:

  • /etc/inittab
  • /etc/fstab
  • /etc/init.d
  • /etc/X11
  • /etc/sysconfig
  • /etc/xinetd.d

6)/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下。

  • ~ 表示当前用户的家目录
  • ~edu 表示用户 edu 的家目录

7)/lib、/usr/lib、/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。

8)/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下

9)/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。

10)/opt:给主机额外安装软件所摆放的目录。

11)/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的文件有:/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。

12)/root:系统管理员root的家目录。

13)/sbin、/usr/sbin、/usr/local/sbin:放置系统管理员使用的可执行命令,如 fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root 使用的命令,一般用户只能"查看"而不能设置和使用。

14)/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。

15)/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。

16)/usr:应用程序存放目录。

17)/usr/bin:存放应用程序。

18)/usr/share:存放共享数据。

19)/usr/lib:存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。

20)/usr/local:存放软件升级包。

21)/usr/share/doc:系统说明文件存放目录。

22)/usr/share/man:程序说明文件存放目录。

23)/var:放置系统执行过程中经常变化的文件。

24)/var/log:随时更改的日志文件。

25)/var/spool/mail:邮件存放的目录。

26)/var/run:程序或服务启动后,其 PID 存放在该目录下。

广告合作
QQ群号:707632017
标签:

温馨提示:

1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。

2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。

热门教程

  • Z-Blog教程
    Z-Blog教程
    ZBlog教程分享ZBlog安装教程、ZBlog建站教程和ZBlog使用教程等相关教程,包括如何创建...
  • WordPress教程
    WordPress教程
    WordPress教程提供了关于WordPress的基础知识和技巧,包括安装、设置、发布内容、选择主...
  • 宝塔面板教程
    宝塔面板教程
    宝塔面板教程是一个致力于向用户传授宝塔面板的使用技巧和知识的学习资源,旨在帮助用户快速上手和充分利用...
  • Shopify教程
    Shopify教程
    Shopify教程提供了关于Shopify平台的基本知识和操作指南,包括商店设置、商品管理、订单处理...
  • PHP教程
    PHP教程
    PHP教程提供了关于PHP语法、变量、函数、流程控制等概念的详细指导,同时介绍了常见的Web开发技术...

3个月免费VPS

亚马逊云科技

阿里云