当前位置: 首页 > news >正文

CSDN博客-第二篇-Linux基础Day2

Linux 基础 Day2:终端快捷键 · 文件系统 · 路径 · 文件类型 · 目录操作


系列:粤嵌嵌入式培训学习笔记 (第 2 篇)
上一篇:从零搭建 Ubuntu 开发环境(VMware + 工具链)
下一篇:文件操作(touch / cp / mv / rm)
环境:Ubuntu 22.04 · bash | 2026年7月22日


① 概览

正式进入 Linux 系统实际操作。所有操作在终端中进行——后续 C 代码的编写、编译、调试全在这里。

模块一句话
终端常用快捷键9 组,重点 5 组
提示符解析zhaolin@ubuntu:~$六段拆解
Linux 文件系统“万物皆文件” + 倒树状目录 + 核心目录嵌入式用途表
路径概念 ⭐绝对 vs 相对,./../../../~
Linux 文件类型7 种,ls -l首字符识别
目录操作 ⭐pwdlscdmkdirrmdir+ 通配符*

② 终端常用快捷键

⚠️ 一定要在英文输入法下操作,通过 Shift 切换中英文。

快捷键功能嵌入式使用场景
Ctrl + Shift + +放大终端字体查看长指令、编译日志时清晰显示
Ctrl + -缩小终端字体终端内容过多时精简显示
Ctrl + L清理终端屏幕实操作后清空冗余输出
Ctrl + S锁定终端内容调试驱动、查看关键日志时防止误操作
Ctrl + Q解除终端锁定锁定后恢复操作
Ctrl + C终止当前进程终止卡死的调试程序、无限循环
Ctrl + Alt + T打开新终端多任务:编译 + 调试 + 日志查看同时进行
Ctrl + D退出终端会话完成操作后安全退出
Tab命令/文件名补全输入cd /ho+ Tab →cd /home
# 演示:Tab 补全zhaolin@ubuntu:~$cd/ho# 此时按 Tabzhaolin@ubuntu:~$cd/home/# 自动补全!

⚠️Ctrl+S 踩坑预警:按下后终端像死了一样,新手第一反应关窗口。其实只是输出冻结,Ctrl+Q就恢复。这是历史遗留的 XON/XOFF 硬件流控设计。


③ 终端提示符解析

zhaolin@ubuntu:~$
部分含义
zhaolin当前登录用户名
@分隔符,无实际意义
ubuntu主机名(系统安装时配置)
~当前工作目录(家目录 =/home/zhaolin
$权限标识:$= 普通用户,#= root 超级用户

用户权限(嵌入式开发重点)

用户类型权限范围嵌入式使用场景
普通用户($)仅操作个人目录、普通指令日常开发、C/C++ 编译优先使用,避免误改系统
超级用户(#)最高权限,可执行任何操作驱动开发、系统配置、安装依赖,用完立即退出

④ Linux 文件系统

Linux 遵循"万物皆文件"设计哲学,采用层级式倒树状目录结构

# 看看根目录下有什么zhaolin@ubuntu:~$ls/ bin cdrom etc lib lib64 lost+found mnt proc run snap swapfile tmp var boot dev home lib32 libx32 media opt root sbin srv sys usr

核心目录(嵌入式视角)

目录功能嵌入式核心用途重要度
/根目录,所有绝对路径的起点一切文件和目录的顶层入口⭐⭐⭐⭐⭐
/dev硬件设备文件外设驱动开发、串口调试、GPIO 访问⭐⭐⭐⭐⭐
/etc系统/应用配置文件环境变量配置、驱动开机加载配置⭐⭐⭐⭐⭐
/home普通用户家目录代码存放、项目管理、编译输出⭐⭐⭐⭐⭐
/bin普通用户指令(ls, cd, cp, cat)终端基础操作⭐⭐⭐⭐
/usr软件安装路径(bin, lib, include)交叉编译器、开发工具安装位置⭐⭐⭐⭐
/mnt外设临时挂载目录U盘、共享文件夹、NFS 网络目录⭐⭐⭐⭐
/boot引导程序(内核、grub)系统移植、内核裁剪⭐⭐⭐
/lib系统/应用依赖库C/C++ 程序链接驱动库⭐⭐⭐
/proc运行时虚拟文件系统性能调试、进程监控⭐⭐⭐
/var日志、缓存、备份运行日志存储⭐⭐⭐
/sbin超级用户特权指令(fdisk, mount, insmod)驱动安装、磁盘分区⭐⭐⭐

⑤ 路径概念 ⭐

绝对路径 vs 相对路径

路径类型核心定义举例
绝对路径以根目录/为起点的完整路径,全局唯一/mnt/hgfs/share/demo01.c
相对路径以当前工作目录./为起点,随工作目录变化./demo01.c

核心操作符

操作符含义示例
./当前工作目录./uart_app(运行当前目录下的串口应用)
../上一级目录cd ../app(切换到同级 app 目录)
../../上两级目录cd ../../(从/home/zhaolin/code/home
~当前用户家目录cd ~/code(切到家目录下的 code 文件夹)

实操演示

# 假设目录结构:# /home/zhaolin/practice# ├── day01/# └── day02/# 绝对路径:从 / 开始写完整→不管你在哪都能找到zhaolin@ubuntu:~$cd/home/zhaolin/practice/day01 zhaolin@ubuntu:~/practice/day01$pwd/home/zhaolin/practice/day01# 相对路径:从当前位置走→换个目录就不对了zhaolin@ubuntu:~/practice/day01$cd../day02 zhaolin@ubuntu:~/practice/day02$pwd/home/zhaolin/practice/day02# ./ 表示当前目录,通常可以省略zhaolin@ubuntu:~/practice/day02$ls./# (列出当前目录内容,跟直接 ls 一样)

⑥ Linux 文件类型

Linux不靠后缀名判断文件类型.txt只是给人看的),靠ls -l第一列首字符:

标识文件类型嵌入式核心用途
d目录文件存放项目代码、驱动文件、工程子目录
-普通文件C/C++ 源码(.c/.cpp)、可执行文件、配置文件
l符号链接文件驱动库快捷方式、头文件软链接
c字符设备文件串口、终端、GPIO、显示屏(按字符流交互)
b块设备文件硬盘、U盘、Flash、EMMC(按数据块交互)
s套接字文件进程间网络通信,嵌入式网络编程高频
p管道文件多进程间数据传输(传感器数据、控制指令)
# 在根目录找 d、l、- 开头的内容zhaolin@ubuntu:~$ls-l/ drwxr-xr-x2root root409672022:00 bin# d = 目录drwxr-xr-x4root root409672022:00 boot drwxr-xr-x20root root426072214:30 dev drwxr-xr-x140root root1228872214:30 etc drwxr-xr-x3root root409672022:00 home lrwxrwxrwx1root root772022:00 lib ->usr/lib# l = 符号链接drwxr-xr-x2root root409672022:00 mnt# /dev 下全是设备文件,c = 字符设备,b = 块设备zhaolin@ubuntu:~$ls-l/dev|head-10crw-r--r--1root root10,23572214:30 autofs# c = 字符设备crw-------1root root10,23472214:30 btrfs-control brw-rw----1root disk8,072214:30 sda# b = 块设备(硬盘)brw-rw----1root disk8,172214:30 sda1# b = 块设备(分区)crw-rw----1roottty4,072214:30 tty0# c = 字符设备(终端)

⑦ 目录操作 ⭐ 重点

命令格式

指令[选项][操作的文件或者目录]# [] 表示可选参数

7.1 pwd — 查看当前目录

zhaolin@ubuntu:/mnt/hgfs/share$pwd/mnt/hgfs/share zhaolin@ubuntu:/mnt/hgfs/share$cd~ zhaolin@ubuntu:~$pwd/home/zhaolin

7.2 ls — 列出目录内容

基础用法:

zhaolin@ubuntu:~$ls# 当前目录公共的 模板 视频 图片 文档 下载 音乐 桌面 demo01.c zhaolin@ubuntu:~$ls/# 指定路径bin cdrom etc lib lib64 lost+found mnt proc run snap swapfile tmp var boot dev home lib32 libx32 media opt root sbin srv sys usr zhaolin@ubuntu:~$ls./# 等价于 ls(./ 可省略)

-a:显示所有文件(含隐藏文件)

zhaolin@ubuntu:~$ls-a....bash_history .bashrc .profile .vimrc 公共的 模板 视频 图片 文档 下载 音乐 桌面 demo01.c snap .cache

💡 Linux 隐藏文件/目录以.开头,如.bashrc..

-l:长格式显示详细信息

zhaolin@ubuntu:~$ls-ldrwxr-xr-x2zhaolin zhaolin409610月122025公共的 drwxr-xr-x2zhaolin zhaolin409610月122025模板 drwxr-xr-x2zhaolin zhaolin409610月122025视频 -rw-rw-r--1zhaolin zhaolin3587月22 09:14 demo01.c drwx------3zhaolin zhaolin40967月2114:46 snap

ls -l输出逐列解读:

d rwxr-xr-x 2 zhaolin zhaolin 4096 10月12 13:27 桌面 | | | | | | | | 文件类型 权限 硬链接数 所有者 所属组 文件大小 修改时间 文件名

-r:反向排序

zhaolin@ubuntu:~$ls-ldrwxr-xr-x2zhaolin zhaolin409610月122025公共的 drwxr-xr-x2zhaolin zhaolin409610月122025模板 drwxr-xr-x2zhaolin zhaolin409610月122025视频 drwx------3zhaolin zhaolin40967月2114:46 snap# 文件名 A→Zzhaolin@ubuntu:~$ls-lrdrwx------3zhaolin zhaolin40967月2114:46 snap drwxr-xr-x2zhaolin zhaolin409610月122025视频 drwxr-xr-x2zhaolin zhaolin409610月122025模板 drwxr-xr-x2zhaolin zhaolin409610月122025公共的# 文件名 Z→A

-t:按修改时间排序

zhaolin@ubuntu:~$ls-lt-rw-rw-r--1zhaolin zhaolin3587月2214:24 demo02.c# 最新-rw-rw-r--1zhaolin zhaolin3587月22 09:14 demo01.c drwxr-xr-x3zhaolin zhaolin40967月2114:46 snap drwxr-xr-x2zhaolin zhaolin409610月122025公共的# 最旧 → 降序zhaolin@ubuntu:~$ls-ltrdrwxr-xr-x2zhaolin zhaolin409610月122025公共的# 最旧drwxr-xr-x3zhaolin zhaolin40967月2114:46 snap -rw-rw-r--1zhaolin zhaolin3587月22 09:14 demo01.c -rw-rw-r--1zhaolin zhaolin3587月2214:24 demo02.c# 最新 → 升序

组合:选项可以合并写

zhaolin@ubuntu:~$ls-l-t-r# 逐个写zhaolin@ubuntu:~$ls-ltr# 合并写,效果一样

指定路径:

zhaolin@ubuntu:~$ls/mnt/hgfs/share# 看共享文件夹zhaolin@ubuntu:~$ls/home# 看所有用户家目录zhaolin

7.3 cd — 切换目录

命令功能示例
cd ~切换到当前用户家目录cd ~/home/zhaolin
cd -返回上一次操作的目录在两个目录间横跳
cd /切换到根目录cd //
cd ..切换到上一级目录cd ..→ 父目录
cd ../..切换到上两级目录cd ../..→ 祖父目录
# 演示zhaolin@ubuntu:~$cd/home/zhaolin# 绝对路径zhaolin@ubuntu:~$cd/home&&cdzhaolin# 相对路径(等价于 cd ./zhaolin)zhaolin@ubuntu:~$cd/mnt/hgfs# 去共享文件夹zhaolin@ubuntu:/mnt/hgfs$cd-# 回上一个目录/home/zhaolin zhaolin@ubuntu:~$cd-# 再按一次,又回去了/mnt/hgfs

7.4 mkdir — 创建目录

创建单个目录:

zhaolin@ubuntu:~$mkdir20260722# 等于 mkdir ./20260722zhaolin@ubuntu:~$ls20260722公共的 模板 视频 图片 文档 下载 音乐 桌面

批量创建(空格分隔):

zhaolin@ubuntu:~$mkdir2026072320260724zhaolin@ubuntu:~$ls202607222026072320260724公共的 模板 视频 图片 文档 下载 音乐 桌面

-p:创建嵌套目录(中间不存在的自动补)

zhaolin@ubuntu:~$mkdir-pa1/b1/c1# 单个嵌套zhaolin@ubuntu:~$mkdir-pa2/b2/c2 a3/b3/c3# 批量嵌套zhaolin@ubuntu:~$mkdir-pa4/b4/c4 aDir# 嵌套 + 非嵌套混建# 验证嵌套结果zhaolin@ubuntu:~$ls-Ra1 a1: b1 a1/b1: c1 a1/b1/c1: (空目录,无内容)

⚠️ 不加-p,父目录不存在直接报错:

zhaolin@ubuntu:~$mkdirx/y/z mkdir: 无法创建目录"x/y/z":没有那个文件或目录

7.5 rmdir — 删除空目录

限制:只能删空目录!目录非空就报错。

zhaolin@ubuntu:~$mkdirCC AA BB zhaolin@ubuntu:~$rmdirCC# 删单个空目录 → 成功,无提示zhaolin@ubuntu:~$rmdirAA BB# 批量删空目录# 删非空目录会报错zhaolin@ubuntu:~$mkdir-pproject/src zhaolin@ubuntu:~$rmdirproject rmdir: 删除'project'失败: 目录非空# 因为里面还有 src/

7.6 通配符*

*匹配 0 到多个任意字符,rmdir的高频搭档:

zhaolin@ubuntu:~$mkdirtestDir testDir1 testFile aDir bDir zhaolin@ubuntu:~$rmdirtest*# 删所有 test 开头的空目录# testDir、testDir1、testFile 全部删除zhaolin@ubuntu:~$rmdir*Dir# 删所有 Dir 结尾的空目录# aDir、bDir 全部删除zhaolin@ubuntu:~$rmdir*# 删当前目录下所有空目录# 非空目录会跳过并报错,不影响

💡 通配符也可用在其他指令中,不限于rmdir


⑧ 踩坑记录 ⭐

坑1:Ctrl+S按完终端没反应

  • 现象:终端按键无反应,像死机
  • 排查Ctrl+C没用 → 不是程序卡住 → 想起 Ctrl+S
  • 根因Ctrl+S是 XON/XOFF 硬件流控遗留下的"暂停输出"信号
  • 解决:按Ctrl+Q,不要关终端

坑2:mkdir a/b/c报错

  • 现象mkdir: 无法创建目录 "a/b/c": 没有那个文件或目录
  • 根因:中间目录 a、b 不存在,mkdir默认不自动创建父目录
  • 解决mkdir -p a/b/c

坑3:rmdir project报"目录非空"

  • 现象rmdir: 删除 'project' 失败: 目录非空
  • 根因rmdir只能删空目录
  • 解决:非空目录用rm -r(下篇),或先手动清空所有子目录

⑨ 小结

今天完成:终端 9 组快捷键 → 提示符拆解 → “万物皆文件” + 12 个核心目录 → 绝对/相对路径 → 7 种文件类型 →pwdlscdmkdirrmdir+ 通配符。

下一篇:文件操作(touchcpmvrm)。


本文首发于 CSDN,转载请注明出处。

http://www.jsqmd.com/news/1246159/

相关文章:

  • C++与Eigen实现卡尔曼滤波:从原理到二维轨迹追踪实战
  • Kimi K3 AI编程助手:前端开发效率提升与Claude对比分析
  • 时空数据库与向量检索的融合技术与应用
  • 计算机毕业设计之基于SpringBoot的社区信息化管理系统设计与实现
  • Python逆向网易云音乐加密接口:从AES/RSA原理到歌曲下载实战
  • 大连格拉苏蒂客户服务热线及最新地址信息:2026年7月售后通知 - 亨得利官方服务中心
  • 六西格玛FMEA失效模式分析怎么落地?众智商学院绿带黑带课程教你从理论到实操——400-880-3651张明老师 - 众智商学院cppm官方
  • 萧邦维修中心电话手表维修保养服务热线权威公示(2026年7月最新) - 萧邦中国官方服务中心
  • Java+ONNX Runtime部署YOLOv11:工业视觉零Python依赖方案
  • 第三章 下 Java数组与函数:高效编程双利器
  • 南京欧米茄回收哪家渠道好?2026年7月最新回收价格查询+客服服务测评 - 嘉价奢侈品回收平台
  • 为什么越来越多人需要 AI 数字分身?不是为了替你工作,而是让专业持续被看见
  • 商务服务企业为什么必须布局 GEO?--一网推GEO杨科
  • 哪家椰子鸡火锅食材品质最专业?
  • 2026年最新教程:图片已经压缩了还是超过大小限制怎么办 - 图片处理研究员
  • 研发团队交付效率提升 37%、缺陷率降低 52%:信通院“产业推广级“效能度量平台如何打破研发黑箱
  • Unity碰撞与触发器:从核心原理到性能优化的实战指南
  • GLM与Kimi大模型对比:编程能力、API集成与长文本处理实战
  • 华为Mate90 Pro Max轻量化设计解析:材料与结构创新
  • 2026年7月最新宝珀太原龙湖万达广场维修保养服务电话 - 宝珀官方售后服务中心
  • C++实现克伦肖-柯蒂斯正交规则:数值积分的高效算法与工程实践
  • 安谋科技闪耀WAIC丨AI前瞻分享,Arm无处不在,让AI触手可及
  • LoRA微调技术实战:基于MiniCPM5-1B实现657MB本地AI模型定制
  • pybind11异常处理:C++异常到Python的完美映射实战指南
  • Unity 2021 Android打包res冲突解决方案:创建统一Android Library
  • 百达翡丽在济南哪里回收靠谱吗?2026年7月最新平台实测对比+避坑指南 - 尊奢回收二奢平台
  • 深入解析以太网MAC控制器:统计、VLAN与PTP时间戳实战
  • 亲身探访北京万国售后服务中心|详细地址与24小时客服电话(2026年7月最新) - 万国中国官方服务中心
  • Windows 11安装.NET 8.0 SDK全流程指南
  • 基于Qt Creator的嵌入式GUI开发:从环境搭建到自适应界面设计