в Linux (Ubuntu), как переместить все файлы и каталоги в родительский каталог?
Как переместить файлы и каталоги в родительскую папку в Linux?
11 ответов
find . -maxdepth 1 -exec mv {} .. \;
это будет перемещать скрытые файлы, а также.
вы получите сообщение:
mv: cannot move `.' to `../.': Device or resource busy
, когда он пытается переместить .
(текущий каталог), но это не причинит никакого вреда.
Я пришел сюда, потому что я тоже новичок в этой теме. Почему-то выше не сделать трюк для меня. Что я сделал, чтобы переместить все файлы из каталога в родительский каталог:
cd to/the/dir
mv * ../
введите в командной строке:
mv *.* ..
это перемещает все файлы на один уровень вверх.
символ *
является подстановочным. Так *.deb
переместит все .deb файлы, а Zeitgeist.*
будет двигаться дух времени.Ави и дух времени.сто одну папку, так, конечно, ..
указывает на родительский каталог.
перенести все, включая папки, и т. д., просто использовать *
вместо *.*
Это не может быть проще, чем:
mv * ../
для перемещения скрытых файлов:
mv /path/subfolder/{.,}* /path/
mv
- это команда для перемещения файлов, *
означает, что все файлы и папки и ../
- это путь к родительскому каталогу.
в bash, вы можете использовать shopt -s dotglob чтобы сделать * совпадают все файлы и переместить их просто
shopt -s dotglob; mv * ..
это не лучшее решение, так как параметр является постоянным для оболочки, пока вы не измените его на
shopt -u dotglob
но я думаю, что это хорошо, чтобы знать.
метод, который не вызывает никаких ошибок и работает каждый раз:
ls -1A . | while read -r file
do
mv "./${file}" ..
done
find . -maxdepth 2 -type f -exec mv {} .. \;
я использовал вариант выше, чтобы переместить все файлы из подпапок в родительский.
Я получил данные в папках по годам, но нашел, используя метаданные, я мог бы иметь их все в той же папке, что облегчило управление.
eg.
/data/2001/file_1
/data/2002/file_2
/data/2003/file_3
нет необходимости менять каталоги. Просто включите * в конце пути:
mv /my/folder/child/* /my/folder/
выше перемещает только не скрытые файлы. Для перемещения используйте только скрытые файлы .*
mv /my/folder/child/.* /my/folder/
выше двух можно объединить в одну команду:
mv /my/folder/child/{.,}* /my/folder/
Также см.: Как перенести все файлы, включая скрытые файлы в папку через *
предполагая, что все ваши скрытые файлы, начинающиеся с точки, за которой следует буква или число (что они должны), вы могли бы использовать
mv * .[A-Za-z0-9]* ..
.[A-Za-z0-9]*
часть, чтобы убедиться, что вы не пытаетесь переместить .
или ..
вместе, что бы не.
просто переместить все файлы и папки в родительский каталог в Linux.
перейдите в эту папку и используйте следующую команду:
mv * /the full path
например, если ваши файлы и папки выглядят следующим образом:
/home/abcuser/test/1.txt
2.txt
3.jpg
4.php
1folder
2folder
перейдите в эту папку с помощью cd:
cd /home/abcuser/test
mv * /home/abcuser
все ваши файлы и папки будут перемещены в папку abcuser (родительский каталог).
перейти в подкаталог и выполнить следующую команду для копирования или перемещения файлов.
ex: a-родительский каталог, А b-подкаталог, мы хотим переместить / скопировать все файлы из b в A (подкаталог в родительский каталог).
cd b
cp * ..
mv * ..
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]