Linux 入门指南:从零开始掌握 Linux 基础知识与常用命令

举报
yd_214313748 发表于 2026/11/05 20:34:38 2026/11/05
【摘要】 Linux 入门指南:从零开始掌握 Linux 基础知识与常用命令Linux 是现代服务器、云计算、容器技术和嵌入式设备的重要基础。无论你是想搭建自己的服务器、学习网络技术,还是部署 Docker、NAS 等服务,掌握 Linux 都是一项非常实用的技能。本文将从零开始,带你了解 Linux 的基本概念、环境搭建、常用命令以及日常管理操作。 一、什么是 Linux?Linux 是一种开源的...

Linux 入门指南:从零开始掌握 Linux 基础知识与常用命令

Linux 是现代服务器、云计算、容器技术和嵌入式设备的重要基础。无论你是想搭建自己的服务器、学习网络技术,还是部署 Docker、NAS 等服务,掌握 Linux 都是一项非常实用的技能。

本文将从零开始,带你了解 Linux 的基本概念、环境搭建、常用命令以及日常管理操作。


一、什么是 Linux?

Linux 是一种开源的类 Unix 操作系统,其核心部分称为 Linux Kernel(Linux 内核)。

与 Windows、macOS 类似,Linux 负责管理计算机硬件资源,并为应用程序提供运行环境。

Linux 最大的特点是:

  • 开源免费:源代码公开,可以自由使用、修改和分发。
  • 稳定可靠:广泛应用于服务器、超级计算机和网络设备。
  • 安全性高:拥有完善的用户权限管理和访问控制机制。
  • 高度可定制:可以根据需求选择不同的软件包和桌面环境。
  • 命令行强大:适合自动化运维、服务器管理和批量处理任务。

1.1 Linux 与 Windows 有什么区别?

对比项目 Linux Windows
授权方式 大多数发行版免费开源 商业授权为主
操作方式 命令行、图形界面 图形界面为主
软件安装 包管理器、软件仓库 安装包、应用商店
文件系统 ext4、XFS、Btrfs 等 NTFS、FAT32 等
权限管理 用户、用户组、权限位等 ACL、用户组等
主要用途 服务器、云计算、开发 桌面办公、游戏、开发

1.2 常见的 Linux 发行版

Linux 本身只是内核,不同组织和社区基于 Linux 内核开发出了不同的发行版(Distribution)。

比较常见的发行版包括:

发行版 特点 适用场景
Ubuntu 易用、社区活跃、软件丰富 新手、桌面、服务器
Debian 稳定、可靠、软件包管理成熟 服务器、长期运行环境
Arch Linux 高度可定制、滚动更新 进阶用户、学习研究
Fedora 技术更新较快 开发者、桌面用户
Rocky Linux 面向企业服务器,兼容 RHEL 生态 企业服务器
Alpine Linux 轻量、安全、资源占用低 Docker、容器、嵌入式

对于初学者,建议优先选择 Ubuntu 或 Debian。


二、搭建 Linux 学习环境

在正式学习 Linux 命令之前,需要先准备一个可以操作的 Linux 环境。

常见的方式有以下几种。

2.1 使用虚拟机

如果不想影响当前 Windows 系统,可以使用虚拟机安装 Linux。

常见的虚拟机软件:

  • VMware Workstation
  • VirtualBox
  • Hyper-V

推荐配置:

硬件 建议配置
CPU 2 核及以上
内存 2GB~4GB
硬盘 20GB 以上
系统 Ubuntu Server / Debian

虚拟机适合学习系统安装、网络配置、磁盘管理以及 Linux 服务部署。

2.2 使用 WSL2

如果你使用 Windows 10 或 Windows 11,也可以通过 WSL2(Windows Subsystem for Linux)运行 Linux。

以管理员身份打开 PowerShell,执行:

wsl --install

安装完成后重启系统,根据提示完成 Linux 用户初始化。

查看已经安装的发行版:

wsl -l -v

进入 Linux 环境:

wsl

WSL2 不需要单独安装虚拟机软件,适合日常学习 Linux 命令、Shell 脚本和开发工具。

2.3 使用云服务器

如果希望学习真实服务器环境,可以购买一台云服务器,通过 SSH 远程连接。

Windows PowerShell 或 CMD 中执行:

ssh root@服务器IP

首次连接时需要确认服务器指纹,然后输入密码或使用 SSH 密钥完成身份验证。


三、认识 Linux 命令行

Linux 的主要操作方式之一就是命令行(CLI)。

打开终端后,通常可以看到类似这样的提示符:

root@ubuntu:~#

它通常包含以下信息:

  • root:当前登录用户。
  • ubuntu:主机名。
  • ~:当前所在目录,代表当前用户的家目录。
  • #:通常表示 root 用户;普通用户通常显示 $。

3.1 查看系统信息

查看 Linux 内核版本:

uname -r

查看完整内核信息:

uname -a

查看 Linux 发行版信息:

cat /etc/os-release

查看 CPU 信息:

lscpu

查看内存使用情况:

free -h

查看磁盘空间:

df -h

查看系统运行时间:

uptime

这些命令可以帮助我们快速了解当前 Linux 系统的运行状态。


四、Linux 文件系统结构

Linux 与 Windows 最大的区别之一,就是文件系统的组织方式。

Windows 通常使用 C:、D: 等盘符,而 Linux 使用统一的目录树结构。

Linux 的所有文件和目录都从根目录 / 开始。

常见目录如下:

目录 作用
/ 根目录,整个文件系统的起点
/bin 基础用户命令
/boot 内核及启动相关文件
/dev 设备文件
/etc 系统配置文件
/home 普通用户的家目录
/root root 用户的家目录
/lib 基础共享库及内核模块相关文件
/mnt 临时挂载目录
/media 可移动设备挂载目录
/opt 可选应用软件
/proc 内核及进程信息的虚拟文件系统
/tmp 临时文件
/usr 大部分用户空间程序和资源
/var 日志、缓存及其他可变数据

注意:不同发行版的目录组织可能略有差异。例如,现代 Linux 系统通常会将 /bin、/sbin 等目录链接到 /usr 下对应的位置。

4.1 绝对路径与相对路径

Linux 中有两种常见的路径表示方式。

绝对路径:

从根目录 / 开始的完整路径。

例如:

/home/user/documents

相对路径:

以当前所在目录为基准的路径。

例如:

documents/file.txt

常见路径符号:

符号 含义
/ 根目录
. 当前目录
.. 上一级目录
~ 当前用户家目录
- 上一次所在目录(支持该用法的命令)

五、Linux 常用基础命令

这是 Linux 入门最重要的部分。掌握以下命令,就可以完成大部分基础文件管理操作。

5.1 目录操作

查看当前所在目录:

pwd

列出当前目录文件:

ls

显示详细信息:

ls -l

显示隐藏文件:

ls -la

切换目录:

cd /home

返回上一级目录:

cd ..

返回家目录:

cd ~

返回上一次所在目录:

cd -

5.2 文件和目录管理

创建目录:

mkdir test

递归创建多级目录:

mkdir -p /data/docker/app

创建空文件:

touch test.txt

复制文件:

cp test.txt backup.txt

复制目录:

cp -r test backup

移动文件:

mv test.txt /home/

重命名文件:

mv old.txt new.txt

删除文件:

rm test.txt

删除目录及其内容:

rm -r test

注意:rm -rf 会强制递归删除指定路径下的内容,通常不会进入回收站。执行前务必确认路径,尤其不要在不清楚命令作用时使用。

5.3 查看文件内容

查看文件全部内容:

cat /etc/os-release

分页查看文件:

less /var/log/syslog

查看文件开头:

head -n 20 test.txt

查看文件末尾:

tail -n 20 test.txt

实时查看日志:

tail -f /var/log/syslog

退出 less 或实时日志查看,通常按 q 或 Ctrl+C。

5.4 搜索文件和内容

查找文件:

find /home -name "*.txt"

忽略大小写查找:

find /home -iname "*.txt"

搜索文件内容:

grep "error" test.log

递归搜索目录中的内容:

grep -r "error" /var/log/

忽略大小写:

grep -i "error" test.log

显示匹配行的行号:

grep -n "error" test.log

六、Linux 用户与权限管理

Linux 是一个多用户操作系统,用户权限管理是其安全机制的重要组成部分。

6.1 用户和用户组

Linux 中主要有两类用户:

  • 普通用户:拥有受限制的系统操作权限。
  • root 用户:系统超级管理员,拥有几乎所有系统操作权限。

查看当前用户:

whoami

查看当前用户所属的用户组:

groups

查看系统用户:

cat /etc/passwd

6.2 创建用户

创建新用户:

useradd -m username

设置用户密码:

passwd username

将用户添加到 sudo 用户组:

usermod -aG sudo username

注意:Ubuntu、Debian 等发行版通常使用 sudo 组;Alpine、部分 RHEL 系发行版的配置可能不同,需要根据实际系统调整。

6.3 Linux 文件权限

执行:

ls -l

可能看到类似结果:

-rwxr-xr-- 1 root root 1024 Nov 5 10:00 test.sh

权限部分可以分为四组:

- rwx r-x r--
  │   │   │
  │   │   └── 其他用户权限
  │   └────── 所属用户组权限
  └────────── 文件所有者权限

权限含义:

权限 数值 含义
r 4 读取
w 2 写入
x 1 执行
- 0 无权限

例如:

chmod 755 test.sh

表示:

  • 所有者:读取、写入、执行。
  • 所属组:读取、执行。
  • 其他用户:读取、执行。

修改文件所有者:

chown user:user test.txt

递归修改目录所有者:

chown -R user:user /data

6.4 sudo 命令

普通用户执行系统管理操作时,通常需要使用 sudo。

例如:

sudo apt update

它会以管理员权限执行对应命令。

不要在不清楚命令作用时直接使用 root 权限运行程序。


七、Linux 软件包管理

Linux 通常通过包管理器安装、更新和卸载软件。

不同发行版使用不同的包管理工具。

发行版 包管理器
Ubuntu APT
Debian APT
Alpine APK
Arch Linux Pacman
Fedora DNF
Rocky Linux DNF

7.1 Ubuntu / Debian

更新软件包索引:

sudo apt update

升级已安装软件:

sudo apt upgrade

安装软件:

sudo apt install nginx

卸载软件:

sudo apt remove nginx

卸载软件及其配置文件:

sudo apt purge nginx

清理不再需要的软件包:

sudo apt autoremove

7.2 Alpine Linux

更新软件包索引:

apk update

升级软件包:

apk upgrade

安装软件:

apk add nginx

卸载软件:

apk del nginx

搜索软件包:

apk search nginx

Alpine Linux 采用 APK 包管理器,系统体积较小,非常适合容器和轻量级服务器环境。


八、Linux 进程与服务管理

在 Linux 中,程序运行后通常会产生一个或多个进程。

8.1 查看系统进程

查看所有进程:

ps aux

实时查看进程:

top

如果安装了 htop,也可以使用:

htop

查找指定进程:

ps aux | grep nginx

查看进程 PID:

pgrep nginx

8.2 结束进程

根据 PID 结束进程:

kill 1234

强制结束进程:

kill -9 1234

根据进程名称结束:

pkill nginx

注意:kill -9 会直接强制终止进程,可能导致程序无法正常清理资源,应优先尝试普通 kill。

8.3 systemd 服务管理

Ubuntu、Debian 等采用 systemd 的系统,可以使用 systemctl 管理服务。

启动服务:

sudo systemctl start nginx

停止服务:

sudo systemctl stop nginx

重启服务:

sudo systemctl restart nginx

查看服务状态:

sudo systemctl status nginx

设置开机自启:

sudo systemctl enable nginx

取消开机自启:

sudo systemctl disable nginx

查看系统启动日志:

journalctl -b

查看指定服务日志:

journalctl -u nginx

注意:Alpine Linux 默认使用 OpenRC,而不是 systemd,服务管理通常使用 rc-service 和 rc-update:

rc-service nginx start
rc-service nginx status
rc-update add nginx default

九、Linux 网络管理

Linux 经常用于服务器和网络设备,因此掌握基本网络命令非常重要。

9.1 查看 IP 地址

ip addr

查看网络接口:

ip link

查看路由表:

ip route

查看默认网关:

ip route show default

9.2 网络连通性测试

测试网络连通性:

ping 8.8.8.8

测试域名解析:

nslookup google.com

也可以使用:

dig google.com

查看网络连接和监听端口:

ss -tulnp

参数说明:

  • -t:TCP 连接。
  • -u:UDP 连接。
  • -l:监听状态。
  • -n:显示数字地址和端口。
  • -p:显示进程信息。

查看指定端口:

ss -tulnp | grep 8080

9.3 下载文件

使用 wget:

wget https://example.com/file.zip

使用 curl:

curl -LO https://example.com/file.zip

查看 HTTP 响应头:

curl -I https://example.com

十、SSH 远程连接 Linux

SSH(Secure Shell)是一种加密的远程登录协议,也是 Linux 服务器管理中最常用的工具之一。

10.1 安装 SSH 服务

Ubuntu / Debian:

sudo apt install openssh-server

Alpine:

apk add openssh

10.2 启动 SSH 服务

Ubuntu / Debian:

sudo systemctl enable --now ssh

Alpine:

rc-update add sshd default
rc-service sshd start

10.3 远程连接

在 Windows CMD 或 PowerShell 中执行:

ssh username@192.168.1.100

如果 SSH 使用非默认端口:

ssh -p 2222 username@192.168.1.100

10.4 使用 SSH 密钥登录

在 Windows PowerShell 中生成密钥:

ssh-keygen -t ed25519

将公钥部署到 Linux 服务器的 ~/.ssh/authorized_keys 文件中,并确保权限设置正确。

之后可以使用密钥进行身份验证,减少密码登录的需求。


十一、Linux 磁盘与存储管理

磁盘管理是服务器运维中非常重要的一部分。

11.1 查看磁盘信息

查看磁盘及分区:

lsblk

查看磁盘容量:

df -h

查看目录占用空间:

du -sh /var/log

查看当前目录下各文件夹大小:

du -h --max-depth=1

11.2 磁盘挂载

查看当前挂载情况:

mount

创建挂载目录:

mkdir -p /mnt/data

挂载文件系统:

mount /dev/sdb1 /mnt/data

卸载磁盘:

umount /mnt/data

注意:实际挂载前需要确认设备名称、文件系统类型和数据状态。不要在未确认分区内容的情况下格式化磁盘。


十二、Shell 与管道操作

Shell 是 Linux 中非常重要的命令解释器,可以执行命令、管理进程以及编写自动化脚本。

12.1 管道符

管道符 | 可以将前一个命令的输出传递给后一个命令。

例如:

ps aux | grep nginx

先列出进程,再筛选包含 nginx 的内容。

12.2 输出重定向

将命令输出保存到文件:

ls -l > output.txt

追加内容:

echo "Hello Linux" >> output.txt

将错误输出重定向到文件:

command 2> error.log

同时重定向标准输出和错误输出:

command > output.log 2>&1

12.3 编写简单 Shell 脚本

创建脚本:

nano hello.sh

输入以下内容:

#!/bin/sh

echo "Hello Linux!"
echo "当前用户:$(whoami)"
echo "当前目录:$(pwd)"
echo "当前时间:$(date)"

保存后赋予执行权限:

chmod +x hello.sh

执行脚本:

./hello.sh

Shell 脚本可以将多个命令组合起来,实现自动化任务,例如日志清理、文件备份和服务检查。


十三、Linux 学习建议

Linux 涉及的知识非常广泛,不建议一开始就尝试掌握所有内容。

可以按照以下顺序逐步学习:

第一阶段:基础操作

  • 熟悉 Linux 目录结构。
  • 掌握 cd、ls、pwd 等基础命令。
  • 学会创建、复制、移动和删除文件。
  • 熟悉 cat、less、grep 等文件查看工具。

第二阶段:系统管理

  • 学习用户和权限管理。
  • 掌握 APT、APK 等包管理器。
  • 熟悉进程管理和服务管理。
  • 学会查看系统日志。

第三阶段:网络与服务器

  • 学习 IP 地址、路由和 DNS。
  • 掌握 SSH 远程管理。
  • 熟悉端口、网络连接和防火墙。
  • 尝试部署 Nginx、数据库等服务。

第四阶段:进阶应用

  • 学习 Shell 脚本。
  • 学习 Docker 和容器管理。
  • 了解 systemd、OpenRC。
  • 学习磁盘、文件系统和存储管理。
  • 尝试搭建个人服务器和自动化运维环境。

十四、总结

Linux 的学习并不复杂,真正的难点在于理解系统的工作方式,以及如何将不同命令组合起来解决实际问题。

对于初学者来说,最重要的不是记住大量命令,而是理解以下几个核心概念:

  1. 文件系统:理解 Linux 的目录结构和文件组织方式。
  2. 权限管理:理解用户、用户组以及文件权限。
  3. 软件管理:掌握不同发行版的软件包管理工具。
  4. 进程与服务:了解程序如何运行,以及如何管理系统服务。
  5. 网络管理:掌握 IP、路由、DNS 和 SSH 等基础知识。
  6. 自动化操作:通过 Shell 脚本提高日常操作效率。

建议在实际 Linux 环境中多动手操作。可以从一台 Ubuntu 或 Debian 虚拟机开始,逐步尝试搭建 Web 服务、配置 SSH、部署 Docker 容器。

当你能够独立完成这些任务时,就已经具备了比较扎实的 Linux 入门基础。

Linux 不仅是一套操作系统,更是服务器运维、云计算、网络技术和现代软件开发的重要基础。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。