Linux day02

一、共享文件(Samba)

1. 核心用途

在 Windows 和 Linux 之间共享文件,Windows 可直接访问 Linux 的目录。

2. 操作步骤

  1. 安装 Samba:sudo apt-get install samba

  2. 配置共享目录:

    • 打开配置文件:sudo vim /etc/samba/smb.conf

    • 在文件末尾添加(替换[共享名]备注路径为实际信息):

      plaintext

      复制代码
      [共享名]
      comment=备注(如"Ubuntu共享文件夹")
      path=共享目录路径(必须已存在,如/home/gec/share)
      browseable=yes
      writable=yes
      read only=no
      guest ok=yes
    • 给共享目录设权限:sudo chmod 777 共享目录路径

  3. 重启服务: plaintext

    复制代码
    sudo service smbd restart
    sudo service nmbd restart
  4. Windows 访问:运行中输入\\Linux的IP地址,即可看到共享目录。

二、SSH 远程登录开发板

1. 核心用途

通过网络远程连接开发板,操作开发板系统(无需直接接屏幕键盘)。

2. 操作步骤

  1. 开发板配置:
    • 打开文件:vi /etc/profile
    • 写入 IP 配置语句(永久生效),重启开发板;
  2. 工具连接:用 Secure CRT 软件,配置 SSH 连接(输入开发板 IP、用户名);

3. 问题解决

  • 提示 "服务拒绝":开发板未配置 SSH 服务;
    • 解压openssh.tar到开发板根目录:tar -xf openssh.tar
    • 执行脚本:./install_openssh_cn.sh

三、程序调试(gdb)

1. 核心用途

调试 C 语言程序,定位代码错误(如逻辑错误、崩溃问题)。

2. 操作步骤

  1. 安装 gdb:sudo apt-get install gdb
  2. 编译程序:必须加-g参数(生成调试信息),如gcc test.c -g -o test
  3. 启动调试:gdb ./test

3. 常用命令(调试中输入)

命令 功能描述 示例
l 列举源代码(默认 10 行) l 1,20(列举 1-20 行)
r 运行程序(从头开始) r
b 行号 设置断点(程序运行到该行前停止) b 25(第 25 行设断点)
info b 查看断点情况 info b
d 断点号 删除断点 d 1(删除第 1 个断点)
n 单步调试(执行一句代码) n
c 继续运行(遇到下一个断点停止) c
p 变量名 查看变量当前值 p count(查看 count 变量)
quit 退出 gdb quit

四、交叉工具链(arm-linux-gcc)

1. 核心用途

编译能在 ARM 架构开发板上运行的程序(普通gcc编译的程序仅能在 PC 端运行)。

2. 安装步骤

  1. 解压安装包:
    • 把安装包(如arm-linux-gnueabi-5.4.0.tar.xz)拷贝到 Ubuntu 家目录;
    • 解压:tar -xf arm-linux-gnueabi-5.4.0.tar.xz(解压后生成usr文件夹);
  2. 设置环境变量(关键!让系统找到工具):
    • 临时设置(重启终端失效): plaintext

      复制代码
      export PATH=/home/gec/usr/local/arm/5.4.0/usr/bin:$PATH
      export LD_LIBRARY_PATH=/home/gec/usr/local/arm/5.4.0/usr/lib:$LD_LIBRARY_PATH
    • 永久设置(推荐):

      • 打开文件:vim ~/.bashrc
      • 把上面两行写入文件末尾,重启终端;
  3. 验证安装:arm-linux-gcc -v(显示版本信息则成功)。

3. 常用工具

工具 功能描述 示例
arm-linux-gcc 编译 C 程序 arm-linux-gcc hello.c -o hello
arm-linux-g++ 编译 C++ 程序 arm-linux-g++ test.cpp -o test

五、开发板使用(ARM 架构)

1. 基础操作

  • 修改 root 密码:passwd root(输入新密码即可);
  • 输入错误删除:开发板上退格键无效,用Delete键删除;

2. 程序下载到开发板(3 种方法)

方法 1:串口下载(适合小文件)
  1. 开发板输入:rx 文件名(如rx hello);
  2. Secure CRT 中点击 "传输"→"发送 Xmodem",选择要下载的文件;
  3. 问题解决:
    • 下载失败:可能是开发板存储空间满(df -h查看),或重启 Secure CRT。
方法 2:TFTP 网络下载(适合大文件)
  1. 开发板插网线,配置 IP:ifconfig eth0 192.168.1.100(与电脑同网段);
  2. 测试连通:电脑关闭防火墙,开发板输入ping 电脑IP(通了才可以);
  3. 电脑打开 TFTP32 软件,设置要下载的文件路径;
  4. 开发板下载:tftp -r 文件名 -g 电脑IP(如tftp -r hello -g 192.168.1.20);
  5. 上传文件(开发板→电脑):tftp -l 文件名 -p 电脑IP
方法 3:SCP 命令下载(Windows→开发板)
  1. 电脑打开 CMD 终端,切换到文件所在路径;
  2. 输入命令:scp -O 文件名 root@开发板IP:开发板路径
    • 示例:scp -O hello root@192.168.1.100:/(下载到开发板根目录)。

3. 程序运行注意

  • 开发板默认无执行权限,下载后需设置:chmod 777 程序名
  • 运行程序:./程序名(如./hello)。

4. 开发板扩容(存储空间不足时)

  1. 查看空间:df -h
  2. 格式化未使用分区(如mmcblk0p7):mkfs.vfat /dev/mmcblk0p7
  3. 挂载分区:mount -t vfat /dev/mmcblk0p7 /newdir/newdir是自定义目录);
  4. 解除挂载:umount /newdir
相关推荐
天才奇男子5 小时前
HAProxy高级功能全解析
linux·运维·服务器·微服务·云原生
小李独爱秋5 小时前
“bootmgr is compressed”错误:根源、笔记本与台式机差异化解决方案深度指南
运维·stm32·单片机·嵌入式硬件·文件系统·电脑故障
学嵌入式的小杨同学5 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
酥暮沐6 小时前
iscsi部署网络存储
linux·网络·存储·iscsi
❀͜͡傀儡师6 小时前
centos 7部署dns服务器
linux·服务器·centos·dns
Dying.Light7 小时前
Linux部署问题
linux·运维·服务器
S19017 小时前
Linux的常用指令
linux·运维·服务器
萤丰信息7 小时前
AI 筑基・生态共荣:智慧园区的价值重构与未来新途
大数据·运维·人工智能·科技·智慧城市·智慧园区
小义_7 小时前
【RH134知识点问答题】第7章 管理基本存储
linux·运维·服务器
运维小欣7 小时前
Agentic AI 与 Agentic Ops 驱动,智能运维迈向新高度
运维·人工智能