Я переношу свой домашний каталог из старой системы в новую, и tarball, который я сделал, содержит все, включая скрытые файлы, такие как .bashrc. Однако, когда я перемещаю содержимое распакованного tarball (который находится в / tmp) в мой новый домашний каталог, скрытые файлы не копируют ( mv /tmp/home/rcook/* /home/rcook/
). Как я могу заставить mv перемещать их?
На самом деле, я думаю, что проблема не в mv, а в том, что он сфокусирован на bash. Если я это сделаю:
mkdir a
mkdir b
touch a/.foo
touch a/bar
mv a/* b/
ls -a a/ b/
Я вижу это:
a/:
. .. .foo
b/:
. .. bar
a/.foo
не двигался. Итак, как я могу получить подстановочный знак * для поиска скрытых файлов?
Да, я полагаю, я мог распаковать tarball прямо в мой домашний каталог, но tarball распаковывается в home/rcook/...
, и я хочу быть уверенным, что перезаписываю новый .bashrc
и т. д. со старыми, настроенными версиями, и знание того, как находить и перемещать скрытые файлы, является полезным навыком. Предложения?
В некоторых ответах предлагается сделать что-то вроде mv src/.* dest/
. Тем не менее, я попробовал это в своих тестовых каталогах и получил ошибки. Начиная с:
rcook$ ls -a a/ b/
a/:
. .. bar .foo
b/:
. ..
rcook$ mv a/.* b/
mv: cannot move 'a/.' to 'b/.': Device or resource busy
mv: cannot remove 'a/..': Is a directory
rcook$ ls -a a/ b/
a/:
. .. bar
b/:
. .. .foo
Что я делаю неправильно?