我正在使用 Linux (centos) 机器,我已经使用ssh. 现在我的问题是如何将文件从一个系统复制到另一个系统?
假设,在我的环境中,我有两个系统,如System A和System B。我正在使用System A机器和其他一些使用System B机器。
如何将文件从 复制System B到System A?并且,将文件从 复制System A到System B?
如果我通过 SSH 登录到系统,有没有办法将文件复制回我的本地系统,而无需启动另一个终端或屏幕会话并执行 scp 或类似操作,或者无需从远程系统执行 SSH 返回到本地系统?
我在Linux中有两个具有这种结构的目录images和images2:
/images/ad
/images/fe
/images/foo
Run Code Online (Sandbox Code Playgroud)
...和其他 4000 个文件夹
另一个是这样的:
/images2/ad
/images2/fe
/images2/foo
Run Code Online (Sandbox Code Playgroud)
...和其他 4000 个文件夹
这些文件夹中的每一个都包含图像,图像和图像2下的目录名称完全相同,但它们的内容不同。然后我想知道如何将/images2/ad 的图像复制合并到images/ad 中,将/images2/foo 的图像复制合并到images/foo 中,等等所有4000 个文件夹。
如何在 UNIX 中复制文件内容而不显示文件内容。我不想 cat 或 vi 看到内容。
我想将它们复制到剪贴板,以便我可以将其粘贴回我的 Windows 记事本。
由于访问限制,我无法将文件从该服务器复制到另一台服务器。
从 Windows 迁移到 Linux 后,我想找到 Winmerge 的替代软件,或者学习命令行工具来比较和同步 Linux 上的两个文件夹。如果您能告诉我如何在命令行上执行以下任务,我将不胜感激...(我已经研究了 diff 和 rsync,但我仍然需要一些帮助。)
我们有两个文件夹:“/home/user/A”和“/home/user/B”
A文件夹是存放普通文件和文件夹的地方,B文件夹是备份文件夹,作为A文件夹的完整镜像。(B文件夹中没有用户直接保存或修改的内容。)
我的问题是:
如何列出仅存在于文件夹 B 中的文件?(例如,自上次同步以来从文件夹 A 中删除的那些。)
如何将仅存在于文件夹 B 中的文件复制回文件夹 A?
如何列出两个文件夹中都存在但具有不同时间戳或大小的文件?(自上次同步以来已在文件夹 A 中修改的那些。我想避免使用校验和,因为有数以万计的文件,它会使过程太慢。)
如何将文件夹A的精确副本复制到文件夹B中?我的意思是,将文件夹 A 中的所有内容复制到仅存在于文件夹 A 中的文件夹 B 中,并删除仅存在于文件夹 B 中的文件夹 B 中的所有内容,但不涉及两个文件夹中相同的文件。
有时我会在网上看到“确保你设置 'bs=' 因为默认值会花费太长时间”的评论,以及我自己非常不科学的经验,“这似乎比其他人花费的时间更长上周时间”似乎证明了这一点。因此,每当我使用“dd”(通常在 1-2GB 范围内)时,我都会确保指定 bytes 参数。大约有一半的时间我使用我从中复制的任何在线指南中指定的值;剩下的时间我会从'fdisk -l'列表中选择一些有意义的数字,我认为是较慢的媒体(例如我正在写入的SD卡)。
对于给定的情况(媒体类型、总线大小或其他重要事项),有没有办法确定“最佳”值?容易确定吗?如果没有,是否有一种简单的方法可以达到 90-95%?或者“只选择大于 512 的东西”甚至是正确答案?
我想过自己尝试这个实验,但是(除了工作量很大)我不确定哪些因素会影响答案,所以我不知道如何设计一个好的实验。
我在很多地方都看到过用于install -d创建目录和install -c复制文件。为什么不使用mkdir和cp?使用上有优势install吗?
我这里有一个非常奇怪的情况。我的电脑工作正常,至少在大多数情况下,但有一件事情我无法处理。当我尝试从我的 Pendrive 复制文件时,一切正常——我得到了 16-19M/s ,它运行得很好。但是当我尝试将某些内容复制到同一个 Pendrive 时,我的 PC 死机了。鼠标指针停止移动一两秒钟,然后移动一点,然后再次停止。例如,在 Amarok 中播放某些东西时,声音就像机关枪。速度从500K/s跃升到15M/s,平均8M/s。仅当我将某些内容复制到 Pendrive 时才会发生这种情况。当复制过程完成后,一切恢复正常。
我尝试了一切——其他的随身碟、前面板上的不同 USB 端口或后面的那些端口,我什至更改了主板(前面板)上的 USB 引脚,但无论我把 USB 记忆棒放在哪里,它总是一样的。我尝试了不同的文件系统 - fat32, ext4. 我的笔记本电脑上的 Windows 设备没有问题。它必须是我的 PC 或系统中的某些东西。我不知道该找什么。我在独立的 Openbox 中使用 Debian 测试。我的电脑有点旧——Pentium D 3GHz、1GiB 内存、1.5TB WD Green 磁盘。如果您有什么可以帮助我解决这个问题的东西,我会很高兴听到这个消息。
我不知道我还应该提供什么信息,但是如果您需要什么,尽管问,我会尽快更新这篇文章。
我试图在 ubuntu 13.04 live cd 上重现这个问题。我安装了我的加密分区 + 加密交换并将我的 Pendrive 连接到 USB 端口。接下来我尝试启动一些应用程序,现在我有大约 820MiB 的 RAM 和大约 400MiB 的 SWAP。复制没有问题,根本没有冻结,一切都应该如此。所以,看起来是系统的故障,但究竟在哪里?什么会导致这种奇怪的行为?
我有一个文件夹,里面有许多文件 ABC.*(大约有 100 个这样的文件)。我想将它们全部复制到名称以 DEF 开头的新文件中。*
所以,我想要
ABC.Page1
ABC.Page2
ABC.Topic12
...etc
Run Code Online (Sandbox Code Playgroud)
复制到
DEF.Page1
DEF.Page2
DEF.Topic12
...etc
Run Code Online (Sandbox Code Playgroud)
使用批处理命令(在 BASH 或类似命令中)执行此操作的最简单方法是什么?我在想一些涉及 sed 或 awk 或 xargs 的事情,但我很难弄清楚语法。我可以编写一个 Python 脚本,但我认为可能有一个不太复杂的命令行解决方案。
我是研究生,我所在的小组维护一个 Linux 集群。集群的每个节点都有自己的本地磁盘,但是这些本地磁盘比较小,没有配备自动备份。因此,该组拥有一个具有许多 TB 存储空间的文件服务器。我是一个相对的 Linux 新手,所以我不确定文件服务器在速度、网络能力等方面的规格是什么。我从经验中知道本地磁盘在 I/O 方面比文件服务器快得多. 大约有十几个人使用文件服务器。
使用cp将大约 20 GB 的文件从文件服务器复制到其中一个本地磁盘平均需要大约 11.5 分钟的实时时间(根据time)。我知道这个cp操作效率不高,因为(1)time告诉我这样一个副本的系统时间只有~45秒;并且因为 (2) 当我top在复制过程中检查时,%CPU非常低(通过检查,平均约为0-10%)。
使用cp将相同的 ~20 GB 文件从本地磁盘上的一个文件夹复制到同一本地磁盘上的另一个文件夹需要更少的时间 - 实时大约 9 分钟(系统时间约为 51 秒,根据time)。因此,显然文件服务器比本地磁盘慢一些,正如预期的那样,但可能不会明显变慢。我很惊讶从本地复制到同一本地的速度不超过 9 分钟。
我需要将 ~200 个大文件(每个 ~20 GB)从文件服务器复制到本地磁盘之一。所以,我的问题是:在 Linux 中复制大文件有没有更快的替代方法cp? (或者cp我可以使用任何标志来加速复制?)即使我可以以某种方式将这个复制时间缩短一分钟,这也会有很大帮助。
我确信购买新的、速度更快的硬件磁盘,但我无法访问此类资源。我也不是系统管理员——我只是一个(新手)用户——所以我无法访问有关磁盘负载的更详细信息。我知道虽然每天大约有十几个人使用文件服务器,但我是唯一使用这个特定节点/本地磁盘的人。