Linux基本指令详解:从零掌握Linux命令行操作
前言Linux作为目前服务器领域使用最广泛的操作系统之一被大量应用于云服务器后端开发环境嵌入式设备大数据平台人工智能计算环境网络服务器相比Windows系统Linux最大的特点之一就是一切皆文件一切皆命令。在Linux中我们不像Windows一样主要依靠鼠标点击窗口完成操作而是通过终端Terminal输入命令完成创建文件删除文件修改权限查看系统状态管理进程配置网络软件安装例如Windows中创建文件夹右键 → 新建 → 文件夹Linux中mkdir test一句命令即可完成。因此熟练掌握Linux基本指令是学习Linux系统、服务器开发和后端工程的重要基础。本文将从零开始介绍Linux最常用的基础命令让读者能够真正理解Linux命令行操作。一、Linux命令行介绍1. 什么是Linux命令行Linux命令行Command Line InterfaceCLI指用户通过输入文本命令让操作系统完成任务的一种交互方式。例如pwdLinux执行后/home/user表示当前所在目录。相比图形界面图形界面命令行点击操作输入命令操作直观操作高效自动化能力弱可以写脚本服务器环境少使用服务器主要方式2. Linux命令基本格式Linux命令通常由三部分组成command [options] [arguments]例如ls -l /home拆解内容含义ls命令-l参数/home操作对象3. Linux终端提示符打开Linux终端通常看到userubuntu:~$其中user表示当前用户名。ubuntu表示主机名。~表示当前目录。$表示普通用户。如果是root用户rootubuntu:~#最后#代表超级管理员权限。二、Linux基本指令分类学习Linux命令非常多但是日常开发中主要分为1. 文件目录操作用于管理文件和文件夹pwdlscdmkdirtouchrmcpmv2. 文件查看编辑用于查看和修改文件catmorelessheadtailvim3. 文件搜索快速定位文件findgrep4. 权限管理控制文件访问chmodchown5. 系统管理查看系统状态pstopkilldfdu6. 网络管理查看网络pingipifconfig7. 压缩解压管理压缩包targzip三、文件与目录操作指令1. pwd命令1作用pwd全称print working directory作用显示当前用户所在的目录路径。Linux文件系统是树形结构例如/ ├── home │ └── user │ └── project ├── etc └── varpwd可以告诉我们当前处于哪个位置。2基本语法pwd没有参数。3常用参数pwd参数较少-L显示逻辑路径pwd -L-P显示真实物理路径pwd -P4实际案例输入pwd输出/home/student/project表示当前目录/home/student/project例如进入cd /usr/local执行pwd结果/usr/local2. ls命令1作用lslist的缩写。作用查看当前目录中的文件和目录。类似Windows打开文件夹查看里面内容2基本语法ls [参数] [目录]例如ls /home查看/home目录内容。3常用参数① -l显示详细信息。输入ls -l输出-rw-r--r-- 1 user user 1024 test.txt drwxr-xr-x 2 user user 4096 project解释-rw-r--r--文件权限1024文件大小test.txt文件名② -a显示隐藏文件。Linux隐藏文件以.开头。例如.bashrc .gitconfig输入ls -a结果. .. .bashrc project test.txt③ -h人性化显示大小。输入ls -lh输出-rw-r--r-- 1 user user 1.2K test.txt如果没有1200更加直观。4实际案例查看当前目录输入ls输出code document test.txt表示当前目录有code文件夹 document文件夹 test.txt文件查看详细信息输入ls -al输出drwxr-xr-x 5 user user 4096 . drwxr-xr-x 3 user user 4096 .. -rw-r--r-- 1 user user 2000 test.txt3. cd命令1作用cdchange directory。作用切换当前工作目录。Linux中所有操作都依赖当前位置。2基本语法cd 目录路径3常用参数① 返回home目录cd ~或者cd② 返回上一级目录cd ..例如当前/home/user/project执行cd ..进入/home/user③ 返回上一次目录cd -例如当前位置/home之前/usr执行cd -回到/usr4实际案例当前pwd输出/home/user进入project输入cd project查看pwd输出/home/user/project4. mkdir命令1作用mkdirmake directory。作用创建新的目录。类似Windows新建文件夹。2基本语法mkdir [参数] 目录名3常用参数-p递归创建目录。例如想创建a/b/c如果a不存在普通mkdir a/b/c会失败。使用mkdir -p a/b/cLinux会自动创建a └── b └── c4实际案例输入mkdir project执行后目录project创建成功。查看ls输出project创建多级目录输入mkdir -p Linux/LinuxCommand/basic结果Linux └── LinuxCommand └── basic5. touch命令1作用touch作用创建空文件。也可以修改文件时间。2基本语法touch 文件名3常用参数-a修改访问时间touch -a test.txt-m修改修改时间touch -m test.txt4实际案例创建文件输入touch hello.txt查看ls输出hello.txt查看详细ls -l输出-rw-r--r-- 1 user user 0 Aug 10 hello.txt注意大小0说明这是一个空文件。《Linux基本指令》学习博客——第二部分本部分学习内容rm删除文件和目录cp复制文件和目录mv移动与重命名cat查看文件内容more分页查看文件less更灵活地分页查看文件head查看文件开头tail查看文件结尾四、文件与目录操作指令上一部分我们学习了pwd ls cd mkdir touch现在我们继续学习另外三个非常重要的文件操作命令rm cp mv这三个命令在Linux开发和服务器运维中使用频率非常高。1. rm命令1作用rm是remove的缩写。作用删除文件或者目录。例如我们之前创建了一个文件touch test.txt现在不需要这个文件了就可以rm test.txt删除它。2基本语法删除文件rm 文件名删除多个文件rm 文件1 文件2 文件3删除目录rm -r 目录名3常用参数①-r递归删除目录。例如test ├── a.txt ├── b.txt └── c.txt如果直接rm test通常会提示rm: cannot remove test: Is a directory因为test是一个目录。需要rm -r test②-f强制删除。rm -f test.txt-fforce意思是强制执行。例如文件不存在时rm test.txt可能出现rm: cannot remove test.txt: No such file or directory而rm -f test.txt通常不会提示这个错误。③-rf递归 强制。rm -rf test意思强制递归删除整个test目录以及里面的所有内容。例如test ├── a.txt ├── b.txt └── project └── main.cpp执行rm -rf test整个test目录都会被删除。4实际案例创建测试文件touch hello.txt查看ls输出hello.txt删除rm hello.txt再次ls结果说明文件已经不存在。删除目录创建mkdir test里面创建文件touch test/a.txt touch test/b.txt目录结构test ├── a.txt └── b.txt执行rm -r test再次ls可以看到test已经消失。⚠️ 特别注意rm是Linux初学者必须特别小心的命令。例如rm -rf 某个目录会直接删除该目录及其内容。Linux通常没有像Windows回收站一样的保护机制。所以rm -rf一定要确认删除目标。尤其不要在不了解命令含义的情况下随便执行rm -rf /*这类命令可能造成严重的数据损失。2. cp命令1作用cpcopy作用复制文件或者目录。例如test.txt复制成test2.txt2基本语法复制文件cp 源文件 目标文件例如cp test.txt test2.txt复制到目录cp 文件 目录例如cp test.txt /home/user/复制目录cp -r 源目录 目标目录3常用参数①-r递归复制目录。例如cp -r project backup表示把project整个目录复制成backup。②-i覆盖前进行询问。cp -i test.txt backup.txt如果目标文件已经存在cp: overwrite backup.txt?这时候可以输入y确认。③-v显示复制过程。cp -v test.txt backup.txt可能输出test.txt - backup.txt4实际案例首先创建文件touch test.txt然后复制cp test.txt backup.txt查看ls输出backup.txt test.txt说明test.txt复制出了backup.txt复制目录创建mkdir project创建文件touch project/main.cpp touch project/test.cpp现在project ├── main.cpp └── test.cpp执行cp -r project project_backup查看ls输出project project_backup现在就有两个目录。3. mv命令1作用mvmove作用移动文件或目录也可以用于重命名。这是一个非常重要的知识点。mv既可以移动也可以重命名2基本语法移动mv 源文件 目标位置重命名mv 原名称 新名称3常用参数-i覆盖之前询问mv -i test.txt backup.txt-v显示操作过程mv -v test.txt /tmp/可能renamed test.txt - /tmp/test.txt4实际案例案例一重命名创建touch test.txt执行mv test.txt hello.txt查看ls输出hello.txt原来的test.txt没有了。实际上并不是创建了一个新文件而是把test.txt改成hello.txt案例二移动文件创建touch test.txt mkdir backup当前. ├── test.txt └── backup执行mv test.txt backup/现在. └── backup └── test.txt说明test.txt被移动到了backup目录。4. cp和mv有什么区别这是初学者非常容易混淆的地方。假设test.txt执行cp test.txt backup.txt结果test.txt backup.txt原文件仍然存在。如果执行mv test.txt backup.txt结果backup.txt原来的test.txt不再存在。所以cp是复制mv是移动/重命名。可以简单记忆cp → Copy → 复制 mv → Move → 移动 rm → Remove → 删除五、文件查看指令现在我们已经能够创建文件 删除文件 复制文件 移动文件接下来出现一个新的问题如果一个文件里面有内容我怎么查看例如hello.txt里面有Hello Linux I am learning Linux. Linux is interesting.这时候就需要cat more less head tail5. cat命令1作用cat是Linux中最简单的文件查看命令之一。作用查看文件内容。2基本语法cat 文件名3常用参数-n显示行号cat -n test.txt例如1 Hello Linux 2 I am learning Linux. 3 Linux is interesting.-b只给非空行显示行号cat -b test.txt4实际案例创建文件touch test.txt可以使用vim test.txt输入Hello Linux I am learning Linux. Linux is interesting.保存之后cat test.txt输出Hello Linux I am learning Linux. Linux is interesting.使用cat -n test.txt输出1 Hello Linux 2 I am learning Linux. 3 Linux is interesting.这样可以看到每一行的行号。6. more命令1作用more主要用于分页查看较长的文件。如果一个文件有几千行cat big.txt可能瞬间刷屏。你根本来不及看。这时候可以more big.txt2基本语法more 文件名3常用操作进入more big.txt之后空格向下翻一页SpaceEnter向下移动一行。q退出q4实际案例假设log.txt有1000行。执行more log.txt终端可能显示Line 1 Line 2 Line 3 Line 4 ... Line 20 --More--这时候Space继续查看下一页。输入q退出。7. less命令1作用less同样用于分页查看文件。但是less通常比more更加灵活。尤其是在查看日志文件 配置文件 大型文本文件时非常常用。2基本语法less 文件名3常用操作进入less log.txt可以↑向上移动。↓向下移动。PageUp向上翻页。PageDown向下翻页。q退出。搜索在less中输入/linux然后回车。表示搜索linux可以使用n跳转到下一个匹配项。4实际案例查看系统日志less /var/log/syslog进入后可以↑ ↓滚动。搜索/linux退出q8. more和less有什么区别简单理解命令特点cat一次性显示全部more分页查看less更强大的分页查看例如文件只有10行可以cat test.txt如果文件10000行推荐less test.txt9. head命令1作用head查看文件开头部分内容。默认前10行2基本语法head 文件名或者head -n 行数 文件名3常用参数-n指定显示多少行。例如head -n 5 test.txt表示查看前5行。也可以head -5 test.txt4实际案例假设test.txt内容Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 Line 7 Line 8 Line 9 Line 10 Line 11 Line 12执行head test.txt输出Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 Line 7 Line 8 Line 9 Line 10因为默认显示前10行。执行head -n 3 test.txt输出Line 1 Line 2 Line 310. tail命令1作用tail查看文件末尾部分内容。与head正好相反。head → 开头 tail → 结尾2基本语法tail 文件名或者tail -n 行数 文件名3常用参数-n指定显示最后多少行。tail -n 5 test.txt-f实时跟踪文件变化。这是tail非常重要的功能。例如tail -f app.log表示持续观察app.log文件最后的内容。当程序不断往日志里面写内容时终端会实时显示新增日志。退出Ctrl C4实际案例假设test.txt有Line 1 Line 2 Line 3 ... Line 20执行tail test.txt输出Line 11 Line 12 Line 13 Line 14 Line 15 Line 16 Line 17 Line 18 Line 19 Line 20默认查看最后10行。查看最后3行tail -n 3 test.txt输出Line 18 Line 19 Line 20六、head和tail的实际应用这两个命令在服务器开发中非常重要。例如服务器有一个日志server.log日志可能有几十万行。你不可能cat server.log因为会刷屏。如果想看看日志开头head server.log如果想看看最新日志tail server.log如果想实时观察服务器日志tail -f server.log这在后端开发中非常常见。例如服务器运行用户登录 数据库连接 请求接口 处理请求 返回结果日志不断增加。执行tail -f server.log可能不断出现2026-08-12 16:10:01 User login 2026-08-12 16:10:05 Request /api/login 2026-08-12 16:10:06 Database connected 2026-08-12 16:10:08 Request /api/user新的日志产生后终端会继续显示。这就是实时查看程序日志。七、本部分知识总结到这里我们已经学习了Linux文件操作和文件查看的核心命令。命令作用rm删除文件/目录cp复制文件/目录mv移动/重命名cat查看文件全部内容more分页查看less更强大的分页查看head查看文件开头tail查看文件结尾可以建立下面这个记忆体系文件操作 │ ┌───────────┼───────────┐ ↓ ↓ ↓ rm cp mv 删除 复制 移动 │ ↓ 重命名文件查看查看文件 │ ┌───────────┼────────────┐ ↓ ↓ ↓ cat more/less head/tail 全部查看 分页查看 局部查看 │ ┌─────────┴─────────┐ ↓ ↓ head tail 开头 结尾 │ ↓ -f 实时跟踪八、练习题把这些命令真正用起来建议不要只看博客一定要打开Linux终端亲自操作。可以创建一个练习目录mkdir linux_test cd linux_test创建三个文件touch a.txt b.txt c.txt查看ls应该看到a.txt b.txt c.txt复制cp a.txt a_backup.txt查看ls应该看到a.txt a_backup.txt b.txt c.txt重命名mv b.txt linux.txt再次ls结果a.txt a_backup.txt c.txt linux.txt删除rm c.txt再次ls结果a.txt a_backup.txt linux.txt这样你就把touch ls cp mv rm完整串起来使用了一遍。下一部分预告vim编辑器 find grep下一部分将进入Linux学习中非常重要的一阶段文件编辑重点学习vim你将学习vim是什么 为什么Linux服务器经常使用vim 普通模式 插入模式 命令模式 i Esc :w :q :wq :q!并通过完整案例演示vim test.txt从打开文件 → 输入内容 → 保存 → 退出的全过程。随后继续学习find grep真正掌握Linux中的文件搜索和内容搜索。

相关新闻

技术人员到管理者的角色转变

技术人员到管理者的角色转变

企业于发展进程里, 皆冀望能有更多复合型员工, 此类复合型员工一般多指那些既有技术又知晓管理的人员, 企业针对这类人员通常的定位乃是希望其能够对技术骨干展开管理, 而非浅显的行政管理, 这般复合人才向来较为匮乏, 企业在培育方面亦有投入。如今, 在诸多企业里, 特别是高新…

2026/10/20 10:23:46 阅读更多 →
基于 RA8P1 的实时摄像头预览工程

基于 RA8P1 的实时摄像头预览工程

本篇在原有触摸屏的基础上装上了摄像头。硬件方面新增 OV5640 摄像头模块,借助 RA8P1 内置的 CEU 图像采集单元接收传感器输出的并行视频流。一、CEU 图像采集单元是什么CEU(Capture Engine Unit,图像采集引擎单元)是瑞萨 RA8 系列…

2026/10/19 7:39:13 阅读更多 →
“图像即证据”“眼见为实”的时代正在结束

“图像即证据”“眼见为实”的时代正在结束

以前,一张照片发过来,很多事就算有了说法。 商品坏了?看照片。 现场完工了?看照片。 对方付款了?看截图。 视频里他说过这句话?那就看视频。 但现在,有了AI,很多情况已经不是眼见为…

2026/10/19 8:30:39 阅读更多 →

最新新闻

过程间分析:让数据流真正跨越方法调用

过程间分析:让数据流真正跨越方法调用

很多人学静态分析时都会卡在一个点上:明明把数据流分析那一套规则背得滚瓜烂熟,可一放到真实程序上,结果总是不对劲。原因往往只有一个——真实程序里到处是方法调用,而经典的过程内分析把每一次调用都当成一个黑盒。黑盒一多&…

2026/10/20 13:11:03 阅读更多 →
C语言位域深度解析:内存布局、符号扩展与硬件映射

C语言位域深度解析:内存布局、符号扩展与硬件映射

简介:本资源是一套面向嵌入式开发与C语言进阶学习者的位域(Bit-field)实践代码包,聚焦于内存紧凑型数据结构设计、硬件寄存器模拟及跨平台位操作验证等典型应用场景。资源包含16个文件,涵盖6个JSON配置文件&#xff08…

2026/10/20 13:11:03 阅读更多 →
愤怒的小鸟源码全解析:从物理引擎到关卡设计的实战指南

愤怒的小鸟源码全解析:从物理引擎到关卡设计的实战指南

这套“愤怒的小鸟附带源码及素材”的项目,比一般教程给的半成品 Demo 实在得多。代码完整,美术图片、音效、关卡数据都在,拿到手不是一个只能看的 PPT,而是一个真的能跑、能玩、能改的游戏工程。我最近把整个项目从目录结构到物理…

2026/10/20 13:11:03 阅读更多 →
Agent Skills七大实战技巧:从提示词封装到智能体能力扩展

Agent Skills七大实战技巧:从提示词封装到智能体能力扩展

春节后第一个完整工作周,我把手头项目的智能体部分整体重构了一遍。重读官方Skills指南的时候,正好赶上团队内部一次关于技能封装的讨论,两边一碰撞,我把核心内容提炼成了七个可以直接落地的小技巧。如果你也在做类似的任务拆解、…

2026/10/20 13:11:03 阅读更多 →
RAG应用进阶:从能答到答得聪明的四个关键能力

RAG应用进阶:从能答到答得聪明的四个关键能力

干了快三年RAG应用,我发现自己最近盯着一批badcase时,已经从“骂检索”变成了“骂模型没脑子”。举一个很典型的例子:用户问“帮我看看最近苹果的价格走势”,系统召回了一堆“苹果公司市值”的新闻,答案长得挺工整&…

2026/10/20 13:11:03 阅读更多 →
GitHub Copilot X实测:AI编程助手从代码补全到结对编程

GitHub Copilot X实测:AI编程助手从代码补全到结对编程

GitHub Copilot X 的体验资格刚到手那天,我先把编辑器里的上一代 Copilot 停用了,想看看纯新环境到底能带来多大差别。作为写过几年业务代码、也偶尔维护开源项目的人,我对 AI 编程助手的态度一直比较谨慎:补全确实爽,…

2026/10/20 13:10:02 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →