📟 核心文件与目录操作
- 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
 -> 功能: 快速查看该命令的帮助摘要。