Linux:修订间差异
无编辑摘要 |
(→开机自动运行) |
||
(未显示同一用户的3个中间版本) | |||
第182行: | 第182行: | ||
====创建新用户==== | ====创建新用户==== | ||
添加用户的命令是 | 添加用户的命令是 useradd, | ||
<syntaxhighlight lang="bash" > | |||
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 | ||
</ | </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 日志== | ||
第207行: | 第261行: | ||
===远程登录=== | ===远程登录=== | ||
Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器。这时我们就需要远程登录到Linux服务器来管理维护系统。Linux系统中是通过[[SSH]]服务实现的远程登录功能,默认ssh服务端口号为 22。 | |||
在Windows系统上登录: | 在Windows系统上登录: | ||
*[[Putty]] 命令行 | *[[Putty]] 命令行 |
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历史
安装使用
在电脑上安装
在虚拟机安装
云服务器
- 购买一个云服务器,如:
- 阿里云的云服务器 ECS
- 腾讯云的云服务器 CVM
- Amazon AWS
- 有多种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 |
用户管理
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系统上登录:
在手机上登录:
- Termius
备份与恢复
环境变量
环境变量(environment variables),
资源
官网
相关网站
书籍
- 《The Linux Command Line》