为什么 cp 不复制文件?

为什么 cp 不复制文件?
$ls -la /tee/mysql
总计 28675
drwxrwxrwx 1 root root 448 六月 25 13:52 。
drwxrwxrwx 1 root root 2896 六月 25 12:12 ..
-rwxrwxrwx 1 root root 18874368 六月 25 13:19 ibdata1
-rwxrwxrwx 1 root root 5242880 六月 25 13:52 ib_logfile0
-rwxrwxrwx 1 root root 5242880 六月 25 13:19 ib_logfile1
drwxrwxrwx 1 root root 984 六月 25 11:23 mysql
$sudo ls -la /var/lib/mysql.old
总计 88887336
drwx------ 6 mysql mysql 4096 6月25日 11:23。
drwxr-xr-x 41 root root 4096 6月25日 13:15 ..
-rw-r--r-- 1 mysql mysql 0 4月26日 11:10 debian-5.5.flag
-rw-rw---- 1 mysql mysql 91010105344 6月25日 12:12 ibdata1
-rw-rw---- 1 mysql mysql 5242880 6月25日 12:12 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 6月25日 11:23 ib_logfile1
drwx------ 2 mysql mysql 4096 20年6月17日 17:22
drwx------ 2 mysql mysql 4096 4月26日 11:10 mysql
-rw-rw---- 1 mysql mysql 6 4月 25 06:40 mysql_upgrade_info
drwx------ 2 mysql mysql 4096 4月26日 11:10 performance_schema
drwx------ 2 mysql mysql 4096 2月12日 16:22 测试
$sudo cp -p -f -r /var/lib/mysql.old /tee/mysql
$sudo ls -la /tee/mysql
总计 28676
drwxrwxrwx 1 root root 552 六月 25 14:09 。
drwxrwxrwx 1 root root 2896 六月 25 12:12 ..
-rwxrwxrwx 1 root root 18874368 六月 25 13:19 ibdata1
-rwxrwxrwx 1 root root 5242880 六月 25 13:52 ib_logfile0
-rwxrwxrwx 1 root root 5242880 六月 25 13:19 ib_logfile1
drwxrwxrwx 1 root root 0 6月25日 11:23 mysql
drwxrwxrwx 1 root root 984 六月 25 11:23 mysql.old
$df |grep tee已使用块数 可用块数 使用百分比 已安装块数
/dev/sda1 2930232316 186242116 2743990200 7% /tee
$光盘
$触摸测试
$ls 测试*
测试
$cp -n 测试 test2# 测试 cp 是否有效
$ls 测试*
测试 test2

为什么不将sudo cp -p -f -r /var/lib/mysql.old /tee/mysql的全部内容复制mysql.old到 中mysql

答案1

实际上,您将mysql.old目录复制到了/tee/mysql

cp

但我认为这不是你想要的。我猜想你可能希望将所有子目录和文件从mysql.old目录复制到/tee/mysql。为此,请使用以下命令:

sudo cp -p -f -r /var/lib/mysql.old/* /tee/mysql

因此,不要忘记/*源目录的末尾。通常,为此目的,使用:

cp -pfr <SourceDirectory>/* <DestinationDirectory>

man cp有关该命令的更多信息,请参阅cp

答案2

我刚刚尝试了你使用的命令,它起作用了。但请继续尝试这个:

sudo cp -r -fHip -- <Source_Directory> <Target_Directory>

这是我所做的:

sudo cp -r -fHip -- /home/mitch/Test/* /home/mitch/test1

并将所有文件和文件夹复制到目标。

答案3

如果你不小心尝试将目录复制到其当前位置../。因此,请查找路径中缺失或任何不准确之处。

例如,当我意外地收到这条消息时

cp -R ../myapp/.git .
cp: ./.git and ../myapp/.git are identical (not copied).

(还没有回去足够远),所以我改成这样:

cp -R ../../myapp/.git .

然后它就起作用了。

相关内容