rsync
вероятно, был бы более оптимальный вариант здесь. Это столь же просто как rsync -a subdir/ ./
.
Мое тестовое дерево в filename
:contents
формат:
./file1:root
./file2:root
./dir/file3:dir
./dir/file4:dir
./subdir/dir/file3:subdir
./subdir/file1:subdir
Выполнение rsync
:
$ rsync -a -v subdir/ ./
sending incremental file list
./
file1
dir/
dir/file3
Дает:
./file1:subdir
./file2:root
./dir/file3:subdir
./dir/file4:dir
./subdir/dir/file3:subdir
./subdir/file1:subdir
И затем, для эмуляции mv
, Вы, вероятно, хотите удалить исходный каталог:
$ rm -r subdir/
Предоставление:
./file1:subdir
./file2:parent
./dir/file3:subdir
./dir/file4:dir
Если это неправильно, можно ли обеспечить подобный пример (например, использование моего тестового дерева от близости верхняя часть этого ответа) с желаемым результатом?
Необходимо смочь переустановить пакет с простым:
# pacman -S perl-libwww
Это только удалит perl-libwww:
# pacman -Rdd perl-libwww
Заметьте двойной-d в команде, если Вы используете - nodeps Вы должны указать, что дважды также или комбинируют его с-d как:
# pacman -R --nodeps --nodeps perl-libwww
# pacman -Rd --nodeps perl-libwww
Это удаляет все пакеты, которые зависят от perl-libwww:
# pacman -Rc perl-libwww
Из страницы справочника pacman:
-d, --nodeps Skips dependency version checks. Package names are still checked. Normally, pacman will always check a package’s dependency fields to ensure that all dependencies are installed and there are no package conflicts in the system. Specify this option twice to skip all dependency checks. -c, --cascade Remove all target packages, as well as all packages that depend on one or more target packages. This operation is recursive, and must be used with care since it can remove many potentially needed packages.