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 可用空间
  • 网络:联网下载更新包

安装方式选择:

  1. 物理机安装:直接安装到计算机硬盘,性能最佳(适合作为主力系统)
  2. 虚拟机安装:使用 VirtualBox 或 VMware 在 Windows/macOS 上运行 Linux(适合学习测试)
  3. WSL(Windows Subsystem for Linux):在 Windows 10/11 上直接运行 Linux(适合开发者快速上手)
  4. 云服务器:购买阿里云、腾讯云等云主机(适合学习服务器运维)

2.2 虚拟机安装 Ubuntu(新手推荐)

这里以 VirtualBox 为例演示安装过程。

步骤 1:下载镜像文件

# 访问 Ubuntu 官网下载 ISO 镜像
# https://ubuntu.com/download/desktop
# 选择 Ubuntu 22.04.3 LTS Desktop(约 4.6GB)

步骤 2:创建虚拟机

  1. 打开 VirtualBox,点击"新建"
  2. 名称填写 “Ubuntu22”,类型选择 Linux,版本选择 Ubuntu (64-bit)
  3. 内存分配 4096MB(4GB)
  4. 创建虚拟硬盘,选择 VDI 格式,动态分配,大小设置 40GB
  5. 在"设置 - 存储"中,选择虚拟光驱,加载下载的 ISO 镜像
  6. 在"设置 - 网络"中,连接方式选择"桥接网卡"(便于访问外网和局域网)

步骤 3:安装系统

  1. 启动虚拟机,选择"Install Ubuntu"
  2. 语言选择"中文(简体)“或"English”(推荐英文,避免中文路径问题)
  3. 键盘布局选择"Chinese"
  4. 安装类型选择"清除整个磁盘并安装 Ubuntu"(虚拟机中可放心选择)
  5. 设置用户名、计算机名和密码
  6. 等待安装完成,重启系统

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 指定次数
curlHTTP 请求-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 核心知识点回顾

  1. Linux 发行版选择:新手推荐 Ubuntu 22.04 LTS,服务器推荐 Rocky Linux
  2. 安装方式:虚拟机(VirtualBox)适合学习,云服务器适合实战
  3. 基础配置:安装后必须执行 sudo apt update && sudo apt upgrade
  4. 文件操作:掌握 lscdcpmvrm 五个核心命令
  5. 内容查看:使用 catheadtailgrep 组合查看和搜索文件
  6. 系统管理:用 toppskill 监控和管理进程
  7. 权限管理:理解 chmodchownsudo 的使用场景
  8. 效率技巧:善用 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 服务器安全加固实战
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐