Linux

什么是linux

linux是一套免费使用和自由传播的类Unix操作系统,是一个基于posix和unix的多用户、多任务、支持多线程和多cpu的操作系统。它能运行主要的unix工具软件、应用程序和网络协议。它支持32位和64位硬件。继承了unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统

unix和linux有什么区别

linux和unix都是功能强大的操作系统,都是应用广泛的服务器操作系统,有很多相似之处,甚至有一部分人错误的认为unix和linux操作系统是一样的。两者的区别如下:

  • 开源性:linux是一款开源系统;unix是一款对源码实行知识产权保护的传统商业软件,使用需要付费授权。
  • 跨平台性:linux操作系统具有良好的跨平台性能,可运行在多种硬件平台上;unix操作系统跨平台性能较弱,大多需要与硬件配套使用
  • 可视化界面:linux除了运行命令行操作,还有可视化桌面;unix只是命令行下的系统
  • 硬件环境:linux操作系统对硬件的要求较低,安装方法更易掌握;unix对硬件要求比较苛刻,安装难度较大。
  • 用户群体:linux的用户群体广泛,个人和企业均可使用;unix的用户群体比较窄,多是安全性要求较高的大型企业使用,如银行、电信部门等,或者unix硬件厂商使用,如sun等。相比unix操作系统,linux操作系统更受欢迎,主要是因为linux有unix的全部功能,并且可以在普通pc上实现unix的全部特性,并且免费。

    什么是linux内核

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

  • 系统内存管理

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

    linux的基本组件是什么

    就像任何其他典型的操作系统一样,linux拥有这些组件:内核、shell和GUI,系统实用程序和应用程序。linux比其他操作系统更具优势的是每个方面都附带其他功能,所有代码都可以免费下载。

    linux的体系结构

    从大的方面讲,linux体系结构可以分为两块:

  • 用户空间(user space):用户空间又包括用户的应用程序(user application)、C库(C library)

  • 内核空间(kernel space):内核空间又包括系统调用接口(system call interface)、内核(kernel)、平台架构相关的代码(architecture-dependent kernel code)

为什么linux体系结构要分为用户空间和内核空间的原因

  • 现代cpu实现了不同的工作模式,不同模式下cpu可以执行的指令和访问的寄存器不同
  • linux从cpu的角度触发,为了保护内核安全,把系统分成了两部分。用户空间内核空间是程序执行的两种不同状态,我们可以通过两种方式完成用户空间到内核空间的转移:1)系统调用;2)硬件中断

    bash和dos之间的基本区别是什么

    bash和dos控制台之间的主要区别在于3个方面:

  • bash命令区分大小写,而dos命令不区分

  • 在bash下,/ 是目录分隔符, \作为转义字符。在dos下 /用作命令参数分割不,\是目录分隔符
  • 在dos遵循命名文件中的约定,即8个字符的文件名后跟一个点,扩展名为3个字符。bash中没有这样的惯例

    linux开机启动过程

    了解即可

  • 主机加电自检,加载bios硬件信息

  • 读取mbr的引导文件(grub,lilo)
  • 引导linux内核
  • 运行第一个进程init(进程号永远为1)
  • 进入相应的运行级别
  • 运行终端,输入用户名和密码

    linux系统缺省的运行级别

  • 关机

  • 单机用户模式
  • 字符界面的多用户模式(不支持网络)
  • 字符界面的多用户模式
  • 未分配使用
  • 图形界面的多用户模式
  • 重启

    linux使用的进程间通信方式

  • 管道(pipe)、流管道(s_pipe)、有名管道(FIFO)

  • 信号(signal)
  • 消息队列
  • 共享内存
  • 信号量
  • 套接字(socket)

    linux有哪些系统日志文件

    比较重要的是/var/logs/messages 日志文件

    该日志文件是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵。另外,如果系统内有ELK日志集中收集,它也会被收集进去

linux系统安装多个桌面环境有帮助吗

通常一个桌面环境,KDE或Gnome,足以在没有问题的情况下运行。尽管系统允许从一个环境切换到另一个环境,但这对用户来说都是优先考虑的问题。有些程序在一个环境中工作而在另一个环境中无法工作,因此它也可以被视为选择哪一种环境的因素

什么是交换空间

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

什么是root账户

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

什么是LILO

lilo是linux的引导加载程序。它主要用于将linux操作系统加载到内存中,以便它可以开始运行

什么是bash

bash是bourne again shell的缩写。它由steve bourne编写,作为原始bourne shell(由/bin/sh标识)的替代品。它结合了原始版本的bourne shell的所有功能,以及其他功能,使其更容易使用。从那以后,它被改变为运行linux的大多数系统的默认shell

什么是cli

命令行界面(command-line interface)是在图形用户界面得到普及前使用最为广泛的用户界面,它通常不支持书面,用户可以通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为字符用户界面(CUI)
通常认为,命令行界面(CLI)没有图形用户界面(GUI)那么方便用户操作。因为,命令行界面的软件通常需要用户记住操作的指令,但是由于其本身的特点,命令行界面要较图形用户界面节约计算机系统的资源。在熟记命令的前提下,使用命令行界面往往要较使用图形用户界面的操作速度要快。

什么是gui

图形用户界面(graphical user interface),是指采用图形方式显示的计算机操作用户界面。
图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入操作设备操纵屏幕上的图表或菜单选项,以选择命令、调用文件、启动程序或执行其他一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。

开源的优势是什么

让感兴趣的人加入一起帮软件做得更好

GNU项目的重要性是什么

允许将软件副本发布公众,自由的根据自己的需求修改程序。