Linux
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
安装使用
在电脑上安装
在虚拟机安装
云服务器
- 购买一个云服务器,如:
- 阿里云的云服务器 ECS
- 腾讯云的云服务器 CVM
- Amazon AWS
- 有多种Linux版本供选择,选择配置后,会自动安装并启动。
系统架构
Linux 系统可以粗糙地抽象为3个层次:
- 底层是系统内核(Kernel);
- 中间层是 Shell 层,即命令解释层;
- 高层则是应用层。
内核
Shell
在计算机中shell指用户接口(或用户界面)。一般来说,这个词是指操作系统中提供访问内核所提供之服务的程序。shell也用于泛指提供程序和用户交互的层面。通常将shell分为两类,命令行界面(CLI)和图形用户界面(GUI)。
Linux上默认的shell是Bash,Bash是Unix shell的一种,在1987年由布莱恩·福克斯为了GNU计划而编写。
应用
软件管理
软件包管理
派系 | 常见发行版 | 包格式 | 基础工具 | 常用上层工具 |
---|---|---|---|---|
Debian系 | Debian、Ubuntu | .deb | dpkg | apt、apt-get、aptitude |
Red Hat系 | Red Hat、CentOS、Fedora | .rpm | rpm | yum、dnf |
用户管理
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系统上登录:
在手机上登录:
- Termius
备份与恢复
环境变量
环境变量(environment variables),
资源
官网
相关网站
书籍
- 《The Linux Command Line》