开启你的Linux之旅
发布时间: 2025-08-12 00:05:45 阅读量: 1 订阅数: 6 


快速上手Linux:初学者指南
### 开启你的 Linux 之旅
#### 1. Linux 起源与基础概念
Linux 的故事始于 1991 年,当时芬兰赫尔辛基大学的计算机科学学生 Linus Torvalds 将编写一个免费操作系统作为业余爱好。谁能想到,这个业余项目后来成为了历史上最大的开源项目,这个免费操作系统就是 Linux。
- **开源与闭源**
- **开源项目**:其源代码可供公众查看和编辑的软件项目。在 Linux 的语境中,源代码就是构建 Linux 操作系统的编程代码。
- **闭源项目**:源代码不向公众开放查看和编辑的软件项目,例如 Microsoft Windows 就是典型的闭源项目。
- **操作系统与内核**
- **操作系统**:管理计算机资源(如内存和磁盘空间),并允许计算机硬件和软件相互通信的软件程序。常见的操作系统有 Linux、Android、macOS、Microsoft Windows、Apple iOS、BlackBerry 等。
- **内核**:操作系统的核心部分,负责组织对系统资源(如 CPU、内存和磁盘)的访问。
- **Linux 发行版**
由于 Linux 是开源的,许多个人和组织对 Linux 内核及其他组件进行修改,开发和定制出适合自己需求的 Linux 版本,这些版本被称为发行版(distributions,简称 distros)。目前有数百种 Linux 发行版,你可以访问 [www.distrowatch.com](www.distrowatch.com) 查看完整列表及它们的流行度排名。例如,Scientific Linux 包含许多预装的科学应用程序,深受科学家们的喜爱。
#### 2. Linux 的现状与未来
1991 年的 Linux 还只是个“婴儿”,但如今它已发展壮大并广受欢迎。如今,全球超过 90% 的顶级超级计算机由 Linux 提供支持。你可能在不知不觉中已经使用 Linux 多年,比如使用 Android 智能手机,因为 Android 就是一个 Linux 发行版。
政府服务器大多运行 Linux,因此许多政府技术岗位要求应聘者具备 Linux 技能。像 Amazon、eBay、PayPal、Walmart 等大公司也依赖 Linux 运行其先进复杂的应用程序。此外,超过 75% 的云解决方案运行 Linux,Linux 在云计算领域占据主导地位。
未来,Linux 的前景更加光明。像 Lexus 和 Toyota 等著名汽车制造商正在采用 Automotive Grade Linux (AGL) 等 Linux 技术。Linux 还运行在许多嵌入式设备上,是 Raspberry Pi、Beagle Bone 等微控制器的核心。甚至有些洗衣机也运行 Linux。
#### 3. 安装 Linux 虚拟机
有多种方法可以安装 Linux 系统,这里推荐以虚拟机的方式安装,因为双启动 Linux 和 Windows 的方法对初学者不太友好,安装过程中的任何错误都可能导致严重问题。
安装 Linux 虚拟机的步骤如下:
1. **安装 VirtualBox(或 VMware Player)**:VirtualBox 是一个跨平台的虚拟化应用程序,可用于创建虚拟机。它是免费的,支持 macOS、Windows 和 Linux。你可以通过 Google 搜索“VirtualBox download”下载,也可以直接访问 [www.virtualbox.org/wiki/Downloads](www.virtualbox.org/wiki/Downloads) 下载。
2. **下载 Linux 发行版的 ISO 镜像**:这里推荐使用 Ubuntu,它是初学者中最受欢迎的 Linux 发行版之一。你可以从 [www.ubuntu.com/download/desktop](www.ubuntu.com/download/desktop) 下载最新的 Ubuntu LTS(长期支持)版本。
3. **打开 VirtualBox 并开始安装过程**:
- 打开 VirtualBox 后,从菜单栏选择“New”。
- 选择新虚拟机的名称和类型。
- 点击“Continue”,选择分配给虚拟机的内存大小,建议至少 2GB。
- 确保选中“Create a virtual hard disk now”,然后点击“Create”。
- 选择 VDI(VirtualBox Disk Image)作为硬盘文件类型,然后点击“Continue”。
- 选择“Dynamically allocated”,然后点击“Continue”。
- 选择虚拟机的硬盘大小,建议 10GB 或更高。
- 点击“Create”完成虚拟机的创建。
- 点击绿色的“Start”按钮启动虚拟机,选择之前下载的 Ubuntu ISO 镜像,然后点击“Start”启动 Ubuntu 安装程序。
- 选择“Install Ubuntu”,选择语言和键盘布局,然后接受默认设置。
- 创建新用户,建议使用用户名“elliot”,方便后续操作。
- 点击“Continue”开始系统安装,安装过程需要几分钟时间。
- 安装完成后,重启虚拟机,可能需要移除安装介质(通过选择“Devices -> Optical Drives -> Remove disk from virtual drive”)。
- 最后,你将看到登录屏幕,输入密码即可进入 Linux 系统。
除了使用 VirtualBox 安装虚拟机,你还可以在 AWS(Amazon Web Services)或 Microsoft Azure 上创建 Linux 虚拟机。
#### 4. 终端与 Shell
图形用户界面(GUI)操作简单,你可以轻松上网、打开浏览器等。但要成为 Linux 高级用户,你需要熟练使用 Linux 命令行界面(CLI)。
- **终端模拟器(Terminal Emulator)**:模拟物理终端(控制台)的程序,与 Shell(命令行界面)进行交互。
- **Shell**:命令行解释器,负责处理和执行命令。
打开终端的方法有两种:点击 Dash 搜索“Terminal”,或使用快捷键“Ctrl + Alt + T”。打开终端后,输入“date”命令并按回车键,你将看到当前的日期和时间。这是因为 Shell 在后台执行了“date”命令,并将结果显示在终端上。
如果你输入无意义的命令,会得到“command not found”错误,例如:
```
elliot@ubuntu-linux:-$ blabla
blabla: command not found
```
#### 5. 常用 Linux 命令
- **显示日期和日历**
- `date`:显示当前日期和时间。
- `cal`:显示当前月份的日历。
- `cal 2022`:显示 2022 年的完整日历。
- `cal feb 1993`:显示 1993 年 2 月的日历。
- **清屏与系统信息**
- `clear`:清除终端屏幕上的输出。
- `lscpu`:显示 CPU 架构信息。
```
elliot@ubuntu-linux:-$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 61
Model name: Intel(R) Core(TM) i5-5300U CPU @ 2.30GHz
Stepping: 4
CPU MHz: 2294.678
BogoMIPS: 4589.35
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
NUMA node0 CPU(s): 0
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
```
- `uptime`:检查系统运行时间,同时显示当前时间、当前登录用户数量以及过去 1、5 和 15 分钟的系统负载平均值。
```
elliot@ubuntu-linux:-$ uptime
18:48:04 up 4 days, 4:02, 1 user, load average: 0.98, 2.12, 3.43
```
| 输出内容 | 含义 |
| --- | --- |
| 18:48:04 | 当前时间 |
| up 4 days, 4:02 | 系统已运行 4 天 4 小时 2 分钟 |
| 1 user | 当前只有一个用户登录 |
| load average: 0.98, 2.12, 3.43 | 过去 1、5 和 15 分钟的系统负载平均值 |
系统负载是指 CPU 在给定时间内执行的工作量,负载平均值是在 1、5 和 15 分钟内计算的平均系统负载。根据负载平均值,我们可以得出以下结论:
- 负载平均值为 0.0 表示系统处于空闲状态。
- 如果 1 分钟负载平均值高于 5 或 15 分钟平均值,则表示系统负载正在增加。
- 如果 1 分钟负载平均值低于 5 或 15 分钟平均值,则表示系统负载正在减少。
- **系统操作与信息查询**
- `reboot`:重启系统。
- `pwd`:打印当前工作目录的名称。默认情况下,登录 Linux 系统后,当前工作目录是用户的主目录(/home/your_username)。
- `ls`:列出当前工作目录的内容。
- `passwd`:更改用户密码。
- `hostname`:显示系统的主机名。
- `free`:显示系统的内存使用情况,默认以千字节为单位。可以使用 `-h` 选项以人类可读的格式显示:
```
elliot@ubuntu-linux:-$ free -h
total used free shared buff/cache available
Mem: 3.9G 1.8G 516M 67M 1.6G 1.7G
Swap: 947M 0B 947M
```
- `df`:显示系统的磁盘空间使用情况,同样可以使用 `-h` 选项以人类可读的格式显示:
```
elliot@ubuntu-linux:-$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 395M 1.6M 393M 1% /run
/dev/sda1 20G 6.7G 12G 36% /
tmpfs 2.0G 57M 1.9G 3% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/6130
tmpfs 395M 28K 395M 1% /run/user/121
tmpfs 395M 48K 395M 1% /run/user/1000
```
- `echo`:在终端上打印一行文本,例如:
```
elliot@ubuntu-linux:-$ echo Cats are better than Dogs!
Cats are better than Dogs!
```
- `history`:显示你在终端上运行过的所有命令的历史记录。如果你想重新运行某个命令,可以使用 `!` 加上该命令在历史记录中的编号,例如:
```
elliot@ubuntu-linux:-$ history
1 date
2 blabla
3 cal
4 cal 2022
5 cal feb 1993
6 clear
7 lscpu
8 uptime
9 reboot
10 pwd
11 ls
12 passwd
13 hostname
14 free
15 free -h
16 free --human
17 df
18 df -h
19 echo Cats are better than Dogs!
20 history
elliot@ubuntu-linux:-$ !7
lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 61
Model name: Intel(R) Core(TM) i5-5300U CPU @ 2.30GHz
Stepping: 4
CPU MHz: 2294.678
BogoMIPS: 4589.35
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
NUMA node0 CPU(s): 0
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
```
你还可以使用上下箭头键在命令历史记录中滚动。
- **内核信息查询**
- `uname`:显示系统的内核信息。不带任何选项时,只打印内核名称:
```
elliot@ubuntu-linux:-$ uname
Linux
```
- `uname -v`:打印当前内核版本信息。
```
elliot@ubuntu-linux:-$ uname -v
#33-Ubuntu SMP Wed Apr 29 14:32:27 UTC 2020
```
- `uname -r`:打印当前内核发行版信息。
```
elliot@ubuntu-linux:-$ uname -r
5.4.0-29-generic
```
通过以上内容,你已经对 Linux 有了初步的了解,掌握了一些基本概念和常用命令。希望你能在 Linux 的世界中继续探索,发现更多的乐趣和实用技巧!
### 开启你的 Linux 之旅
#### 6. 命令选项的使用规则
在 Linux 中,大多数命令都有选项可以改变其默认行为。命令选项通常以单连字符(-)或双连字符(--)开头。使用缩写的选项名时用单连字符,使用完整的选项名时用双连字符。例如 `free` 命令:
```
elliot@ubuntu-linux:-$ free -h
total used free shared buff/cache available
Mem: 3.9G 1.8G 516M 67M 1.6G 1.7G
Swap: 947M 0B 947M
elliot@ubuntu-linux:-$ free --human
total used free shared buff/cache available
Mem: 3.9G 1.8G 516M 67M 1.6G 1.7G
Swap: 947M 0B 947M
```
可以看到,使用 `-h` 和 `--human` 得到的结果相同,只是选项名的形式不同,你可以根据自己的喜好选择使用。
#### 7. 深入理解系统负载与负载平均值
系统负载和负载平均值是衡量系统性能的重要指标。系统负载指 CPU 在给定时间内执行的工作量,而负载平均值是在 1、5 和 15 分钟内计算的平均系统负载。下面通过一个 mermaid 流程图来展示如何根据负载平均值判断系统负载的变化情况:
```mermaid
graph LR
A[获取负载平均值] --> B{1 分钟负载平均值 > 5 或 15 分钟平均值?}
B -- 是 --> C[系统负载增加]
B -- 否 --> D{1 分钟负载平均值 < 5 或 15 分钟平均值?}
D -- 是 --> E[系统负载减少]
D -- 否 --> F[系统负载稳定]
```
你可以通过运行 `uptime` 命令获取负载平均值,然后根据上述规则判断系统负载的变化。例如,当负载平均值为 `load average: 5.00, 3.00, 2.00` 时,说明系统负载正在增加;当负载平均值为 `load average: 1.00, 3.00, 7.00` 时,说明系统负载正在减少。
#### 8. 目录与文件操作的补充说明
在 Linux 中,我们将文件夹称为目录,目录是包含其他文件的文件。`pwd` 命令用于打印当前工作目录的名称,`ls` 命令用于列出当前工作目录的内容。以下是一个简单的操作示例:
```
elliot@ubuntu-linux:-$ pwd
/home/elliot
elliot@ubuntu-linux:-$ ls
Desktop Documents Downloads Music Pictures Public Videos
```
如果你想查看某个特定目录的内容,可以在 `ls` 命令后加上目录名,例如:
```
elliot@ubuntu-linux:-$ ls /home
elliot
```
这里查看了 `/home` 目录下的内容,发现只有 `elliot` 这个子目录。
#### 9. 命令历史记录的高级用法
`history` 命令不仅可以显示你在终端上运行过的所有命令的历史记录,还可以结合其他命令实现更高级的功能。例如,你可以使用 `grep` 命令在历史记录中搜索特定的命令:
```
elliot@ubuntu-linux:-$ history | grep cal
3 cal
4 cal 2022
5 cal feb 1993
```
这里使用管道符 `|` 将 `history` 命令的输出传递给 `grep` 命令,搜索包含 `cal` 的命令。另外,除了使用 `!` 加上命令编号来重新运行命令,你还可以使用上下箭头键在命令历史记录中滚动,快速找到之前使用过的命令。
#### 10. 总结与实践建议
通过前面的学习,你已经了解了 Linux 的起源、基础概念、安装方法、终端与 Shell 的使用以及常用命令。为了更好地掌握这些知识,建议你进行以下实践:
- 多在终端上输入命令,熟悉命令的使用和选项的搭配。
- 尝试在不同的场景下使用 `uptime` 命令,观察系统负载的变化。
- 利用 `history` 命令和 `grep` 命令,提高查找和复用命令的效率。
以下是一个简单的实践步骤列表:
1. 打开终端,运行 `date`、`cal`、`ls` 等命令,观察输出结果。
2. 运行 `uptime` 命令,记录当前的负载平均值,然后打开多个浏览器标签,再次运行 `uptime` 命令,比较负载平均值的变化。
3. 运行 `history` 命令,查看命令历史记录,使用上下箭头键滚动历史记录,找到之前使用过的命令并重新运行。
4. 使用 `grep` 命令在历史记录中搜索特定的命令,例如 `history | grep free`。
通过不断的实践,你将逐渐熟悉 Linux 的操作,成为一名熟练的 Linux 用户。希望你在 Linux 的学习过程中不断进步,享受技术带来的乐趣!
0
0
相关推荐










