zoukankan      html  css  js  c++  java
  • scp 链接文件的问题 + tar

    将本地的文件上传到服务器上,希望保持相对链接关系。(链接文件和被链接文件都在同一的目录下)

    使用scp进行传输时,链接关系不会保存,所以需要解决下。(当然可以使用rsync或tar解决,但是rsync命令不熟;)

    我的笨方法:

    1、通过scp将目录文件传输到服务器上;
    
    2、在本地所在目录上执行:
    
    find ./ -type l | xargs -I '{}' ls -l {} | awk '{printf("%s  %s
    ", $9, $11)}' > filename
    习惯性的使用xargs,还没形成习惯使用exec
    
    3、将filename 传到服务器,切换目录到服务器上的目录,执行:
    
    awk '{system("rm -r" " " $1 " 2>/dev/null; ln -s" " " $2 " " $1)}'   filename

    另一种方法,在本地运行:

    tar cvjf - tmp | ssh username@ip “tar xvjf - -C /home/username/”
    将本地的 tmp目录内容 传至 服务器用户目录下

    解压缩文件时,请使用 -C 选项
         tar xvf  newrc.tar.gz -C tmp/a/b/c
         将当前目录下的newrc.tar.gz解压缩到 tmp/a/b/c目录;相当于将 newrc.tar.gz拷贝到tmp/a/b/c目录,然后解压缩

    如果需将服务器上的大目录文件传至本地,则

    ssh username@ip "cd /home/username; tar cvjf - tmp" | tar xvjf - -C ./
    将服务器用户目录下的 tmp目录内容  传至 本地
  • 相关阅读:
    顺序表
    顺序表实验2
    C艹不使用库函数简陋实现strlen
    数据结构化与保存
    爬取校园新闻首页的新闻
    网络爬虫基础练习
    词频统计
    组合数据类型练习,综合练习
    Python基础综合练习
    熟悉常用的Linux操作
  • 原文地址:https://www.cnblogs.com/openix/p/3514163.html
Copyright © 2011-2022 走看看