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。
相关推荐
姜鱼问生6 小时前
Nginx 缓存命中率监控:从 X-Cache-Status 到实时统计
运维·nginx·缓存
Apipi*6 小时前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
天启HTTP7 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
运维行者_8 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
此时不提桶,更待何时8 小时前
06-14-A-Kafka集群运维与迁移实战详解
运维·kafka
hz5678910 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC10 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
优橙教育10 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php
IT研究所10 小时前
AI-ITR平台如何减少客户问题反复升级?
大数据·运维·人工智能·低代码·自然语言处理·安全架构·企微
BLUcoding10 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom