Debian快速入门¶
Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.
本系列教程面向 Quectel Pi M1/L1 开发板的初学者,帮助您快速上手 Debian 系统中的常见操作与开发任务。内容涵盖基础命令、文件管理、文本编辑、软件包管理、输入法配置,适合零基础或刚接触 Linux 的用户逐步学习。
文件属性与权限¶
了解 Linux 文件的类型、所有者、权限位结构,学习使用 ls -l 查看文件属性,以及通过 chown、chmod 命令管理文件的所有者和访问权限。
在 Linux 中,文件不仅仅有“文件名”和“大小”,还包含所有者、所属组、访问权限、类型和修改时间等属性。理解这些属性后,您才能判断为什么某个脚本无法执行、为什么某个目录无法写入,或者为什么修改系统配置文件时需要 sudo。
文件属性查看方法¶
最常用的查看方式是:
ls -l
如果需要同时显示隐藏文件,并以更易读的方式显示文件大小,可以使用:
ls -lah
典型输出如下:
-rwxr-xr-- 1 pi pi 2048 Jun 22 10:30 demo.sh
这一行信息可以拆分为以下几个部分:
字段 |
示例 |
说明 |
|---|---|---|
文件类型与权限 |
-rwxr-xr– |
第 1 位表示文件类型,后 9 位表示权限 |
链接数 |
1 |
有多少个目录项指向该文件 |
所有者 |
pi |
谁拥有这个文件 |
所属组 |
pi |
该文件归属的用户组 |
大小 |
2048 |
文件大小,单位通常为字节 |
修改时间 |
Jun 22 10:30 |
最后修改时间 |
文件名 |
demo.sh |
文件名称 |
文件类型识别¶
权限串的第 1 位表示文件类型:
例如:
drwxr-xr-x表示目录。-rw-r--r--表示普通文件。lrwxrwxrwx表示符号链接。
权限位结构说明¶
第 2 到第 10 位一共 9 个字符,分成 3 组:
rwx r-x r--
| | |
| | +-- 其他用户(others)权限
| +------ 所属组(group)权限
+---------- 所有者(owner)权限
每组权限中:
符号 |
含义 |
|---|---|
r |
可读 |
w |
可写 |
x |
可执行 |
- |
没有该权限 |
例如:
rw-r--r--:所有者可读可写,组用户只读,其他用户只读。rwxr-xr-x:所有者可读可写可执行,其他人可读可执行。
chown:所有者与所属组管理¶
当文件属于错误的用户或用户组时,可以使用 chown。
基本语法:
sudo chown [选项] 用户[:组] 文件或目录
常用示例:
将文件所有者改为 pi:
sudo chown pi demo.sh
同时修改所有者和所属组:
sudo chown pi:pi demo.sh
递归修改整个目录:
sudo chown -R pi:pi /home/pi/project
只修改所属组:
sudo chown :pi /home/pi/project/config.json
典型应用场景
通过 sudo 解压或复制文件后,文件所有者变成了
root,普通用户pi无法继续编辑。项目目录从外部设备拷贝后,权限与当前用户不一致,需要统一调整。
chmod:访问权限管理¶
当文件“能看不能改”或“脚本不能执行”时,通常需要使用 chmod。
基本语法:
chmod [选项] 权限 文件或目录
符号模式
格式如下:
[ugoa][+-=][rwx]
其中:
u表示所有者g表示所属组o表示其他用户a表示所有用户
常用示例:
给当前用户增加执行权限:
chmod u+x demo.sh
给所有用户增加读权限:
chmod a+r demo.txt
移除其他用户写权限:
chmod o-w demo.txt
数字模式
权限也可以写成数字,例如:
chmod 755 demo.sh
chmod 644 notes.txt
这里的 3 位数字分别对应:
chmod 754 demo.sh
| | |
| | +-- 其他用户(others)权限
| +---- 所属组(group)权限
+------ 所有者(owner)权限
每一组 rwx 权限都可以看成 3 个开关位:
r是否开启w是否开启x是否开启
这 3 个开关既可以理解成“加法权重”,也可以理解成一个 3 位二进制数:
对应关系如下:
权限位 |
二进制位 |
十进制权重 |
|---|---|---|
r |
100 |
4 |
w |
10 |
2 |
x |
1 |
1 |
因此,一组权限的数字,本质上就是把开启的权限位相加:
r--=100=4rw-=110=4 + 2 = 6r-x=101=4 + 1 = 5rwx=111=4 + 2 + 1 = 7---=000=0
操作示例¶
为脚本添加执行权限
chmod u+x start.sh
./start.sh
保护私有配置文件
chmod 600 ~/.ssh/config
文件与目录管理¶
掌握 Linux 中最常用的文件与目录操作命令:pwd、cd、ls、mkdir、rmdir、cp、rm、mv,以及 cat、tail 等文件内容查看工具。
在 Linux 中,大多数日常操作都围绕“路径”和“目录”展开。无论是查看日志、切换项目目录、复制模型文件,还是删除无用资源,都离不开常用的文件与目录命令。
路径与目录基础概念¶
当前工作目录¶
终端始终会有一个“当前所在目录”。很多命令默认都作用于当前目录,因此先知道自己在哪里非常重要。
查看当前目录:
pwd
路径表示方式¶
绝对路径:从根目录
/开始,例如/home/pi/project。相对路径:相对于当前目录,例如
project/src。
常见特殊写法:
.表示当前目录..表示上一级目录~表示当前用户主目录,例如/home/pi
常用系统目录¶
在 Debian 系统中,您会经常接触以下目录:
目录 |
作用 |
|---|---|
|
系统配置文件 |
|
第三方应用或自定义程序 |
|
系统日志 |
|
临时文件 |
常用命令¶
ls:目录内容查看¶
ls 命令用于显示指定工作目录下之内容(列出目前工作目录所含的文件及子目录)
示例:
#当前目录内容查看
ls
#查看当前目录所有文件,包括隐藏文件
ls -l
ls -la
#查看更易读的文件大小
ls -lh
#按时间排序查看文件
ls -ltr
cd:目录切换¶
cd 命令用于改变当前工作目录的命令,切换到指定的路径。
cd [dirName]
# dirName:要切换的目标目录,可以是相对路径或绝对路径。
示例:
#切换到 usr 目录
cd /usr
#回到上一级目录
cd ..
#回到用户家目录
cd ~
#回到上一次所在目录
cd -
mkdir 与 rmdir:目录创建与删除¶
mkdir 命令用于创建目录,rmdir 命令用于删除空目录。
# -p 确保目录名称存在,不存在的就建一个
mkdir [-p] dirName
#-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除
rmdir [-p] dirName
示例:
#在当前目录下创建 logs 目录
mkdir logs
#自动创建不存在的父目录 project/data
mkdir -p project/data/raw
#删除 logs 目录,logs目录需为空
rmdir logs
cp:文件与目录复制¶
通过 cp 命令,用户可以将文件或目录从一个位置复制到另一个位置。
cp [选项] 源文件 目标文件
示例:
#将文件 source.txt 复制为 backup.txt
cp source.txt backup.txt
#复制目录
cp -r project project_backup
mv:移动与重命名¶
mv 命令用来为文件或目录改名、或将文件或目录移入其它位置。
#将 app.log 移动到 /tmp/目录下
mv app.log /tmp/
#将 old_name.txt 文件 重命名为 new_name.txt
mv old_name.txt new_name.txt
#重命名目录,将 dataset 目录重命名为 dataset_old
mv dataset dataset_old
rm:文件与目录删除¶
rm 命令用于删除一个文件或者目录。
#删除文件 demo.txt
rm demo.txt
#将 demo_dir 目录及子目录都删除
rm -r demo_dir
#强制删除并且不提示
rm -rf demo_dir
注意
rm -rf是高风险命令,不会进入回收站。执行前建议先用pwd和ls再确认一次目标路径。
cat 与 tail:文件内容查看¶
cat 命令
cat 命令用于连接文件并打印到标准输出设备上,它的主要作用是用于查看和连接文件。
#查看 README.md 文件内容
cat README.md
#配合行号显示查看:
cat -n app.py
tail 命令
tail 命令可用于查看文件的内容。
# 默认显示最后10行系统日志
tail /var/log/syslog
#查看系统日志 /var/log/syslog 末尾50行
tail -n 50 /var/log/syslog
#实时跟踪日志
tail -f /var/log/syslog
基础操作示例¶
创建项目目录并进入¶
mkdir -p ~/project/demo
cd ~/project/demo
pwd
备份配置文件¶
cp -i /etc/hosts ~/hosts.bak
清理临时目录¶
rm -r ~/project/demo/tmp
文本编辑¶
在使用 Quectel Pi M1 进行开发时,您经常需要修改配置文件、编辑脚本或调整服务参数。终端环境下常用的文本编辑器有 vim 和 nano。本文分别介绍这两款编辑器的使用方法,您可以根据需要选择适合自己的工具。
Vim 编辑器¶
vim 是 vi 编辑器的增强版本,支持语法高亮、搜索替换、批量编辑等能力,适合在本地终端、串口终端和 SSH 会话中使用。
如果系统提示找不到该命令,可以先安装:
sudo apt update
sudo apt install vim
Vim 基本工作模式¶
根据常见使用方式,可以把 vim 理解为三个核心模式:
模式 |
作用 |
如何进入 |
|---|---|---|
命令模式 |
移动光标、复制、删除、保存、退出 |
打开文件后默认进入 |
输入模式 |
输入和修改文本 |
在命令模式按 |
命令行模式 |
执行保存、退出、查找替换等命令 |
在命令模式按 |
这三个模式之间的关系可以简单理解为:
打开文件后先进入命令模式。
需要输入内容时,切换到输入模式。
需要保存、退出或执行查找替换时,切换到命令行模式。
基础操作流程¶
1. 打开或创建文件
vim notes.txt
如果文件不存在,vim 会新建该文件。
2. 进入输入模式
在命令模式按以下任意一个键:
按键 |
作用 |
|---|---|
|
在光标当前位置开始输入 |
|
在光标后一个位置开始输入 |
|
在当前行下方新增一行并输入 |
3. 文本录入
进入输入模式后,就可以像普通编辑器一样输入字符。
4. 返回命令模式
按 Esc 键返回命令模式。
5. 保存与退出
在命令模式下输入 : 进入命令行模式,然后执行:
命令 |
作用 |
|---|---|
|
保存 |
|
退出 |
|
保存并退出 |
|
不保存,强制退出 |
常用操作指令¶
命令模式常用指令
按键 |
作用 |
|---|---|
|
左、下、上、右移动光标 |
|
删除当前字符 |
|
删除当前行 |
|
复制当前行 |
|
在下方粘贴 |
|
撤销 |
|
重做 |
|
向下搜索 |
|
跳转到下一个匹配 |
命令行模式常用指令
命令 |
作用 |
|---|---|
|
显示行号 |
|
取消行号 |
|
全文替换 |
|
替换第 1 到第 10 行 |
操作示例¶
下面以创建一个简单脚本为例:
vim hello.sh
按 i 进入输入模式,写入:
#!/bin/bash
echo "Hello Quectel Pi M1"
按 Esc 返回命令模式,输入 :wq 保存退出。
随后给脚本增加执行权限:
chmod u+x hello.sh
./hello.sh
编辑系统文件¶
编辑普通用户目录下的文件,可以直接执行:
vim ~/notes.txt
编辑系统配置文件时,通常需要 sudo:
sudo vim /etc/hostname
建议先备份原文件:
sudo cp /etc/hostname /etc/hostname.bak
sudo vim /etc/hostname
常见问题排查¶
无法退出 Vim
大多数情况是因为还处于输入模式。先按 Esc,再输入 :q 或 :wq。
保存时提示权限不足
说明当前文件需要管理员权限,请退出后使用 sudo vim 文件名 重新打开。
中文显示或缩进异常
通常与终端字体或文件编码有关。优先使用 UTF-8 编码,并在图形终端中确认字体支持中文。
Nano 编辑器¶
概述¶
nano 是一款轻量级的终端文本编辑器,操作简单直观,没有模式切换的概念,适合快速编辑配置文件或对 vim 不熟悉的用户使用。
如果系统未预装 nano,可以先安装:
sudo apt update
sudo apt install nano
基础操作¶
打开或创建文件
nano notes.txt
如果文件不存在,nano 会新建该文件。打开后即可直接输入和编辑文本,无需切换模式。
编辑文本
打开文件后,光标所在位置即可直接输入字符。使用方向键移动光标。
保存文件
按 Ctrl+O(字母 O),nano 会提示确认文件名,按 Enter 确认保存。
退出编辑器
按 Ctrl+X 退出。如果文件有未保存的修改,nano 会询问是否保存:
按
Y保存后退出按
N不保存退出按
Ctrl+C取消退出操作
常用快捷键¶
nano 底部会显示常用快捷键提示,其中 ^ 表示 Ctrl 键。
快捷键 |
作用 |
|---|---|
Ctrl+O |
保存文件 |
Ctrl+X |
退出 |
Ctrl+K |
剪切当前行 |
Ctrl+U |
粘贴剪切的内容 |
Ctrl+W |
搜索文本 |
Ctrl+\ |
搜索并替换 |
Ctrl+G |
查看帮助 |
Ctrl+C |
显示当前光标位置 |
Alt+U |
撤销 |
Alt+E |
重做 |
Ctrl+A |
移动到行首 |
Ctrl+E |
移动到行尾 |
Ctrl+Y |
向上翻页 |
Ctrl+V |
向下翻页 |
搜索与替换¶
搜索文本
按 Ctrl+W,输入要搜索的关键字,按 Enter 跳转到第一个匹配位置。继续按 Ctrl+W 然后 Enter 可跳转到下一个匹配。
搜索并替换
按 Ctrl+\,输入要查找的字符串,按 Enter,再输入替换后的字符串,按 Enter。nano 会逐一询问是否替换:
按
Y替换当前匹配按
N跳过当前匹配按
A替换所有匹配
操作示例¶
以创建一个简单脚本为例:
nano hello.sh
直接输入以下内容:
#!/bin/bash
echo "Hello Quectel Pi"
按 Ctrl+O 保存,按 Enter 确认文件名,再按 Ctrl+X 退出。
随后给脚本增加执行权限:
chmod u+x hello.sh
./hello.sh
编辑系统文件¶
编辑系统配置文件时,同样需要 sudo:
sudo nano /etc/hostname
软件下载与更新¶
在 Debian 系统中,安装软件通常离不开两类工具:APT 和 DPKG。理解它们各自负责什么,能帮助您更清楚地区分“从软件源安装软件”和“手动安装本地 .deb 安装包”这两类场景。
本节介绍 Debian 系统中安装和更新软件的基本方法,帮助您理解后续搭建环境时用到的 apt install 等命令含义。
关于 APT 的详细使用方法、常见命令和软件源配置,请参考 软件更新。
APT 与 DPKG 概述¶
在 Debian 系统中,安装软件主要靠两类工具:
工具 |
作用 |
典型场景 |
|---|---|---|
APT |
从软件源查找、下载软件,自动处理依赖 |
联网安装软件、更新系统 |
DPKG |
直接安装本地 .deb 包 |
手动安装厂商提供的安装包 |
简单理解:APT 是日常使用的上层工具(自动帮你处理依赖),DPKG 是底层工具(只负责装包,不管依赖)。
APT 常用命令¶
apt update¶
更新软件包列表,这条命令的作用是 刷新本地的软件包索引。它不会安装或升级任何软件,只是让系统知道软件源里目前有哪些包、最新版本是什么。
建议在安装软件或升级系统之前,先执行一次 apt update。
sudo apt update
apt upgrade¶
升级已安装的软件包,这条命令会把系统中 已安装的所有软件包 升级到软件源中可用的最新版本。
sudo apt upgrade
通常的操作流程是先 update 再 upgrade:
sudo apt update
sudo apt upgrade
apt install¶
安装软件包,这是最常用的命令。它会从软件源中查找指定的软件包,自动下载并安装,同时处理所有依赖关系。
sudo apt install 软件包名
后续搭建开发环境时,您会频繁看到类似命令:
sudo apt install python3 # 安装 Python 3
sudo apt install git # 安装 Git
sudo apt install vim # 安装 Vim 编辑器
#可以一次安装多个包:
sudo apt install python3 git vim
apt remove¶
卸载软件包,从系统中卸载指定软件包。
sudo apt remove 软件包名