📟 核心文件与目录操作
pwd
-> 功能: 打印当前工作目录的绝对路径。
-> 示例:pwd
-> 输出/home/user/project
ls [选项] [目录]
-> 功能: 列出目录内容。
-> 常用选项:
-l
: 长格式显示(详细信息)
-a
: 显示所有文件(包括隐藏文件)
-h
: 与-l
合用,以易读格式显示文件大小
-> 示例:
ls -la /etc
-> 详细列出/etc
目录所有文件cd [目录路径]
-> 功能: 切换当前工作目录。
-> 示例:
cd /usr/bin
-> 切换到绝对路径
cd ..
-> 切换到上级目录
cd ~
-> 切换到用户家目录
cd -
-> 切换回上一个所在目录cp [选项] 源文件 目标文件
-> 功能: 复制文件或目录。
-> 常用选项:-r
: 递归复制(用于目录)
-> 示例:
cp config.txt config_backup.txt
-> 复制文件
cp -r firmware/ backup/
-> 复制整个目录mv [选项] 源文件 目标文件
-> 功能: 移动或重命名文件/目录。
-> 示例:
mv old_name.c new_name.c
-> 重命名文件
mv kernel.bin /mnt/sdcard/
-> 移动文件rm [选项] 文件或目录
-> 功能: 删除文件或目录。(危险!谨慎使用!)
-> 常用选项:
-r
: 递归删除(用于目录)
-f
: 强制删除,不提示
-> 示例:
rm temp.log
-> 删除文件
rm -rf old_build/
-> 强制删除整个目录及其内容mkdir [选项] 目录名
-> 功能: 创建新目录。
-> 常用选项:-p
: 创建路径中不存在的父目录
-> 示例:mkdir -p project/{source,build,output}
-> 一次性创建多级嵌套目录touch 文件名
-> 功能: 创建空文件或更新文件的时间戳。
-> 示例:touch new_file.txt
📖 文本查看与处理(嵌入式日志分析核心)
cat [选项] 文件
-> 功能: 连接并打印文件内容到标准输出(适合看短文件)。
-> 示例:cat /proc/cpuinfo
-> 查看CPU信息less 文件
-> 功能: 分页显示文件内容(适合看长日志)。可上下滚动、搜索。
-> 操作: 进入后,按/
搜索,按q
退出。head [选项] 文件
-> 功能: 显示文件开头部分(默认10行)。
-> 示例:head -n 20 system.log
-> 查看日志前20行tail [选项] 文件
-> 功能: 显示文件末尾部分(默认10行)。
-> 常用选项:-f
: 实时追踪文件新增内容(看日志神器)
-> 示例:tail -f /var/log/syslog
-> 实时监视系统日志grep [选项] "模式" 文件
-> 功能: 使用正则表达式搜索文本,打印匹配的行。
-> 常用选项:
-r
: 递归搜索目录
-n
: 显示匹配行的行号
-i
: 忽略大小写
-> 示例:
grep -rn "error" /var/log/
-> 递归搜索日志目录中的所有"error"
dmesg | grep -i "usb"
-> 在内核消息中过滤出USB相关消息
⚙️ 系统与进程管理(调试必备)
ps [选项]
-> 功能: 显示当前进程的快照。
-> 常用选项:aux
或-ef
-> 示例:ps aux | grep python
-> 查找所有Python进程top
/htop
-> 功能: 动态、交互式地显示进程和系统资源(CPU、内存)占用情况。htop
更强大。kill [选项] PID
-> 功能: 向进程发送信号以终止它。
-> 常用选项:-9
: 发送SIGKILL信号,强制终止
-> 示例:kill -9 1234
-> 强制终止PID为1234的进程df [选项]
-> 功能: 报告文件系统磁盘空间使用情况。
-> 常用选项:-h
: 以易读格式显示(如G, M)
-> 示例:df -h
-> 查看所有磁盘分区剩余空间du [选项] 文件或目录
-> 功能: 估算文件/目录的磁盘使用空间。
-> 常用选项:-sh
: 汇总(-s
)并以易读格式(-h
)显示总大小
-> 示例:du -sh ~/project/
-> 查看项目目录总共占了多大空间
📡 网络操作(与开发板交互)
ping [选项] 主机
-> 功能: 测试与另一台主机的网络连通性。
-> 示例:ping -c 4 192.168.1.100
-> 向开发板IP发送4个测试包scp [选项] 源文件 目标路径
-> 功能: 在本地和远程主机之间安全地复制文件。
-> 示例:
scp firmware.bin user@192.168.1.100:~/
-> 推送文件到开发板
scp user@192.168.1.100:/log.txt ./
-> 从开发板拉取文件ssh [选项] 用户@主机
-> 功能: 安全地远程登录到另一台Linux主机。
-> 示例:ssh root@192.168.1.100
-> 登录到嵌入式开发板
🗜️ 压缩与解压(处理源码和镜像)
tar [选项] 文件
-> 功能: 打包和解压文件。
-> 常用选项:
-c
: 创建压缩包
-x
: 解压压缩包
-z
: 通过gzip过滤(处理.tar.gz)
-j
: 通过bz2过滤(处理.tar.bz2)
-v
: 显示过程
-f
: 指定文件名
-> 示例:
tar -xzvf linux_source.tar.gz
-> 解压常见的gzip压缩包
tar -cjvf my_backup.tar.bz2 project/
-> 用bz2压缩项目目录
💡 最重要的技巧:查阅手册
遇到任何命令不会用,就用这个终极命令:
man 命令名
-> 功能: 查看该命令的完整官方手册。这是最权威、最准确的学习方式。
-> 示例:man grep
-> 会列出grep
命令的所有选项和详细用法。按q
退出。
或者:
命令名 --help
-> 功能: 快速查看该命令的帮助摘要。