为什么cp不复制文件?

msh*_*210 5 filesystem command-line bash cp

$ ls -la /tee/mysql
总计 28675
drwxrwxrwx 1 根 448 六月 25 13:52。
drwxrwxrwx 1 根根 2896 年 6 月 25 日 12:12 ..
-rwxrwxrwx 1 根 18874368 6 月 25 日 13:19 ibdata1
-rwxrwxrwx 1 根 5242880 6 月 25 日 13:52 ib_logfile0
-rwxrwxrwx 1 根 5242880 6 月 25 日 13:19 ib_logfile1
drwxrwxrwx 1 root root 984 Jun 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 根根 4096 六月 25 13:15 ..
-rw-r--r-- 1 mysql mysql 0 Apr 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 17:22 米
drwx------ 2 mysql mysql 4096 4 月 26 日 11:10 mysql
-rw-rw---- 1 mysql mysql 6 Apr 25 06:40 mysql_upgrade_info
drwx------ 2 mysql mysql 4096 Apr 26 11:10 performance_schema
drwx------ 2 mysql mysql 4096 Feb 12 16:22 测试
$ sudo cp -p -f -r /var/lib/mysql.old /tee/mysql 
$ sudo ls -la /tee/mysql
总计 28676
drwxrwxrwx 1 根根 552 六月 25 14:09。
drwxrwxrwx 1 根根 2896 年 6 月 25 日 12:12 ..
-rwxrwxrwx 1 根 18874368 6 月 25 日 13:19 ibdata1
-rwxrwxrwx 1 根 5242880 6 月 25 日 13:52 ib_logfile0
-rwxrwxrwx 1 根 5242880 6 月 25 日 13:19 ib_logfile1
drwxrwxrwx 1 root root 0 Jun 25 11:23 mysql
drwxrwxrwx 1 root root 984 Jun 25 11:23 mysql.old
$ df |grep tee # 块已使用可用百分比已安装
/dev/sda1 2930232316 186242116 2743990200 7% /tee
$ cd 
$触摸测试
$ ls 测试*
测试
$ cp -n test test2 # 测试cp是否有效
$ ls 测试*
测试测试2

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

Rad*_*anu 4

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

CP

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

sudo cp -p -f -r /var/lib/mysql.old/* /tee/mysql
Run Code Online (Sandbox Code Playgroud)

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

cp -pfr <SourceDirectory>/* <DestinationDirectory>
Run Code Online (Sandbox Code Playgroud)

man cp有关该命令的更多信息,请参见参考资料cp


Mit*_*tch 0

我刚刚尝试了您使用的命令,它有效。但请继续尝试这个:

sudo cp -r -fHip -- <Source_Directory> <Target_Directory>
Run Code Online (Sandbox Code Playgroud)

这是我所做的:

sudo cp -r -fHip -- /home/mitch/Test/* /home/mitch/test1
Run Code Online (Sandbox Code Playgroud)

它将所有文件和文件夹复制到目的地。