Linux:修订间差异

无编辑摘要
 
(未显示同一用户的8个中间版本)
第2行: 第2行:


Linux严格来说是单指操作系统的内核,如今Linux常用来指基于Linux的完整操作系统,包括Linux内核和Linux发行版的许多应用程序和工具。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发行版。


==简介==
==简介==
第20行: 第18行:
|[https://zh.wikipedia.org/wiki/Linux历史  维基百科:Linux历史]
|[https://zh.wikipedia.org/wiki/Linux历史  维基百科:Linux历史]
}}
}}
===Linux发行版===
*Ubuntu
*Debian
*openSUSE
*Red Hat


===安装使用===
===安装使用===
第45行: 第37行:


==系统架构==
==系统架构==
{{#drawio:Linux架构}}
Linux 系统可以粗糙地抽象为3个层次:
Linux 系统可以粗糙地抽象为3个层次:
*底层是系统内核(Kernel);
{| class="wikitable"  style="width: 100%;
*中间层是 Shell 层,即命令解释层;
! 名称
*高层则是应用层。
! 描述
===内核===
|-
| 系统内核 <br />Kernel
|
|
|-
| 命令解释层 <br /> Shell  
| 在计算机中shell指用户接口(或用户界面)。一般来说,这个词是指操作系统中提供访问内核所提供之服务的程序。shell也用于泛指提供程序和用户交互的层面。通常将shell分为两类,命令行界面(CLI)和图形用户界面(GUI)。 <br /><br />常见Linux shell:<br />'''Bash''':Linux上默认的shell,是Unix shell的一种,在1987年由布莱恩·福克斯为了GNU计划而编写。
|-
| 应用
|
|}
==发行版==
通常情况下,Linux被打包成供个人计算机和服务器使用的Linux发行版,一些流行的主流Linux发布版,包括[[Debian]](及其派生版本[[Ubuntu]]、Linux Mint)、Fedora(及其相关版本Red Hat Enterprise Linux、[[CentOS]])和openSUSE等。由于Linux是自由软件,任何人都可以创建一个符合自己需求的Linux发行版。


===Shell===
常见发现版本:
在计算机中shell指用户接口(或用户界面)。一般来说,这个词是指操作系统中提供访问内核所提供之服务的程序。shell也用于泛指提供程序和用户交互的层面。通常将shell分为两类,命令行界面(CLI)和图形用户界面(GUI)。
{| class="wikitable"  style="width: 100%;
! 派系
! 名称
! 初始版本
! 基于
! 描述
! 网站
|-
| rowspan="3" | Debian系
| [[Debian]]
| 1993年8月16日
| -
| 完全由自由软件组成,精简稳定。社区管理。
| 官网:https://www.debian.org/  <br \>源代码:https://sources.debian.org/
|-
| [[Ubuntu]]
| 2004年10月20日
| [[Debian]]
| 著名的Linux发行版之一,Canonical公司和Ubuntu社区管理
| 官网:http://www.ubuntu.com/ <br \>源代码:https://code.launchpad.net/ubuntu
|-
| [[Linux Mint]]
| 2006年
| [[Ubuntu]]
|
| 官网:https://www.linuxmint.com/
|-
| rowspan="2" | Red Hat系
| [[Red Hat Linux | Red Hat]]
| 1995年5月13日
| -
| 历史悠久,Red Hat公司管理
| 官网:https://www.redhat.com/ <br \>源代码:https://sources.debian.org/
|-
|[[CentOS]]
| 2004年5月14日
|[[Red Hat Linux | Red Hat]]
|
|官网:https://www.centos.org/
|-
| rowspan="2" | Arch 系
| [[Arch Linux]]
| 2002年3月11日
| -
| 采用滚动更新模式,没有大版本更新。
| 官网:https://archlinux.org/ <br \>源代码:https://git.archlinux.org/
|-
| [[Manjaro Linux]]
| 2011年7月10日
| [[Arch Linux]]
| 其目标是为 PC 提供易于使用的自由的操作系统。
| 官网:http://manjaro.org/ <br \>源代码:https://gitlab.manjaro.org/
|}
 
 
{{了解更多
|[https://zh.wikipedia.org/wiki/Linux发行版列表 维基百科:Linux发行版列表]
}}


Linux上默认的shell是Bash,Bash是Unix shell的一种,在1987年由布莱恩·福克斯为了GNU计划而编写。
==桌面环境==
===应用===
桌面环境(Desktop environment),也称桌面管理器。常见桌面环境:
{| class="wikitable"  style="width: 100%;
! 名称
! 描述
! 作为默认桌面环境
|-
| [[GNOME]]
|
| Ubuntu 17.10-
|-
| [[KDE]]
|
|
|-
| [[Xfce]]
|
|
|-
| [[LXDE]]
|
|
|}
{{了解更多
|[https://zh.wikipedia.org/wiki/桌面环境 维基百科:桌面环境]
}}




第94行: 第182行:


====创建新用户====
====创建新用户====
添加用户的命令是 useradd
添加用户的命令是 useradd,
<nowiki>
<syntaxhighlight lang="bash" >
useradd 参数 用户名
useradd 参数 用户名
</syntaxhighlight>
参数说明:
参数说明:
-c comment 添加注释。
* -c comment 添加注释。
 


示例:
示例:
<syntaxhighlight lang="bash" >
#添加一个名称为user的用户
#添加一个名称为user的用户
useradd user
useradd user
#给名称为user的用户设置密码
#给名称为user的用户设置密码
passwd user
passwd user


useradd -c "normal user" -g users
useradd -c "normal user" -g users
</nowiki>
</syntaxhighlight>
 


==文件系统==
==文件系统==
=== 常见目录 ===
{| class="wikitable"  style="width: 100%;
! 目录
! 描述
|-
|
|
|-
|
|
|}
{{了解更多
|[https://zh.wikipedia.org/wiki/文件系统层次结构标准 维基百科:文件系统层次结构标准]
|[https://en.wikipedia.org/wiki/Unix_filesystem 维基百科:Unix 文件系统]
}}
==系统管理==
===开机自动运行===
{| class="wikitable"
! 名称
! 描述
! 示例
|-
| crontab 命令
| crontab 是一个定时的任务管理命令。 <br />crontab -l 显示当前用户crontab文件内容 <br />crontab -e 编辑当前用户的 
| 启动时自动运行boot.sh脚本<syntaxhighlight lang="bash" >
# 创建一个脚本boot.sh
vim /home/yourname/boot.sh
# 输入如下内容到boot.sh
date >> /home/yourname/boot_sh.log
echo "启动运行" >> /home/yourname/boot_sh.log
mount /dev/sdc2 test


# boot.sh添加可执行权限
sudo chmod u+x /home/yourname/boot.sh


# 命令行输入crontab -e进入编辑
crontab -e
# 输入如下内容保存到crontab文件
@reboot /home/yourname/boot.sh
</syntaxhighlight>
|-
| systemd 服务
|
|
|-
|
|
|
|}


==Linux 日志==
==Linux 日志==
第119行: 第261行:


===远程登录===
===远程登录===
Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器。这时我们就需要远程登录到Linux服务器来管理维护系统。Linux系统中是通过ssh服务实现的远程登录功能,默认ssh服务端口号为 22。
Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器。这时我们就需要远程登录到Linux服务器来管理维护系统。Linux系统中是通过[[SSH]]服务实现的远程登录功能,默认ssh服务端口号为 22。
在Windows系统上登录:
在Windows系统上登录:
*[[Putty]] 命令行
*[[Putty]] 命令行
第154行: 第296行:
*[https://zh.wikipedia.org/wiki/Linux内核 维基百科:Linux内核]
*[https://zh.wikipedia.org/wiki/Linux内核 维基百科:Linux内核]


[[分类:内核]]
[[分类:操作系统]]
[[分类:操作系统软件]]
[[分类:系统软件]]

2022年12月7日 (三) 05:28的最新版本

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

Linux严格来说是单指操作系统的内核,如今Linux常用来指基于Linux的完整操作系统,包括Linux内核和Linux发行版的许多应用程序和工具。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发行版,如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计划而编写。
应用

发行版

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

常见发现版本:

派系 名称 初始版本 基于 描述 网站
Debian系 Debian 1993年8月16日 - 完全由自由软件组成,精简稳定。社区管理。 官网:https://www.debian.org/
源代码:https://sources.debian.org/
Ubuntu 2004年10月20日 Debian 著名的Linux发行版之一,Canonical公司和Ubuntu社区管理 官网:http://www.ubuntu.com/
源代码:https://code.launchpad.net/ubuntu
Linux Mint 2006年 Ubuntu 官网:https://www.linuxmint.com/
Red Hat系 Red Hat 1995年5月13日 - 历史悠久,Red Hat公司管理 官网:https://www.redhat.com/
源代码:https://sources.debian.org/
CentOS 2004年5月14日 Red Hat 官网:https://www.centos.org/
Arch 系 Arch Linux 2002年3月11日 - 采用滚动更新模式,没有大版本更新。 官网:https://archlinux.org/
源代码:https://git.archlinux.org/
Manjaro Linux 2011年7月10日 Arch Linux 其目标是为 PC 提供易于使用的自由的操作系统。 官网:http://manjaro.org/
源代码:https://gitlab.manjaro.org/


了解更多 >> 维基百科:Linux发行版列表


桌面环境

桌面环境(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


文件系统

常见目录

目录 描述

了解更多 >> 维基百科:文件系统层次结构标准 维基百科:Unix 文件系统


系统管理

开机自动运行

名称 描述 示例
crontab 命令 crontab 是一个定时的任务管理命令。
crontab -l 显示当前用户crontab文件内容
crontab -e 编辑当前用户的
启动时自动运行boot.sh脚本
# 创建一个脚本boot.sh
vim /home/yourname/boot.sh

# 输入如下内容到boot.sh
date >> /home/yourname/boot_sh.log
echo "启动运行" >> /home/yourname/boot_sh.log
mount /dev/sdc2 test

# boot.sh添加可执行权限
sudo chmod u+x /home/yourname/boot.sh

# 命令行输入crontab -e进入编辑
crontab -e 

# 输入如下内容保存到crontab文件
@reboot /home/yourname/boot.sh
systemd 服务

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》

参考资料