当前位置: 首页 > news >正文

批量配置Linux ~/.bash_profile

前提是服务器已配置好免密登录

scp(Secure Copy)

 scp(Secure Copy)是 Linux 中基于 SSH 协议的安全文件传输命令,用于在本地主机和远程主机之间(或两个远程主机之间)复制文件或目录。

基本语法

scp [选项] 源文件 目标路径 

选项说明
-P 端口指定 SSH 端口(默认 22)
-p保留文件修改时间、权限等属性
-C启用压缩传输(节省带宽)
-q静默模式(不显示进度和警告)
-v显示详细传输过程(调试用)
-l 限速限制带宽(单位:Kbit/s)

 示例

1. 复制文件到远程主机的指定端口(非默认22)

scp -P 2222 file.txt user@example.com:/tmp/ 

2. 保留文件属性并压缩传输 

scp -Cp ~/backup.tar.gz user@example.com:/backup/ 

 3. 限速传输(避免占用过多带宽)

 scp -l 800 largefile.iso user@example.com:/downloads/

4. 复制远程主机的隐藏文件 

 scp user@example.com:"/home/user/.*" ./local_folder/

 注意事项

 

  1. 路径格式

    • 本地路径:/path/to/file

    • 远程路径:user@host:/path/to/file

  2. 特殊字符处理

    • 文件名含空格或特殊字符时,用引号包裹路径:

      scp "user@example.com:'file with space.txt'" ./
  3. SSH 密钥认证

    • 若已配置 SSH 免密登录,scp 无需输入密码。

  4. 安全性

    • scp 基于 SSH,默认加密传输,但 SCP 协议本身存在已知漏洞,建议优先使用 rsync 或 sftp

替代工具

  • rsync:更高效的文件同步工具(支持增量传输)。

  • sftp:交互式文件传输工具(类似 FTP)。

  • rsync 示例

    rsync -avz -e "ssh -p 2222" /本地/目录 user@example.com:/远程/路径

 source

 source 是 Linux/Unix 系统中的一个 Shell 内置命令,用于在当前 Shell 环境中执行指定的脚本文件(而不是启动新的子 Shell)。它是 Bash、Zsh 等 Shell 提供的一种加载环境变量或函数的方式。

加载环境变量配置文件

修改profile 后,使其立即生效:

source ~/.bash_profile

编写shell脚本

vim sync_files.sh

echo "=======sync files ========="
target_user=root
for  host_name in bigdata113 bigdata114 bigdata112
do
  echo "=======sync $host_name========="
#复制本地文件 到远程服务器
scp ~/.bash_profile  $target_user@$host_name:/root/.bash_profile
 echo "======= 加载 bash_profile========="
#加载环境变量配置文件
ssh  $target_user@$host_name " source ~/.bash_profile "  #对所有新会话生效
done

总结

场景方法特点
临时执行命令ssh user@host "source file && command"环境变量仅本次 SSH 会话有效
永久修改环境变量写入配置文件后 source对所有新会话生效
需要 sudo 权限sudo -i 配合 source保留 root 环境变量
批量管理多台主机使用 Ansible标准化、可维护性强

相关文章:

  • 医学图像分割数据集肺分割数据labelme格式6299张2类别
  • 数据库基础知识点(系列二)
  • Atlas 800I A2 双机直连部署DeepSeek-R1-w8a8
  • SAP Activate Methodology in a Nutshell Phases of SAP Activate Methodology
  • 位运算题目:最大单词长度乘积
  • Netty源码—客户端接入流程
  • Linux应用:select、poll
  • 算法每日一练 (18)
  • 23种设计模式-创建型模式-原型
  • 4、操作系统结构和发展史
  • 深入理解8086指令集与反汇编技术
  • Pythonload JSON文件需要手动关闭吗?
  • 钞票准备好了吗?鸿蒙电脑 5 月见
  • linux去掉绝对路径前面部分和最后的/符号
  • CSS语言的服务器管理
  • JVM 03
  • 【专业测评】STONE 80A-L 电调:轻量化革命下的工业级动力心脏 ——112g 机身承载 80A 持续输出,重新定义无人机动力系统标杆
  • 秒杀业务优化之从分布式锁到基于消息队列的异步秒杀
  • JavaScript中匿名函数与箭头函数之间的区别与联系
  • Android Compose 框架的状态与 ViewModel 的协同(collectAsState)深入剖析(二十一)
  • 被算法重塑的世界,人与技术如何和谐共处
  • 铁路五一假期运输今日启动,预计发送旅客1.44亿人次
  • 五一假期如何躺赚利息?来看国债逆回购操作攻略
  • 伊朗港口爆炸已致46人死亡
  • 当AI开始深度思考,人类如何守住自己的慢思考能力?
  • 央行副行长:研究建立民营中小企业增信制度,破解民营中小企业信用不足等融资制约