写在前面:我们平时若在Linux操作系统中进行开发或测试时,需要涉及一些终端Linux 操作命令使用,为帮助读者提高效率,了解更详细的命令,这里对常用的Linux系统操作命令进行了简单汇总。
目录
一、文件与目录操作
二、系统管理与权限
三、进程管理
四、网络操作
五、嵌入式开发高频命令
一、文件与目录操作
这是嵌入式开发中最基础的操作,用于管理代码、配置文件等。
- ls:列出目录内容
ls -l # 详细列表(权限、大小、时间) ls -a # 显示隐藏文件(如 .bashrc) ls -lh # 以人类可读格式显示大小(KB/MB) - cd:切换目录
cd /home/user # 绝对路径切换 cd .. # 回到上级目录 cd ~ # 回到当前用户家目录 cd - # 回到上一次所在目录 - pwd:显示当前工作目录的绝对路径
pwd - mkdir/rmdir:创建 / 删除空目录
mkdir project # 创建单个目录 mkdir -p src/include # 递归创建多级目录 rmdir empty_dir # 删除空目录 - cp/mv/rm:复制 / 移动 / 删除文件
cp main.cpp src/ # 复制文件到 src 目录 mv main.cpp app.cpp # 重命名文件 rm -rf build/ # 强制删除目录及所有内容(嵌入式编译后清理常用) - cat/less/more:查看文件内容
cat config.h # 一次性显示文件内容 less large_log.txt # 分页查看大文件(支持上下翻页、搜索) - find/grep:查找文件 / 搜索内容
# 查找根目录下所有 .cpp 文件 find / -name "*.cpp" # 在代码中搜索包含 CAN 关键词的行 grep -r "CAN" ./src/ # -r 递归搜索目录
二、系统管理与权限
嵌入式开发中常需管理用户权限、查看系统资源。
- sudo:以管理员权限执行命令
sudo apt install cmake # 安装软件(开发工具安装常用) - chmod:修改文件 / 目录权限
chmod +x build.sh # 给脚本添加可执行权限(嵌入式编译脚本常用) chmod 755 main # 设置权限为 所有者可读可写可执行,其他用户可读可执行 - chown:修改文件所有者
sudo chown user:user app # 将 app 文件的所有者改为 user 用户 - df/du:查看磁盘空间 / 文件大小
df -h # 查看磁盘分区使用情况 du -sh src/ # 查看 src 目录的总大小 - top/htop:实时监控系统进程和资源占用
top # 查看 CPU、内存占用最高的进程
三、进程管理
嵌入式系统中需监控和控制程序运行。
- ps:查看进程
ps -ef # 查看所有进程的详细信息 ps -ef | grep ros # 过滤出 ROS 相关进程 - kill/killall:终止进程
kill 1234 # 通过 PID 终止进程 killall ros_node # 通过进程名终止所有同名进程 - nohup:后台运行程序,断开终端不终止
nohup ./car_control & # 后台运行 car_control 程序,输出日志到 nohup.out
四、网络操作
汽车电子中 CAN 总线、以太网通信调试常用。
- ifconfig/ip:查看 / 配置网络接口
ifconfig eth0 # 查看以太网接口 eth0 的 IP 地址 ip addr show # 更推荐的现代用法,查看所有网络接口 - ping:测试网络连通性
ping 192.168.1.1 # 测试与网关的连通性 - netstat/ss:查看网络连接、端口占用
netstat -tuln # 查看所有监听的 TCP/UDP 端口 ss -tuln | grep 8080 # 查看 8080 端口是否被占用 - scp:跨机器复制文件(嵌入式开发中向开发板传程序常用)
scp ./car_app root@192.168.1.100:/root/ # 传文件到开发板
五、嵌入式开发高频命令
- tar:压缩 / 解压文件(嵌入式 SDK、代码包常用)
tar -zcvf project.tar.gz ./project # 压缩为 gz 格式 tar -zxvf sdk.tar.gz # 解压 gz 压缩包 - make:编译代码(嵌入式 C/C++ 项目构建常用)
make -j4 # 用 4 个线程编译,加快速度 make clean # 清理编译产物 - gdb:调试程序(嵌入式程序调试)
gdb ./vehicle_control # 启动 gdb 调试