Debian快速入门

Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.


本系列教程面向 Quectel Pi M1/L1 开发板的初学者,帮助您快速上手 Debian 系统中的常见操作与开发任务。内容涵盖基础命令、文件管理、文本编辑、软件包管理、输入法配置,适合零基础或刚接触 Linux 的用户逐步学习。

文件属性与权限

了解 Linux 文件的类型、所有者、权限位结构,学习使用 ls -l 查看文件属性,以及通过 chownchmod 命令管理文件的所有者和访问权限。

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 = 4

  • rw- = 110 = 4 + 2 = 6

  • r-x = 101 = 4 + 1 = 5

  • rwx = 111 = 4 + 2 + 1 = 7

  • --- = 000 = 0

操作示例

为脚本添加执行权限

chmod u+x start.sh
./start.sh

保护私有配置文件

chmod 600 ~/.ssh/config

文件与目录管理

掌握 Linux 中最常用的文件与目录操作命令:pwdcdlsmkdirrmdircprmmv,以及 cattail 等文件内容查看工具。

Linux 中,大多数日常操作都围绕“路径”和“目录”展开。无论是查看日志、切换项目目录、复制模型文件,还是删除无用资源,都离不开常用的文件与目录命令。

路径与目录基础概念

当前工作目录

终端始终会有一个“当前所在目录”。很多命令默认都作用于当前目录,因此先知道自己在哪里非常重要。

查看当前目录:

pwd

路径表示方式

  • 绝对路径:从根目录 / 开始,例如 /home/pi/project

  • 相对路径:相对于当前目录,例如 project/src

常见特殊写法:

  • . 表示当前目录

  • .. 表示上一级目录

  • ~ 表示当前用户主目录,例如 /home/pi

常用系统目录

Debian 系统中,您会经常接触以下目录:

目录

作用

/etc

系统配置文件

/opt

第三方应用或自定义程序

/var/log

系统日志

/tmp

临时文件

常用命令

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 是高风险命令,不会进入回收站。执行前建议先用 pwdls 再确认一次目标路径。

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 进行开发时,您经常需要修改配置文件、编辑脚本或调整服务参数。终端环境下常用的文本编辑器有 vimnano。本文分别介绍这两款编辑器的使用方法,您可以根据需要选择适合自己的工具。

Vim 编辑器

vimvi 编辑器的增强版本,支持语法高亮、搜索替换、批量编辑等能力,适合在本地终端、串口终端和 SSH 会话中使用。

如果系统提示找不到该命令,可以先安装:

sudo apt update
sudo apt install vim

Vim 基本工作模式

根据常见使用方式,可以把 vim 理解为三个核心模式:

模式

作用

如何进入

命令模式

移动光标、复制、删除、保存、退出

打开文件后默认进入

输入模式

输入和修改文本

在命令模式按 iao

命令行模式

执行保存、退出、查找替换等命令

在命令模式按 :

这三个模式之间的关系可以简单理解为:

  • 打开文件后先进入命令模式。

  • 需要输入内容时,切换到输入模式。

  • 需要保存、退出或执行查找替换时,切换到命令行模式。

基础操作流程

1. 打开或创建文件

vim notes.txt

如果文件不存在,vim 会新建该文件。

2. 进入输入模式

在命令模式按以下任意一个键:

按键

作用

i

在光标当前位置开始输入

a

在光标后一个位置开始输入

o

在当前行下方新增一行并输入

3. 文本录入

进入输入模式后,就可以像普通编辑器一样输入字符。

4. 返回命令模式

Esc 键返回命令模式。

5. 保存与退出

在命令模式下输入 : 进入命令行模式,然后执行:

命令

作用

:w

保存

:q

退出

:wq

保存并退出

:q!

不保存,强制退出

常用操作指令

命令模式常用指令

按键

作用

h j k l

左、下、上、右移动光标

x

删除当前字符

dd

删除当前行

yy

复制当前行

p

在下方粘贴

u

撤销

Ctrl+r

重做

/关键字

向下搜索

n

跳转到下一个匹配

命令行模式常用指令

命令

作用

:set nu

显示行号

:set nonu

取消行号

:%s/old/new/g

全文替换

:1,10s/old/new/g

替换第 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

基础操作

  1. 打开或创建文件

nano notes.txt

如果文件不存在,nano 会新建该文件。打开后即可直接输入和编辑文本,无需切换模式。

  1. 编辑文本

打开文件后,光标所在位置即可直接输入字符。使用方向键移动光标。

  1. 保存文件

Ctrl+O(字母 O),nano 会提示确认文件名,按 Enter 确认保存。

  1. 退出编辑器

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 系统中,安装软件通常离不开两类工具:APTDPKG。理解它们各自负责什么,能帮助您更清楚地区分“从软件源安装软件”和“手动安装本地 .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

通常的操作流程是先 updateupgrade

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 软件包名