第一节:Linux系统简介
理论知识
- Linux的起源与发展:1991 年,芬兰赫尔辛基大学的学生林纳斯·托瓦兹受到 Minix 和 Unix 思想的启发,开始编写 Linux 内核。最初,它只是一个个人项目,但随着开源社区的加入,Linux 迅速发展壮大。如今,Linux 广泛应用于服务器、嵌入式系统、移动设备等领域。
- 开源的意义:开源意味着源代码公开,任何人都可以查看、修改和分发。这促进了软件的快速发展和创新,因为全球的开发者可以共同参与到项目中。例如,许多公司基于 Linux 开发自己的产品,同时也为社区贡献代码。
- GNU通用公共许可证(GPL):GPL 是一种开源许可证,它保证了用户使用、修改和分发软件的自由。同时,它要求任何基于 GPL 许可的软件在分发时也必须采用 GPL 许可,以确保软件的开源性质得以延续。
- 主流Linux发行版:除了前面提到的 Debian、Ubuntu、Linux Mint、Fedora、Red Hat Enterprise Linux、CentOS 和 openSUSE 外,还有 Arch Linux、Gentoo 等。Arch Linux 以其轻量级和高度可定制性受到技术爱好者的喜爱;Gentoo 则允许用户根据自己的需求进行编译和安装,以达到最佳性能。
- Linux的应用场景:Linux 在服务器领域占据主导地位,许多大型网站和企业级应用都运行在 Linux 服务器上。此外,它还广泛应用于云计算、大数据、人工智能等领域。在嵌入式系统中,如智能家居设备、工业控制设备等,Linux 也有大量的应用。
- Linux与其他操作系统的比较:与 Windows 相比,Linux 更加稳定、安全,并且可以免费使用。Windows 则具有更友好的图形界面和丰富的桌面应用程序。与 macOS 相比,Linux 更加开放和灵活,用户可以根据自己的需求进行定制。
- Linux的内核与用户空间:Linux 内核是操作系统的核心,它负责管理硬件资源、进程调度、内存管理等。用户空间则是用户程序运行的环境,用户可以通过系统调用与内核进行交互。
- Linux的多用户多任务特性:多用户意味着多个用户可以同时登录到系统中,每个用户都有自己的账户和权限。多任务则允许系统同时运行多个程序,提高了系统的效率。
- Linux的命令行界面(CLI)和图形用户界面(GUI):CLI 是 Linux 系统的传统界面,用户通过输入命令来操作系统。它具有高效、灵活的特点,但对于初学者来说可能有一定的难度。GUI 则提供了更直观的操作方式,用户可以通过鼠标点击来完成各种任务。常见的 Linux GUI 有 GNOME、KDE 等。
- Linux的系统启动过程:Linux 系统的启动过程包括 BIOS 自检、引导加载程序(如 GRUB)加载内核、内核初始化、启动系统服务等步骤。了解系统启动过程有助于排查系统故障。
- Linux的日志系统:Linux 系统会记录各种事件和错误信息,这些信息存储在日志文件中。常见的日志文件包括 /var/log/messages、/var/log/syslog 等。通过查看日志文件,管理员可以了解系统的运行状态和排查问题。
- Linux的安全机制:Linux 采用了多种安全机制,如用户权限管理、文件权限设置、防火墙等。用户可以通过设置不同的权限来限制用户对系统资源的访问,防火墙则可以阻止外部网络的非法访问。
实践案例
- 查看Linux系统版本:使用
cat /etc/os-release
命令可以查看当前 Linux 系统的版本信息。例如:
cat /etc/os-release
输出结果可能如下:
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
- 切换用户:使用
su
命令可以切换用户。例如,切换到 root 用户:
su - root
输入 root 用户的密码后,即可切换到 root 用户。
3. 查看系统内核版本:使用 uname -r
命令可以查看当前系统的内核版本。例如:
uname -r
输出结果可能如下:
5.4.0-150-generic
- 查看系统硬件信息:使用
lshw
命令可以查看系统的硬件信息。例如:
sudo lshw
该命令会输出详细的硬件信息,包括 CPU、内存、硬盘等。
5. 查看系统进程信息:使用 top
命令可以实时查看系统的进程信息和资源使用情况。例如:
top
按 q
键可以退出 top
命令。
6. 查看系统网络信息:使用 ifconfig
或 ip addr
命令可以查看系统的网络接口信息。例如:
ifconfig
或
ip addr
- 修改系统主机名:使用
hostnamectl
命令可以修改系统的主机名。例如,将主机名修改为myhost
:
sudo hostnamectl set-hostname myhost
- 查看系统磁盘使用情况:使用
df -h
命令可以查看系统磁盘的使用情况。例如:
df -h
- 查看系统内存使用情况:使用
free -h
命令可以查看系统内存的使用情况。例如:
free -h
- 创建一个新用户:使用
useradd
命令创建一个新用户,例如创建一个名为testuser
的用户:
sudo useradd testuser
- 为新用户设置密码:使用
passwd
命令为新用户设置密码,例如为testuser
设置密码:
sudo passwd testuser
- 删除一个用户:使用
userdel
命令删除一个用户,例如删除testuser
用户:
sudo userdel -r testuser