Linux操作系统入门:安装配置、常用命令与 20+ 实战技巧,一小时速通!
Linux操作系统入门:安装配置、常用命令与 20+ 实战技巧,一篇搞定!
摘要
本文是 Linux 操作系统的完整入门指南,涵盖从系统安装到实战应用的全流程。你将学会选择合适的 Linux 发行版、完成系统安装与基础配置、掌握 20+ 个高频命令(文件操作、进程管理、网络诊断等),并通过实战案例理解 Linux 的核心思想。无论是开发者、运维人员还是技术爱好者,这篇文章都能帮你快速建立 Linux 操作系统的知识体系,从零基础到独立完成日常任务。
从安装到命令行精通,20+ 实战技巧让你快速掌握 Linux 操作系统核心能力!
Linux 是全球最流行的开源操作系统之一,广泛应用于服务器、云计算、嵌入式设备和超级计算机。相比 Windows,Linux 提供更强的稳定性、安全性和可定制性;相比 macOS,它完全免费且社区支持强大。无论你是想搭建开发环境、部署 Web 服务,还是学习底层原理,Linux 都是必修课。本文将带你从零开始,系统学习 Linux 的安装、配置和常用操作。
一、Linux 基础知识
1.1 什么是 Linux?
Linux 是一个开源的类 Unix 操作系统内核,由芬兰程序员 Linus Torvalds 于 1991 年创建。狭义的 Linux 指内核(Kernel),广义的 Linux 指基于 Linux 内核构建的完整操作系统(通常称为"发行版")。
核心特点:
- 开源免费:源代码完全公开,任何人可自由使用、修改和分发
- 多用户多任务:支持多个用户同时登录,同时运行多个程序
- 稳定安全:长时间运行不需重启,内置严格的权限管理机制
- 命令行优先:通过 Shell 命令高效完成系统操作和自动化任务
1.2 为什么要学习 Linux?
| 应用场景 | 优势说明 |
|---|---|
| 服务器运维 | 全球 90% 以上的服务器运行 Linux,掌握 Linux 是运维工程师的基本功 |
| 软件开发 | Docker、Kubernetes、Git 等开发工具都原生支持 Linux,开发环境更接近生产环境 |
| 云计算 | AWS、阿里云、腾讯云等云平台默认提供 Linux 镜像,成本更低性能更好 |
| 嵌入式开发 | Android、智能路由器、物联网设备大多基于 Linux 内核 |
| 学习底层原理 | Linux 源代码开放,是学习操作系统、网络协议、文件系统的最佳实验平台 |
1.3 主流 Linux 发行版对比
Linux 发行版是在 Linux 内核基础上打包了桌面环境、软件包管理器、预装软件的完整系统。新手选择发行版时,建议优先考虑社区活跃度和文档完善程度。
| 发行版 | 特点 | 适用人群 | 包管理器 |
|---|---|---|---|
| Ubuntu | 界面友好,文档丰富,社区最大 | 新手、桌面用户、开发者 | apt |
| CentOS / Rocky Linux | 企业级稳定性,兼容 Red Hat | 服务器运维、生产环境 | yum / dnf |
| Debian | 稳定性极高,纯自由软件 | 服务器、追求稳定的用户 | apt |
| Arch Linux | 滚动更新,高度可定制 | 极客、喜欢折腾的高级用户 | pacman |
| Fedora | 最新技术,Red Hat 上游 | 开发者、技术尝鲜者 | dnf |
新手推荐: Ubuntu 22.04 LTS(长期支持版),安装简单、资料多、遇到问题容易找到解决方案。
二、Linux 系统安装与配置
2.1 准备工作
硬件要求(Ubuntu 22.04 示例):
- CPU:双核及以上
- 内存:至少 4GB(推荐 8GB)
- 硬盘:至少 25GB 可用空间
- 网络:联网下载更新包
安装方式选择:
- 物理机安装:直接安装到计算机硬盘,性能最佳(适合作为主力系统)
- 虚拟机安装:使用 VirtualBox 或 VMware 在 Windows/macOS 上运行 Linux(适合学习测试)
- WSL(Windows Subsystem for Linux):在 Windows 10/11 上直接运行 Linux(适合开发者快速上手)
- 云服务器:购买阿里云、腾讯云等云主机(适合学习服务器运维)
2.2 虚拟机安装 Ubuntu(新手推荐)
这里以 VirtualBox 为例演示安装过程。
步骤 1:下载镜像文件
# 访问 Ubuntu 官网下载 ISO 镜像
# https://ubuntu.com/download/desktop
# 选择 Ubuntu 22.04.3 LTS Desktop(约 4.6GB)
步骤 2:创建虚拟机
- 打开 VirtualBox,点击"新建"
- 名称填写 “Ubuntu22”,类型选择 Linux,版本选择 Ubuntu (64-bit)
- 内存分配 4096MB(4GB)
- 创建虚拟硬盘,选择 VDI 格式,动态分配,大小设置 40GB
- 在"设置 - 存储"中,选择虚拟光驱,加载下载的 ISO 镜像
- 在"设置 - 网络"中,连接方式选择"桥接网卡"(便于访问外网和局域网)
步骤 3:安装系统
- 启动虚拟机,选择"Install Ubuntu"
- 语言选择"中文(简体)“或"English”(推荐英文,避免中文路径问题)
- 键盘布局选择"Chinese"
- 安装类型选择"清除整个磁盘并安装 Ubuntu"(虚拟机中可放心选择)
- 设置用户名、计算机名和密码
- 等待安装完成,重启系统
2.3 基础配置
安装完成后,执行以下配置确保系统正常工作。
更新软件包(重要):
# 更新软件包列表
sudo apt update
# 输出示例:
# 命中:1 http://cn.archive.ubuntu.com/ubuntu jammy InRelease
# 获取:2 http://cn.archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
# 已下载 119 kB,耗时 2秒
# 升级已安装的软件包
sudo apt upgrade -y
# 输出示例:
# 正在读取软件包列表... 完成
# 正在升级 35 个软件包...
安装常用工具:
# 安装 vim 编辑器、curl 下载工具、git 版本控制
sudo apt install vim curl git -y
# 输出示例:
# 正在读取软件包列表... 完成
# 设置 vim (2:8.2.3995-1ubuntu2.12) ...
# 设置 curl (7.81.0-1ubuntu1.15) ...
# 设置 git (1:2.34.1-1ubuntu1.10) ...
配置 SSH 服务(方便远程连接):
# 安装 SSH 服务器
sudo apt install openssh-server -y
# 启动 SSH 服务
sudo systemctl start ssh
# 设置开机自启
sudo systemctl enable ssh
# 查看 SSH 服务状态
sudo systemctl status ssh
# 输出示例:
# ● ssh.service - OpenBSD Secure Shell server
# Loaded: loaded (/lib/systemd/system/ssh.service; enabled)
# Active: active (running) since Thu 2026-09-04 10:23:15 CST; 5s ago
查看本机 IP 地址:
# 查看网络接口信息
ip addr show
# 输出示例:
# 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
# inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic enp0s3
# 记住 192.168.1.100,后续可通过此 IP 远程连接
现在你可以使用 SSH 工具(如 Xshell、MobaXterm)从 Windows 连接到 Linux 虚拟机:
ssh username@192.168.1.100
# 输入密码后即可远程操作
三、Linux 常用命令大全(20+ 核心命令)
Linux 的强大之处在于命令行工具。掌握这 20+ 个高频命令,你就能完成 90% 的日常任务。
3.1 文件与目录操作(8个命令)
命令 1:ls - 列出目录内容
# 基础用法
ls
# 输出示例:Desktop Documents Downloads Music Pictures
# 显示详细信息(权限、大小、修改时间)
ls -l
# 输出示例:
# drwxr-xr-x 2 user user 4096 Sep 4 10:30 Documents
# -rw-r--r-- 1 user user 1234 Sep 3 15:20 readme.txt
# 显示隐藏文件(以 . 开头的文件)
ls -a
# 输出示例:.bashrc .profile Documents Downloads
# 按修改时间排序
ls -lt
# 输出示例:最新修改的文件排在最前面
命令 2:cd - 切换目录
# 进入 Documents 目录
cd Documents
# 返回上一级目录
cd ..
# 返回用户主目录
cd ~
# 或直接输入
cd
# 返回上一次所在的目录
cd -
# 输出示例:/home/user/Documents
命令 3:pwd - 显示当前目录路径
pwd
# 输出示例:/home/user/Documents
命令 4:mkdir - 创建目录
# 创建单个目录
mkdir project
# 递归创建多级目录
mkdir -p project/src/main/java
# 输出:无输出表示成功
# 创建多个目录
mkdir dir1 dir2 dir3
命令 5:touch - 创建空文件或更新文件时间戳
# 创建空文件
touch test.txt
# 同时创建多个文件
touch file1.txt file2.txt file3.txt
# 更新现有文件的修改时间
touch existing.txt
命令 6:cp - 复制文件或目录
# 复制文件
cp source.txt backup.txt
# 复制文件到指定目录
cp file.txt /home/user/backup/
# 递归复制整个目录
cp -r project/ project_backup/
# 复制时保留文件属性(权限、时间戳)
cp -p important.txt important_backup.txt
命令 7:mv - 移动文件或重命名
# 重命名文件
mv oldname.txt newname.txt
# 移动文件到其他目录
mv file.txt /home/user/Documents/
# 移动并重命名
mv report.txt /home/user/backup/report_2026.txt
# 移动整个目录
mv project/ /opt/projects/
命令 8:rm - 删除文件或目录
# 删除单个文件
rm test.txt
# 删除多个文件
rm file1.txt file2.txt file3.txt
# 递归删除目录及其内容(危险操作,请谨慎)
rm -r project/
# 强制删除,不提示确认(极度危险)
rm -rf temp/
# 删除前询问确认
rm -i important.txt
# 输出示例:rm: remove regular file 'important.txt'? y
3.2 文件内容查看与编辑(5个命令)
命令 9:cat - 查看文件全部内容
# 查看单个文件
cat readme.txt
# 输出示例:文件的全部内容
# 查看多个文件(合并显示)
cat file1.txt file2.txt
# 显示行号
cat -n readme.txt
# 输出示例:
# 1 This is line 1
# 2 This is line 2
命令 10:head - 查看文件开头部分
# 默认显示前 10 行
head access.log
# 输出示例:前10行日志
# 显示前 20 行
head -n 20 access.log
# 显示前 5 行
head -5 access.log
命令 11:tail - 查看文件末尾部分
# 默认显示最后 10 行
tail error.log
# 显示最后 50 行
tail -n 50 error.log
# 实时监控文件新增内容(常用于查看日志)
tail -f /var/log/syslog
# 输出示例:持续显示新写入的日志,Ctrl+C 退出
命令 12:grep - 搜索文件内容
# 在文件中搜索包含 "error" 的行
grep "error" app.log
# 输出示例:2026-09-04 10:45:23 ERROR Connection timeout
# 忽略大小写搜索
grep -i "error" app.log
# 搜索多个文件
grep "TODO" *.py
# 显示匹配行的行号
grep -n "import" main.py
# 输出示例:
# 3:import os
# 7:import sys
# 递归搜索目录下所有文件
grep -r "function" project/
命令 13:vim - 强大的文本编辑器
# 打开或创建文件
vim test.txt
# 基本操作:
# - 按 i 进入插入模式(可编辑)
# - 按 Esc 退出插入模式
# - 输入 :wq 保存并退出
# - 输入 :q! 不保存强制退出
# - 输入 /keyword 搜索关键字
# - 输入 :set nu 显示行号
3.3 系统信息与进程管理(4个命令)
命令 14:top - 实时查看系统资源使用情况
top
# 输出示例:
# Tasks: 215 total, 1 running, 214 sleeping
# %Cpu(s): 12.5 us, 3.2 sy, 0.0 ni, 84.1 id
# MiB Mem : 7924.5 total, 2341.2 free, 3456.8 used
# 显示所有进程的 CPU、内存占用,按 q 退出
命令 15:ps - 查看进程快照
# 查看当前用户的进程
ps
# 输出示例:
# PID TTY TIME CMD
# 1234 pts/0 00:00:00 bash
# 5678 pts/0 00:00:00 ps
# 查看所有进程(详细信息)
ps aux
# 输出示例:显示所有用户的所有进程
# 查看特定进程
ps aux | grep nginx
# 输出示例:
# root 1234 0.0 0.1 12345 6789 ? Ss 10:20 0:00 nginx: master process
命令 16:kill - 终止进程
# 根据进程 ID 终止进程
kill 1234
# 强制终止进程(进程无法捕获此信号)
kill -9 1234
# 根据进程名终止所有匹配的进程
killall nginx
# 输出示例:无输出表示成功
命令 17:df - 查看磁盘空间使用情况
# 查看所有挂载点的磁盘使用情况
df -h
# 输出示例:
# Filesystem Size Used Avail Use% Mounted on
# /dev/sda1 40G 15G 23G 40% /
# /dev/sda2 100G 45G 50G 48% /home
3.4 权限管理(3个命令)
命令 18:chmod - 修改文件权限
# 给文件所有者添加执行权限
chmod u+x script.sh
# 给所有人添加读权限
chmod a+r readme.txt
# 使用数字模式设置权限(755 = rwxr-xr-x)
chmod 755 app.py
# 说明:7=读+写+执行(4+2+1),5=读+执行(4+1)
# 递归修改目录权限
chmod -R 644 project/
命令 19:chown - 修改文件所有者
# 修改文件所有者
sudo chown newuser file.txt
# 修改文件所有者和所属组
sudo chown newuser:newgroup file.txt
# 递归修改目录所有者
sudo chown -R www-data:www-data /var/www/html/
命令 20:sudo - 以超级用户权限执行命令
# 以 root 权限安装软件
sudo apt install nginx
# 以 root 权限编辑系统文件
sudo vim /etc/hosts
# 切换到 root 用户
sudo -i
# 输出示例:root@hostname:~#
3.5 网络操作(2个命令)
命令 21:ping - 测试网络连通性
# 测试能否连接到百度
ping baidu.com
# 输出示例:
# 64 bytes from 220.181.38.148: icmp_seq=1 ttl=52 time=28.3 ms
# 按 Ctrl+C 停止
# 只发送 4 个数据包
ping -c 4 baidu.com
命令 22:curl - 发送 HTTP 请求
# 获取网页内容
curl https://www.example.com
# 输出示例:网页 HTML 源代码
# 下载文件
curl -O https://example.com/file.zip
# 发送 POST 请求
curl -X POST -d "user=admin&pass=123456" https://api.example.com/login
# 显示响应头
curl -I https://www.baidu.com
# 输出示例:
# HTTP/1.1 200 OK
# Server: nginx
# Content-Type: text/html
3.6 命令速查表
| 分类 | 命令 | 功能 | 常用参数 |
|---|---|---|---|
| 文件操作 | ls | 列出目录内容 | -l 详细信息 -a 显示隐藏文件 |
cd | 切换目录 | .. 上级目录 ~ 主目录 | |
pwd | 显示当前路径 | 无 | |
mkdir | 创建目录 | -p 递归创建 | |
touch | 创建文件 | 无 | |
cp | 复制文件 | -r 递归复制 -p 保留属性 | |
mv | 移动/重命名 | 无 | |
rm | 删除文件 | -r 递归删除 -f 强制删除 | |
| 内容查看 | cat | 查看全部内容 | -n 显示行号 |
head | 查看开头 | -n 指定行数 | |
tail | 查看末尾 | -f 实时监控 | |
grep | 搜索内容 | -i 忽略大小写 -r 递归搜索 | |
vim | 编辑文件 | i 插入 :wq 保存退出 | |
| 系统管理 | top | 实时进程监控 | 无 |
ps | 查看进程快照 | aux 显示所有进程 | |
kill | 终止进程 | -9 强制终止 | |
df | 磁盘使用情况 | -h 人类可读格式 | |
| 权限管理 | chmod | 修改权限 | 755 数字模式 u+x 符号模式 |
chown | 修改所有者 | -R 递归修改 | |
sudo | 超级用户权限 | -i 切换到 root | |
| 网络操作 | ping | 测试连通性 | -c 指定次数 |
curl | HTTP 请求 | -O 下载 -I 显示响应头 |
四、实战技巧与常见问题
4.1 快捷键与效率技巧
| 快捷键 | 功能 |
|---|---|
Tab | 自动补全命令或文件名 |
Ctrl + C | 终止当前命令 |
Ctrl + D | 退出当前终端或登录会话 |
Ctrl + L | 清空屏幕(等同于 clear 命令) |
Ctrl + R | 搜索历史命令 |
!! | 重复执行上一条命令 |
!$ | 引用上一条命令的最后一个参数 |
history | 查看命令历史 |
示例:
# 创建目录后立即进入
mkdir myproject
cd !$ # 等同于 cd myproject
4.2 管道与重定向
管道(Pipe): 将一个命令的输出作为另一个命令的输入
# 查看进程中包含 "nginx" 的行
ps aux | grep nginx
# 统计日志中错误的数量
cat error.log | grep "ERROR" | wc -l
# 输出示例:127
输出重定向: 将命令输出保存到文件
# 覆盖写入文件
echo "Hello Linux" > output.txt
# 追加写入文件
echo "New line" >> output.txt
# 将错误信息重定向到文件
command 2> error.log
# 同时重定向标准输出和错误输出
command > output.log 2>&1
4.3 常见问题解决
问题 1:权限不足(Permission denied)
# 报错示例:
# bash: /var/log/syslog: Permission denied
# 解决方法:使用 sudo
sudo cat /var/log/syslog
问题 2:命令未找到(command not found)
# 报错示例:
# bash: python: command not found
# 解决方法:安装对应软件
sudo apt install python3
问题 3:磁盘空间不足
# 查看磁盘使用情况
df -h
# 查找大文件(大于 100MB)
find / -type f -size +100M 2>/dev/null
# 清理 APT 缓存
sudo apt clean
五、总结与速查表
5.1 核心知识点回顾
- Linux 发行版选择:新手推荐 Ubuntu 22.04 LTS,服务器推荐 Rocky Linux
- 安装方式:虚拟机(VirtualBox)适合学习,云服务器适合实战
- 基础配置:安装后必须执行
sudo apt update && sudo apt upgrade - 文件操作:掌握
ls、cd、cp、mv、rm五个核心命令 - 内容查看:使用
cat、head、tail、grep组合查看和搜索文件 - 系统管理:用
top、ps、kill监控和管理进程 - 权限管理:理解
chmod、chown、sudo的使用场景 - 效率技巧:善用 Tab 补全、管道、重定向提高操作效率
5.2 20+ 命令速查卡片
==========================
文件与目录操作(8个)
==========================
ls 列出目录内容
cd 切换目录
pwd 显示当前路径
mkdir 创建目录
touch 创建文件
cp 复制文件
mv 移动/重命名
rm 删除文件
==========================
内容查看与编辑(5个)
==========================
cat 查看全部内容
head 查看文件开头
tail 查看文件末尾
grep 搜索内容
vim 编辑文件
==========================
系统信息与进程(4个)
==========================
top 实时进程监控
ps 查看进程快照
kill 终止进程
df 磁盘使用情况
==========================
权限管理(3个)
==========================
chmod 修改文件权限
chown 修改文件所有者
sudo 超级用户权限
==========================
网络操作(2个)
==========================
ping 测试网络连通性
curl 发送 HTTP 请求
5.3 下一步学习方向
- Shell 脚本编程:学习 Bash 脚本自动化日常任务
- 软件包管理:深入理解 apt、yum 的工作原理
- 系统服务管理:掌握 systemctl 管理服务
- 网络配置:学习 iptables、netplan 配置网络
- 容器技术:学习 Docker 在 Linux 上的使用
- 服务器运维:部署 Nginx、MySQL、Redis 等服务
互动交流
如果这篇文章帮助你快速入门 Linux,欢迎在评论区分享你的学习进度!你可以留言:
- 你选择了哪个 Linux 发行版?安装过程顺利吗?
- 这 20+ 个命令中,哪个你觉得最实用?
- 在学习过程中遇到了什么问题,我们一起讨论解决方案!
关注我,持续分享 Linux 运维、Shell 脚本、Docker 容器化等实战教程!
相关推荐文章
- Linux Shell 脚本编程从入门到精通
- Docker 容器技术完全指南
- Vim 编辑器快捷键速查手册
- Ubuntu 服务器安全加固实战
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)