Linux

Eric讨论 | 贡献2021年12月20日 (一) 16:01的版本

Linux是一种自由和开放源码的类UNIX操作系统。Linux 是 Linus's UNIX 的缩写。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU 通用公共许可证(GPL),任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。大多数人都是直接使用Linux 发行版,而不是自己选择每一样组件或自行设置。

Linux严格来说是单指操作系统的内核,如今Linux常用来指基于Linux的完整操作系统,包括Linux内核和Linux发行版的许多应用程序和工具。Linux发行版包含Linux内核和支撑内核的实用程序和库,通常还带有大量可以满足各类需求的应用程序。

通常情况下,Linux被打包成供个人计算机和服务器使用的Linux发行版,一些流行的主流Linux发布版,包括Debian(及其派生版本Ubuntu、Linux Mint)、Fedora(及其相关版本Red Hat Enterprise Linux、CentOS)和openSUSE等。由于Linux是自由软件,任何人都可以创建一个符合自己需求的Linux发行版。

简介

时间轴

  • 1991年,Linus Torvalds在赫尔辛基大学时,他对MINIX只允许在教育上使用很不满,于是开始写自己的操作系统,
  • 1991年8月25日,公开发布。
  • 1991年9月,Linux的第一个版本(0.01)被大学FTP server管理员Ari Lemmke发布在Internet上,仅有10,239行代码,当时名称为“Freax”,FTP服务器管理员嫌原名称不好听,把这个内核名称改为Linux。
  • 1991年10月5日,0.02版本的内核发布。
  • 1994年3月14日,Linux 1.0.0发布,共176,250行代码。
  • 1996年6月9日,发布了 Linux内核2.0版本。
  • 2003年12月17日, 发布 Linux 内核2.6.0,共5,929,913行代码。
  • 2011年7月21日,发布 Linux 内核3.0。
  • 2013年6月,发布的Linux内核版本3.10包含15,803,499行代码。

了解更多 >> 维基百科:Linux内核 - 历史 维基百科:Linux历史


Linux发行版

  • Ubuntu
  • Debian
  • openSUSE
  • Red Hat

安装使用

在电脑上安装

  • 下载一个Linux发行版,如UbuntuCentos等。
  • 刻录到U盘
  • 安装到电脑或直接从U盘使用

在虚拟机安装

  • 下载一个Linux发行版,如UbuntuCentos等。
  • 使用虚拟机中安装(如:VMware Workstation)

云服务器

  • 购买一个云服务器,如:
    • 阿里云的云服务器 ECS
    • 腾讯云的云服务器 CVM
    • Amazon AWS
  • 有多种Linux版本供选择,选择配置后,会自动安装并启动。

系统架构

drawio: Linux架构


Linux 系统可以粗糙地抽象为3个层次:

名称 描述
系统内核
Kernel
命令解释层
Shell
在计算机中shell指用户接口(或用户界面)。一般来说,这个词是指操作系统中提供访问内核所提供之服务的程序。shell也用于泛指提供程序和用户交互的层面。通常将shell分为两类,命令行界面(CLI)和图形用户界面(GUI)。

常见Linux shell:
Bash:Linux上默认的shell,是Unix shell的一种,在1987年由布莱恩·福克斯为了GNU计划而编写。
应用

桌面环境

桌面环境(Desktop environment),也称桌面管理器。常见桌面环境:

名称 描述 作为默认桌面环境
GNOME Ubuntu 17.10-
KDE
Xfce
LXDE

了解更多 >> 维基百科:桌面环境



软件管理

软件包管理

派系 常见发行版 包格式 基础工具 常用上层工具
Debian系 Debian、Ubuntu .deb dpkg apt、apt-get、aptitude
Red Hat系 Red Hat、CentOS、Fedora .rpm rpm yum、dnf

了解更多 >> Debian手册:Debian 软件包管理 Debian手册:软件包制作教程


用户管理

Linux系统是多用户系统,基于用户身份来控制他们对资源的访问,可以将用户分组管理以简化访问控制,以避免为众多用户分别设置权限。

超级用户

在 Linux 中,超级用户称为 root。root 用户可以控制所有的程序,访问所有文件,使用系统上的所有功能。对 root 用户来说没有不可以做的事情。就管理的角度而言,root 的权限是至高无上的。所以,root 帐号一定要通过安全的密码保护起来,这一点非常重要。您不应该使用 root 身份来处理日常的事务。

其他用户也可以被赋予 root 特权,但一定要谨慎行事。通常您可以配置一些特定的程序由某些用户以 root 身份去运行,而不必赋予他们 root 权限。

创建新用户

添加用户的命令是 useradd

 useradd 参数 用户名
参数说明:
-c comment 添加注释。


示例:
#添加一个名称为user的用户
useradd user
#给名称为user的用户设置密码
passwd user

useradd -c "normal user" -g users

文件系统

Linux 日志

网络

远程登录

Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器。这时我们就需要远程登录到Linux服务器来管理维护系统。Linux系统中是通过ssh服务实现的远程登录功能,默认ssh服务端口号为 22。 在Windows系统上登录:

  • Putty 命令行
  • WinSCP 使用的 SSH 的开源图形化 SFTP 客户端。同时支持 SCP 协议。主要用于文件传输和文本编辑。
  • SecureCRT
  • SSH Secure Shell

在手机上登录:

  • Termius

备份与恢复

环境变量

环境变量(environment variables),


资源

官网

相关网站

书籍

  • 《The Linux Command Line》

参考资料