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 操作的核心在于多练多用,熟练掌握基础命令后,后续所有高级操作和自动化运维都会事半功倍。