跳到主要内容

Linux 基础经验

Linux 基础经验、包含常用的上传文件, 解压文件


网络环境

适用于Linux Ubuntu 的 shell 命令


无法解析 IPv6 DNS


1. 禁用 systemd-resolved 并修复 resolv.conf

# 停止并禁用 systemd-resolved
systemctl stop systemd-resolved
systemctl disable systemd-resolved
systemctl mask systemd-resolved # 防止被其他服务启动

# 删除原 resolv.conf 链接
rm /etc/resolv.conf

# 创建新的 resolv.conf(由 systemd-networkd 管理)
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

2. 编辑 Netplan 配置文件

vim /etc/netplan/50-cloud-init.yaml

修改为以下内容:

network:
version: 2
renderer: networkd
ethernets:
eth0:
optional: true
dhcp4: true
dhcp6: true # 启用 IPv6 DHCP

3. 应用配置并重启服务

netplan apply

# 重启网络服务
systemctl restart systemd-networkd

4.测试 IPv6 DNS

ping6 ipv6.google.com
# 或
dig AAAA ipv6.google.com +short

加速系统外网访问速度

如果下载软件较慢, 恰巧有合适的网络环境可以使用 proxy 加速下载, 例如

export https_proxy=http://10.0.0.50:7890 http_proxy=http://10.0.0.50:7890 all_proxy=socks5://10.0.0.50:7890

加速 apt 更新安装软件

如果 apt get 安装速度过慢, 可以单独给 apt get 设置 proxy (这个只对 apt 生效)

编辑 apt 配置 vim /etc/apt/apt.conf.d/90curtin-aptproxy

Acquire::http::Proxy "http://10.0.0.50:7890";
Acquire::https::Proxy "http://10.0.0.50:7890";

SCP 上传文件


上传单个文件

基本语法:

scp [本地文件路径] [用户名]@[远程主机IP]:[目标路径]

示例:

scp /home/user/test.txt root@192.168.1.100:/www/

常用参数:

-P [端口]:指定SSH端口(默认22时可省略)

-r:递归复制整个目录(用于目录上传)

-v:显示详细传输信息

上传整个目录

基本语法:

scp -r [本地目录路径] [用户名]@[远程主机IP]:[目标路径]

示例:

scp -r /home/user/project root@192.168.1.100:/opt/

注意事项

  • 需要确保远程服务器已开启SSH服务

  • 需要有目标路径的写入权限

  • 首次连接时会提示确认主机密钥

  • 传输大文件建议使用-C参数启用压缩


图形软件 SCP 上传文件 - FileZilla

可以用免费软件 FileZilla Client 客户端

下载地址:

https://filezilla-project.org/download.php


解压文件


解压 tar.gz

解压 tar.gz 文件的方法

  1. 使用命令行解压(Linux/macOS)
tar -xzvf 文件名.tar.gz

参数说明:

  • -x:解压

  • -z:使用 gzip 解压

  • -v:显示解压过程(可选)

  • -f:指定文件名

  1. 解压到指定目录
tar -xzvf 文件名.tar.gz -C 目标目录

常见问题

  • 解压时报错‌:确保你有足够的磁盘空间和文件权限

  • 文件名乱码‌:尝试指定编码, 如 --use-compress-program='gzip -n'

  • 部分解压‌:可以使用 --wildcards 参数解压特定文件


合并文件

适用于RV1126 SDK等分包文件合并操作(如.gz00至.gz05格式的分卷压缩包)

例如: RV1126 SDK 分包文件如下多个分包

rv1126-repo-v20230717-dev.tar.gz00

...

rv1126-repo-v20230717-dev.tar.gz05

  • 确保所有分卷文件位于同一目录

  • 打开终端/命令行 执行合并命令:

cat rv1126-repo-v20230717-dev.tar.gz* > rv1126-repo-v20230717-dev.tar.gz

注意事项:

  • 必须使用cat命令(原示例中的>符号单独使用无效)

  • 分卷文件需要保持连续编号(如00-05中间不能缺失)

  • 确保磁盘空间足够容纳合并后的完整文件

  • 合并后的文件需要再次解压(合并操作只是将分卷拼接为完整压缩包)

  • 在Linux环境下操作时, 注意文件权限问题

补充说明:

  • 合并后的文件大小应为所有分卷之和

  • 若合并失败, 建议检查:

  • 分卷文件是否完整

  • 文件名是否严格匹配

  • 存储空间是否充足