Почему cp не копирует файлы?

$ ls -la /tee/mysql
total 28675
drwxrwxrwx 1 root root      448 Jun 25 13:52 .
drwxrwxrwx 1 root root     2896 Jun 25 12:12 ..
-rwxrwxrwx 1 root root 18874368 Jun 25 13:19 ibdata1
-rwxrwxrwx 1 root root  5242880 Jun 25 13:52 ib_logfile0
-rwxrwxrwx 1 root root  5242880 Jun 25 13:19 ib_logfile1
drwxrwxrwx 1 root root      984 Jun 25 11:23 mysql
$ sudo ls -la /var/lib/mysql.old
total 88887336
drwx------  6 mysql mysql        4096 Jun 25 11:23 .
drwxr-xr-x 41 root  root         4096 Jun 25 13:15 ..
-rw-r--r--  1 mysql mysql           0 Apr 26 11:10 debian-5.5.flag
-rw-rw----  1 mysql mysql 91010105344 Jun 25 12:12 ibdata1
-rw-rw----  1 mysql mysql     5242880 Jun 25 12:12 ib_logfile0
-rw-rw----  1 mysql mysql     5242880 Jun 25 11:23 ib_logfile1
drwx------  2 mysql mysql        4096 Jun 20 17:22 m
drwx------  2 mysql mysql        4096 Apr 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 test
$ sudo cp -p -f -r /var/lib/mysql.old /tee/mysql
$ sudo ls -la /tee/mysql
total 28676
drwxrwxrwx 1 root root      552 Jun 25 14:09 .
drwxrwxrwx 1 root root     2896 Jun 25 12:12 ..
-rwxrwxrwx 1 root root 18874368 Jun 25 13:19 ibdata1
-rwxrwxrwx 1 root root  5242880 Jun 25 13:52 ib_logfile0
-rwxrwxrwx 1 root root  5242880 Jun 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 # blocks used available percent-used mounted
/dev/sda1                       2930232316 186242116 2743990200   7% /tee
$ cd
$ touch test
$ ls test*
test
$ cp -n test test2 # test whether cp works at all
$ ls test*
test  test2

Почему sudo cp -p -f -r /var/lib/mysql.old /tee/mysql не копирует все содержимое mysql.old в mysql?

4
задан 26 June 2013 в 02:46

2 ответа

Я только что попробовал команду, которую вы использовали, и она сработала. Но попробуйте это:

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

Вот что я сделал:

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

и он скопировал все файлы и папки в место назначения.

0
ответ дан 26 June 2013 в 02:46

На самом деле, вы скопировали каталог 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.

0
ответ дан 26 June 2013 в 02:46

Другие вопросы по тегам:

Похожие вопросы: