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

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

我的笨方法:

、通过scp将目录文件传输到服务器上;

、在本地所在目录上执行:

find ./ -type l | xargs -I '{}' ls -l {} | awk '{printf("%s  %s\n", $9, $11)}' > filename
习惯性的使用xargs,还没形成习惯使用exec 、将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目录内容  传至 本地

scp 链接文件的问题 + tar的更多相关文章

  1. tar命令-vi编辑器-磁盘分区及格式化-软链接及硬链接文件

    一.tar命令 1.将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) [root@localhost  /] #  cat  /etc/passwd  /etc/group ...

  2. 利用scp传输文件小结

    从本地复制到远程 scp mysql-5.5.29-linux2.6-x86_64.tar.gz 192.168.1.11:/opt 指定端口: scp -P 60022 /opt/ray/nginx ...

  3. Linux scp 远程文件/目录传输

    Linux scp远程文件/目录传输 1.获取远程服务器上的文件 scp -P 22 root@www.test.com:/root/test.tar.gz /home/test.tar.gz 上端口 ...

  4. linux快速复制大量小文件方法 nc+tar【转】

    1,在需要对大量小文件进行移动或复制时,用cp.mv都会显得很没有效率,可以用tar先压缩再解压缩的方式.  2,在网络环境中传输时,可以再结合nc命令,通过管道和tcp端口进行传输.  nc和tar ...

  5. 文件打包压缩——tar

    tar——压缩数据/解压数据内容 命令语法: tar zcvf  生成压缩包路径/压缩包.tar.gz    压缩数据01,02,03.... 巧记: 压缩名称为tar.gz,可以理解为tar命令,g ...

  6. 复制”链接文件“到虚拟机(VirtualBox)的”共享文件夹“时报错:创建符号链接时报错:只读文件系统

    问题描述: 1.Ubuntu 中的 /www/目录,是宿主主机 Windows 7 以“共享文件夹”的形式挂载的: 2./etc/php.ini 是 /opt/software/php/etc/php ...

  7. Linux 下 scp 传输文件脚本

    脚本执行效果: (1).远程传输本地 /ora_exp/dmp/CWDB_RAMS_* 文件至 11.4.24.21 的 /ora_exp/dmp 目录下.   脚本编写步骤: 假设 oracle 用 ...

  8. visual studio 添加链接文件

    本文转载http://blog.163.com/zhongpenghua@yeah/blog/static/87727415201282432345613/   那个有个箭头的文件就是链接文件了,添加 ...

  9. Linux命令:scp命令(文件上传和下载)

    #本地下载远端文件 并且重命名(从本地机器下载远端) scp webmaster@10.10.65.103:/ROOT/logs/tomcate.log /home/dajie/mywork/newn ...

随机推荐

  1. Python如何下载文件

    转载自:http://www.codecho.com/how-to-download-a-file-in-python/ 利用程序自己编写下载文件挺有意思的.Python中最流行的方法就是通过Http ...

  2. ios 让textView被键盘挡住上移

    注册键盘通知 #pragma mark - 键盘通知 - (void)addNoticeForKeyboard { //注册键盘出现的通知 [[NSNotificationCenter default ...

  3. 基于jQuery实现汉字转换成拼音代码

    基于jQuery实现汉字转换成拼音代码.这是一款基于jQuery.Hz2Py.js插件实现的汉字转拼音特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <br /> ...

  4. 处理异常json串的jar包JsonSerde

    参考下面文章: https://blog.csdn.net/SunnyYoona/article/details/70170173

  5. SQL自定义函数

    1,自定义函数--返回单一值 CREATE FUNCTION [dbo].[Round2] ( -- Add the parameters for the function here @p1 sql_ ...

  6. c#设计应用程序单实例运行

    利用WindowsFormsApplicationBase的IsSingleInstance来控制应用程序只能单实例运行. [DllImport("user32.dll", Ent ...

  7. linux rsync介绍(八)

    [教程主题]:rsync [1] rsync介绍 Rsync(Remote Synchronize) 是一个远程资料同步工具,可通过LAN/WAN快速同步多台主机,Rsync使用所为的“Rsync演算 ...

  8. mysql lower_case_table_names 区分表名大小写设置

    Command-Line Format --lower-case-table-names[=#] System Variable Name lower_case_table_names Variabl ...

  9. Web API(六):使用Autofac实现依赖注入

    在这一篇文章将会讲解如何在Web API2中使用Autofac实现依赖注入. 一.创建实体类库 1.创建单独实体类 创建DI.Entity类库,用来存放所有的实体类,新建用户实体类,其结构如下: us ...

  10. Ubuntu下的OpenResty 安装

    安装前的准备 您必须将这些库 perl 5.6.1+, libreadline, libpcre, libssl安装在您的电脑之中. 对于 Linux来说, 您需要确认使用 ldconfig 命令,让 ...