Linux零基础入门指南:最全常用命令行与基础操作实战详解

92 阅读19分钟

Linux零基础入门指南:最全常用命令行与基础操作实战详解

前言

对于后端开发、运维工程师、嵌入式开发者以及云计算从业者而言,Linux 是绕不开的核心操作系统。相较于 Windows 图形化操作系统,Linux 凭借开源免费、稳定高效、安全性高、资源占用低、可定制性强的优势,占据了服务器、云计算、嵌入式设备、人工智能服务器等绝大多数场景的市场份额。可以说,掌握 Linux 命令行操作,是技术从业者的必备基础技能。

很多新手入门 Linux 时,都会陷入一个误区:死记硬背命令参数,不懂原理、不会实操、遇到报错无从下手。本文将摒弃枯燥的参数堆砌,从 Linux 核心设计理念出发,循序渐进讲解系统基础认知、终端命令行原理、目录导航、文件管理、权限配置、文本处理、压缩解压、系统运维、进程管理等全套基础操作,搭配大量实战案例、新手避坑技巧和场景化用法,全文通俗易懂、干货充足,适合零基础小白入门、开发者查漏补缺、运维人员日常参考。

一、Linux 核心基础认知

1.1 Linux 核心设计思想

想要学好 Linux 操作,首先要牢记其两大核心设计理念,所有命令操作均围绕这两个规则展开:

1. 一切皆文件:在 Linux 系统中,硬件设备、目录、进程、网络接口、日志信息等所有资源,都以文件的形式存在。硬盘、键盘、显示器、网卡本质都是特殊文件,这也是 Linux 文件操作命令可以适配绝大多数系统资源的核心原因。

2. 命令行优先:Linux 服务器默认无图形界面,所有系统操作、服务部署、权限管理、运维监控,都依赖命令行完成。命令行操作效率远高于图形界面,且支持批量脚本自动化执行,是运维和开发的核心操作方式。

1.2 终端与 Shell 原理

我们日常操作的命令行窗口,专业名称为终端(Terminal),而解析、执行命令的程序叫做Shell。Shell 是用户与 Linux 内核沟通的桥梁,用户输入的所有命令,都会由 Shell 翻译后提交给内核执行,最后将结果返回给用户。

主流 Linux 系统(CentOS、Ubuntu、Debian)默认使用 Bash Shell,兼容性最强、命令语法通用度最高,本文所有操作均基于 Bash 环境。

1.3 命令行基本格式

标准 Linux 命令行通用格式如下:

命令 [选项] [参数]

- 命令:核心执行指令,代表要执行的操作(如 ls、cd、mkdir);

- 选项:修饰命令的功能,分为短选项(单横线+单字母,如 -l、-a)和长选项(双横线+完整单词,如 --help、--version);

-参数:命令的操作对象,通常是文件、目录、路径或字符串;

补充说明:部分命令无选项、无参数即可执行,部分命令必须搭配参数,选项可根据需求按需添加。

1.4 新手必备操作技巧

1. Tab 键自动补全:Linux 最高效的操作技巧,输入命令、文件、目录的部分字符,按下 Tab 键可自动补全全称,避免拼写错误;双击 Tab 可列出所有匹配内容。

2. 历史命令查询:按上下方向键,可快速切换上一条/下一条执行过的命令;输入 history 可查看全部历史命令。

3. 强制终止命令:命令执行卡死、输入错误时,按下 Ctrl+C 强制终止当前进程。

4. 清屏操作:输入 clear 命令或快捷键 Ctrl+L 清空终端屏幕。

5. 命令帮助查询:所有系统命令均可通过 man 命令名 查看官方帮助文档,按 q 退出文档。

## 二、Linux 目录结构与导航命令

Linux 没有 Windows 的盘符概念(C盘、D盘),所有文件都挂载在根目录 / 下,形成树形目录结构。熟练掌握目录导航,是所有文件操作的基础。

2.1 核心目录功能详解

根目录 / 下的核心系统目录功能固定,新手必须熟记,避免误操作破坏系统文件:

- /root:超级管理员 root 的家目录,权限最高,仅 root 用户可访问;

- /home:普通用户家目录集合,每个普通用户对应一个同名文件夹,用于存放用户私有文件;

- /bin:存放系统基础可执行命令(ls、cd、cp、rm 等),所有用户均可使用;

- /sbin:存放系统管理员专属命令,仅 root 用户可执行,用于系统运维修复;

- /etc:系统配置文件核心目录,所有服务、系统、用户的配置文件均存放于此(如环境变量、网络配置);

- /usr:系统软件安装目录,默认安装的软件、文档、库文件均在此目录;

-/var:动态文件目录,存放日志、缓存、运行时文件,数据会持续变化;

- /tmp:临时文件目录,系统重启后所有文件自动清空,适合存放临时缓存文件;

- /dev:设备文件目录,对应硬件设备(硬盘、U盘、网卡)。

2.2 路径分类:绝对路径 & 相对路径

Linux 定位文件仅有两种路径方式,所有目录切换、文件操作均依赖路径:

1. 绝对路径:从根目录 / 开始的完整路径,唯一性强、不会出错,适用于脚本编写、固定路径操作。示例:/home/user/test.txt

2. 相对路径:相对于当前所在目录的路径,无需写完整路径,操作更简洁,仅适用于当前目录跳转。

路径快捷符号(新手必记):

- . :当前目录

- .. :上一级目录

- ~ :当前用户家目录

- - :上一次所在目录

2.3 高频目录导航命令实操

2.3.1 pwd:查看当前工作目录

功能:输出当前所在目录的绝对路径,无参数、无选项,是最基础的查询命令。

# 执行命令,返回当前路径
pwd
# 示例输出
/home/ubuntu

2.3.2 cd:切换工作目录

cd(Change Directory)是使用率最高的导航命令,用于切换当前工作目录,支持绝对路径、相对路径和快捷符号。

基础语法:cd [目标路径]

实战常用场景:

# 1. 切换到用户家目录
cd ~
# 2. 切换到上一级目录
cd ..
# 3. 快速返回上一次所在目录(高频实用)
cd -
# 4. 绝对路径切换
cd /etc/profile.d/
# 5. 相对路径切换(当前目录下的test文件夹)
cd test/

2.3.3 ls:查看目录文件列表

ls(List)用于查看当前目录下的文件和目录,搭配选项可查看详细属性,是日常操作最频繁的命令。

基础语法:ls [选项] [目录路径]

核心常用选项:

- -a:显示所有文件,包含以 . 开头的隐藏文件(Linux 隐藏文件默认不展示);

- -l:长格式展示,显示文件权限、大小、修改时间、所有者等详细信息;

- -h:人性化显示文件大小,自动转换 KB/MB/GB(默认字节单位,无法直观查看);

- -t:按文件修改时间排序,最新文件置顶;

- -r:倒序排序。

实战高频组合(新手首选):

# 查看所有文件+详细信息+人性化大小(日常最常用)
ls -lh
# 查看包含隐藏文件的所有详细内容
ls -lha
# 按修改时间排序查看文件
ls -lht

ls -l 输出信息解读:首位字符区分文件类型,- 代表普通文件,d 代表目录,l 代表链接文件,后续依次为权限、硬链接数、所有者、所属组、大小、修改时间、文件名。

## 三、Linux 文件与目录管理核心命令

文件和目录管理是 Linux 操作的核心,涵盖创建、删除、复制、移动、重命名、大小查看等全场景操作,所有命令均搭配实战案例和避坑指南。

3.1 目录创建:mkdir

mkdir(Make Directory)用于创建空目录,支持单层、多层嵌套目录创建。

基础语法:mkdir [选项] 目录名

核心选项:-p:递归创建多层目录,上级目录不存在时自动创建,无报错。

实战案例:

# 1. 创建单层目录
mkdir test_dir
# 2. 递归创建多层嵌套目录(重点!新手必备)
mkdir -p a/b/c/d
# 3. 一次性创建多个同级目录
mkdir dir1 dir2 dir3

避坑提醒:不加 -p 选项时,仅能创建单层目录,上级目录不存在会直接报错。

3.2 文件创建:touch

touch 主要用于创建空文件,同时可更新已有文件的修改时间,不会修改文件内容。

实战案例:

# 1. 创建单个空文件
touch test.txt
# 2. 批量创建多个文件
touch 1.log 2.log 3.log

补充:Linux 不区分文件后缀,.txt、.log、.sh 仅为方便用户识别,系统无强制格式限制。

3.3 复制命令:cp

cp(Copy)用于复制文件或目录,支持本地复制、跨目录复制,是文件迁移核心命令。

基础语法:cp [选项] 源文件/目录 目标路径

核心选项:

- -r/-R:递归复制目录,复制文件夹必须加此选项,否则报错;

- -f:强制复制,覆盖目标文件不提示;

- -v:可视化复制过程,显示复制详情;

- -i:覆盖文件前弹窗提示,避免误覆盖(默认开启)。

实战案例:

# 1. 复制单个文件到指定目录
cp test.txt /home/ubuntu/
# 2. 递归复制整个目录(重点)
cp -rv test_dir /tmp/
# 3. 复制文件并重命名
cp test.txt new_test.txt

3.4 移动/重命名:mv

mv(Move)功能兼具移动文件目录重命名,无需递归选项,操作比 cp 更简洁,日常使用率极高。

基础语法:mv 源文件/目录 目标路径/新名称

实战场景区分:

1. 目标路径不存在:执行重命名操作;

2. 目标路径已存在:执行移动操作。

实战案例:

# 1. 文件重命名
mv test.txt demo.txt
# 2. 移动文件到指定目录
mv demo.txt /tmp/
# 3. 移动整个目录
mv test_dir /home/ubuntu/
# 4. 批量移动文件
mv *.log /tmp/logs/

3.5 删除命令:rm(新手重点避坑)

rm(Remove)用于删除文件和目录,删除后无法恢复,是 Linux 最危险的命令,新手务必谨慎操作。

基础语法:rm [选项] 文件/目录

核心选项:

- -f:强制删除,不弹窗确认,忽略不存在文件、只读文件报错;

- -r:递归删除,用于删除文件夹及内部所有文件;

- -i:删除前逐一确认,安全模式。

实战案例与避坑指南:

# 1. 删除单个文件(带确认)
rm test.txt
# 2. 强制删除文件(无确认)
rm -f test.txt
# 3. 递归强制删除目录(高频用法)
rm -rf test_dir
# 严禁操作!!!高危指令,会清空系统所有文件
rm -rf / 、 rm -rf /*

新手核心禁忌:永远不要执行 rm -rf /rm -rf /*,会直接摧毁整个系统,无法恢复!日常删除目录优先使用 rm -rf 目录名,精准操作。

3.6 文件大小查看:du & df

运维日常需要频繁查看文件占用空间和磁盘使用率,两个命令分工明确:

3.6.1 du:查看文件/目录占用空间

基础语法:du [选项]

核心选项:-h 人性化显示大小,-s 仅显示总大小(不展示子文件详情)

# 查看当前目录总占用大小
du -sh
# 查看指定目录大小
du -sh /home/ubuntu/

3.6.2 df:查看磁盘整体使用率

用于查看系统磁盘分区、剩余空间、挂载情况,是磁盘爆满排查核心命令。

# 人性化展示磁盘使用情况
df -h

## 四、Linux 文本查看与编辑命令

Linux 所有配置、日志、脚本均为文本文件,熟练掌握文本查看和编辑命令,是配置服务、排查日志的核心能力。本文涵盖零基础友好的查看命令和核心编辑器 Vim 基础操作。

4.1 基础文本查看命令

4.1.1 cat:一次性查看全部内容

适用于查看小体积文件(KB级),直接输出文件全部内容,不适合大日志文件。

# 查看文件全部内容
cat test.txt
# 显示行号查看内容
cat -n test.txt

4.1.2 less:分页查看文件(大文件首选)

less 是查看大日志文件的最优命令,支持上下翻页、搜索、退出,不会一次性加载全部内容,占用资源极低。

操作快捷键:空格下翻页、b 上翻页、/关键词 搜索、q 退出

less log.txt

4.1.3 head/tail:查看首尾内容

1. head:默认查看文件前10行,-n 指定行数

# 查看前20行内容
head -n 20 log.txt

2. tail:默认查看文件后10行,核心用于实时监控日志

# 查看末尾20行
tail -n 20 log.txt
# 实时监控文件新增内容(运维高频!排查日志必备)
tail -f log.txt

4.2 Vim 编辑器基础操作

Vim 是 Linux 系统自带的万能文本编辑器,无需额外安装,支持所有文本编辑、配置修改,是开发者和运维的必备工具。Vim 核心是三种工作模式,新手只需掌握基础编辑操作即可满足日常需求。

4.2.1 三大核心模式

1. 普通模式:默认进入模式,用于光标移动、复制、删除、撤销,无法直接输入内容;

2. 编辑模式:按下 i/a/o 进入,可自由输入、修改文本内容;

3. 命令模式:按下 : 进入,用于保存、退出、查找、替换、设置行号。

4.2.2 新手必备实操流程

# 1. 打开/创建文件
vim test.txt

# 2. 进入编辑模式(任意一个即可)
i  # 光标当前位置插入
a  # 光标后一位插入
o  # 新建一行插入

# 3. 编辑完成,按 ESC 退回普通模式,输入命令
:w  # 保存文件
:q  # 退出编辑器
:wq # 保存并退出(最常用)
:q! # 强制退出,不保存修改
:wq! # 强制保存并退出(只读文件权限)

4.2.3 高频快捷操作

- 撤销操作:普通模式按 u

- 快速删除整行:普通模式按 dd

- 复制整行:普通模式按 yy

- 粘贴内容:普通模式按 p

- 显示行号:命令模式输入 :set nu

- 取消行号:命令模式输入 :set nonu

## 五、Linux 权限管理详解

Linux 是多用户多权限系统,文件权限是系统安全的核心,所有文件、目录都有专属的读、写、执行权限,新手必须掌握权限查看和修改方法,解决日常权限不足、无法访问的问题。

5.1 权限基础认知

通过 ls -l 查看文件权限,每个文件权限分为三组,对应三类用户:

1. 所有者(u):文件创建者,权限最高;

2. 所属组(g):同组用户,拥有对应组权限;

3. 其他用户(o):非所有者、非同组的其他所有用户。

三种权限标识:

- r(读):文件可查看、目录可列出内容;

- w(写):文件可修改删除、目录可新建删除文件;

- x(执行):文件可运行脚本程序、目录可进入切换。

5.2 权限修改命令:chmod

chmod 用于修改文件/目录权限,支持字母赋值(新手易懂)和数字赋值(运维高频)两种方式。

权限数字对应规则:r=4,w=2,x=1,权限值为对应数字之和。

常见权限组合:

- 755:所有者全部权限,组和其他用户读、执行(目录默认权限);

- 644:所有者读写,组和其他用户只读(文件默认权限);

- 777:所有用户全部权限(最高权限,谨慎使用)。

实战案例:

# 数字方式修改权限(最常用)
chmod 755 test_dir
chmod 644 test.txt

# 字母方式修改权限
chmod u+x test.sh  # 给所有者添加执行权限
chmod o-r test.txt # 取消其他用户读权限

# 递归修改目录下所有文件权限
chmod -R 755 test_dir/

5.3 所有者修改:chown

用于修改文件/目录的所有者和所属组,需 root 权限执行。

# 修改文件所有者
chown ubuntu test.txt
# 同时修改所有者和所属组
chown ubuntu:ubuntu test_dir
# 递归修改目录所有文件归属
chown -R ubuntu:ubuntu test_dir/

## 六、压缩与解压命令(运维高频)

Linux 日常文件打包、传输、备份,均需要压缩解压操作,主流格式为 .tar.gz、.zip,核心掌握 tar 和 zip/unzip 两个命令即可覆盖所有场景。

6.1 tar 打包压缩命令(核心必备)

tar 是 Linux 系统默认自带的打包压缩工具,支持无压缩打包、gzip、bzip2 压缩,是使用率最高的压缩命令。

核心参数拆解:

- c:创建打包文件;x:解压打包文件;t:查看包内容;

- z:gzip 压缩(.tar.gz 格式,最常用);

- j:bzip2 压缩(.tar.bz2 格式);

- v:可视化过程;f:指定压缩包文件名(必须放在参数最后)。

实战万能公式(新手直接套用):

# 1. 压缩文件/目录为 tar.gz 格式
tar -zcvf 压缩包名.tar.gz 源文件/目录

# 示例:压缩test_dir目录
tar -zcvf test.tar.gz test_dir/

# 2. 解压 tar.gz 压缩包
tar -zxvf 压缩包名.tar.gz

# 示例:解压到当前目录
tar -zxvf test.tar.gz

# 3. 解压到指定目录
tar -zxvf test.tar.gz -C /tmp/

# 4. 查看压缩包内容(不解压)
tar -ztvf test.tar.gz

6.2 zip/unzip 压缩解压

zip 格式兼容性更强,可直接在 Windows 系统打开,适合跨平台文件传输。部分系统默认未安装,可通过 yum/apt 快速安装。

# 安装命令
yum install zip unzip -y  # CentOS
apt install zip unzip -y   # Ubuntu

# 1. 压缩目录为zip文件(-r 递归压缩)
zip -r test.zip test_dir/

# 2. 解压zip文件
unzip test.zip

# 3. 解压到指定目录
unzip test.zip -d /tmp/

## 七、系统运维与进程管理命令

掌握系统状态查看、进程监控、服务管理命令,是日常运维、故障排查的基础,可快速排查卡顿、进程卡死、资源占用过高等问题。

7.1 系统基础信息查看

# 查看系统内核版本
uname -r
# 查看系统完整信息
uname -a
# 查看系统发行版本(CentOS/Ubuntu版本)
cat /etc/os-release
# 查看当前登录用户
who
# 查看系统运行时间、负载
uptime

7.2 进程管理核心命令

7.2.1 ps:查看静态进程

用于查看当前系统瞬间的进程状态,常用组合 ps -ef 查看所有进程。

# 查看所有进程
ps -ef
# 过滤指定进程(排查进程是否运行)
ps -ef | grep java
ps -ef | grep nginx

7.2.2 top:动态监控进程

实时刷新系统进程状态、CPU、内存占用,相当于 Linux 任务管理器,是排查资源占用过高的核心命令。

# 开启动态监控
top

操作快捷键:P 按CPU排序、M 按内存排序、q 退出。

7.2.3 kill:终止进程

用于关闭卡死、异常进程,通过进程 PID 精准终止。

# 普通终止进程(温和退出)
kill PID
# 强制终止进程(进程卡死时使用)
kill -9 PID

7.3 网络状态查看

# 查看网卡IP地址
ip addr
# 测试网络连通性
ping 域名/IP
# 查看端口监听状态(排查端口占用)
netstat -tulpn

## 八、高级文本处理三剑客(进阶必备)

grep、sed、awk 被称为 Linux 文本三剑客,是日志筛选、数据处理、批量修改文件的神器,无需打开文件即可完成批量操作,运维和自动化脚本必备。

8.1 grep:文本搜索过滤

核心功能:从文件或输出内容中,精准筛选匹配指定关键词的内容,日志排查使用率最高。

# 筛选包含error的日志行(排查报错)
grep "error" log.txt
# 忽略大小写匹配
grep -i "error" log.txt
# 反向匹配,筛选不包含关键词的内容
grep -v "info" log.txt
# 递归筛选目录下所有文件的关键词
grep -r "test" /home/ubuntu/

8.2 sed:批量文本替换

无需打开文件,批量替换、删除、新增文本内容,适合批量修改配置文件。

# 替换文件中所有old为new
sed -i 's/old/new/g' test.txt
# 删除包含关键词的行
sed -i '/keyword/d' test.txt

8.3 awk:文本数据统计

擅长格式化文本、截取列、统计数据,常用于日志数据提取、流量统计。

# 截取文件第一列内容
awk '{print $1}' test.txt
# 筛选指定条件内容
awk '$3>100' log.txt

## 九、新手学习总结与避坑指南

9.1 核心学习思路

Linux 命令无需死记硬背,遵循先理解原理、再实操练习、场景化记忆的思路即可快速掌握。所有命令都对应固定场景,日常操作优先熟记高频命令,低频命令可通过 man 文档随时查询。

9.2 新手高频避坑要点

1. 严禁随意执行 rm -rf /rm -rf /* 高危删除命令,删除前务必核对路径;

2. 修改系统配置文件前,优先备份原文件,避免配置错误导致系统故障;

3. 权限修改慎用 777 最高权限,遵循最小权限原则,保障系统安全;

4. 大文件查看优先使用 less、tail,禁止直接 cat 超大日志,避免终端卡顿;

5. 目录复制、删除必须加 -r 递归参数,文件操作无需递归参数。

9.3 学习进阶方向

掌握本文基础命令后,可进阶学习 Shell 脚本编程、定时任务配置、服务自启配置、防火墙配置、用户权限精细化管理、Docker 容器运维等内容,逐步从零基础入门成长为专业运维/开发人员。

## 结语

本文完整覆盖了 Linux 零基础必备的所有基础操作,包含系统认知、目录导航、文件管理、权限配置、文本编辑、压缩解压、系统运维、进程管理、高级文本处理等全场景核心技能,所有命令均搭配实战案例和场景用法,完全适配日常开发、运维、学习需求。Linux 操作的核心在于多练多用,熟练掌握基础命令后,后续所有高级操作和自动化运维都会事半功倍。