什么是linux

一套免费使用和自由传播的类似Unix操作系统,一般的WEB项目都是部署都是放在Linux操作系统上面。

Unix和Linux有什么区别?

  1. Linux是一款开源操作系统,不需要付费。Unix是一款对源码实行知识产权保护的传统商业软件,使用需要付费授权使用。
  2. 跨平台性, Linux操作系统具有良好的跨平台性能
  3. 可视化界面

什么是 Linux 内核?

Linux 系统的核心是内核。内核控制着计算机系统上的所有硬件和软件,在必要时分配硬件,并根据需要执行软件

  • 系统内存管理
  • 应用程序管理
  • 硬件设备管理
  • 文件系统管理

Linux 的体系结构

用户空间

  • 应用程序
  • C 库

内核空间

  • 内核
  • 系统调用接口
  • 平台架构相关的代码

    a.png

Linux 使用的进程间通信方式?

1、管道(pipe)、流管道(s_pipe)、有名管道(FIFO)。
2、信号(signal) 。
3、消息队列。
4、共享内存。
5、信号量。
6、套接字(socket) 。

什么是交换空间?

交换空间是Linux使用的一定空间,用于临时保存一些并发运行的程序。当RAM没有足够的内存来容纳正在执行的所有程序时,就会发生这种情况。

什么是root帐户

root帐户就像一个系统管理员帐户,允许你完全控制系统。你可以在此处创建和维护用户帐户,为每个帐户分配不同的权限。每次安装Linux时都是默认帐户。

什么是LILO?

LILO是Linux的引导加载程序。将Linux操作系统加载到主内存中

什么是CLI?

命令行界面 command-line interface。命令行界面要较图形用户界面节约计算机系统的资源

什么是GUI?

图形用户界面Graphical User Interface

Linux 文件系统?

普通文件
源代码、可执行程序、图片、声音、图像等

目录文件
用于表示和管理系统中的文件 /root /home

链接文件

链接文件**
用于访问硬件设备

命名管道(FIFO)
可用于进程之间的通信

Linux 的目录结构是怎样的?

/bin
存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里;
/etc
存放系统管理和配置文件;
/home
存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示;
/usr
用于存放系统应用程序;
/opt
额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里;
/proc
虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;
/root
超级用户(系统管理员)的主目录(特权阶级);
/sbin
存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等;
/dev
用于存放设备文件;
/mnt
系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;
/boot
存放用于系统引导时使用的各种文件;
/lib
存放着和系统运行相关的库文件 ;
/tmp
用于存放各种临时文件,是公用的临时文件存储点;
/var
用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等;
/lost+found
这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里

什么是硬链接和软链接?

硬连接

  • ln file link
  • 硬链接和源文件的inode节点号相同,两者互为硬链接
  • 相同inode节点号的多个文件互为硬链接文件,只有删除了源文件和所有对应的硬链接文件,文件实体才会被删除;

    软连接

  • ln -s file link

  • 软连接和源文件的inode节点号不同,进而指向的block也不同,软连接block中存放了源文件的路径名。
  • 删除源文件,软链接依然存在,但无法访问源文件内容;


    硬链接不可以跨分区,软链接可以跨分区。

    buffer和cache

    buffer和cache都是内存中的一块区域,当CPU需要写数据到磁盘时,由于磁盘速度比较慢,所以CPU先把数据存进buffer,然后CPU去执行其他任务,buffer中的数据会定期写入磁盘;当CPU需要从磁盘读入数据时,由于磁盘速度比较慢,可以把即将用到的数据提前存入cache,CPU直接从Cache中拿数据要快的多。

开机过程

  • 主机加电自检,加载 BIOS 硬件信息。
  • 读取 MBR 的引导文件(GRUB、LILO)。
  • 引导 Linux 内核。
  • 运行第一个进程 init (进程号永远为 1 )。
  • 运行终端,输入用户名和密码。