2009-12-27 17:25:21 +0000 2009-12-27 17:25:21 +0000
84
84
Advertisement

Как переместить файлы и каталоги в родительскую папку в Linux?

Advertisement

В Linux (Ubuntu), как переместить все файлы и каталоги в родительский каталог?

Advertisement
Advertisement

Ответы (12)

96
96
96
2013-01-26 20:20:56 +0000

Я пришел сюда, потому что я тоже новичок в этой теме. По какой-то причине вышесказанное не помогло мне. То, что я сделал, чтобы переместить все файлы из dir в родительский dir, было:

cd to/the/dir
mv * ../
```...
72
72
72
2009-12-27 17:29:43 +0000
find . -maxdepth 1 -exec mv {} .. \;

это также переместит скрытые файлы.

Вы получите сообщение:

mv: cannot move `.' to `../.': Device or resource busy

когда он попытается переместить . (текущий каталог), но это не причинит никакого вреда.

10
Advertisement
10
10
2009-12-27 17:27:56 +0000
Advertisement

Введите это в оболочку:

mv *.* ..

Это перемещает ВСЕ файлы на один уровень вверх.

Символ * является подстановочным знаком. Таким образом, *.deb переместит все .deb файлы, а Zeitgeist.* переместит Zeitgeist.avi и Zeitgeist.srt на одну папку вверх, поскольку, конечно, .. указывает на родительскую директорию.

Чтобы переместить все, включая папки и т.д., просто используйте * вместо *.*.

6
6
6
2014-07-16 18:50:24 +0000

Это не может быть проще, чем:

mv * ../

Чтобы также переместить скрытые файлы:

mv /path/subfolder/{.,}* /path/

mv - это команда перемещения файлов, * означает все файлы и папки, а ../ - это путь к родительской директории.

2
Advertisement
2
2
2011-01-25 21:33:46 +0000
Advertisement

В bash вы можете использовать* shopt s dotglob**, чтобы заставить * соответствовать всем файлам и переместить их просто на

shopt -s dotglob; mv * ..

Это не лучшее решение, так как настройка является постоянной для оболочки, пока вы не измените ее на

shopt -u dotglob

, но я думаю, что это приятно знать.

1
1
1
2012-07-25 20:15:46 +0000

Метод, который не вызывает ошибок и работает каждый раз:

ls -1A . | while read -r file                                                    
do                                                                                  
    mv "./${file}" ..                                                            
done
1
Advertisement
1
1
2014-07-16 18:37:18 +0000
Advertisement
find . -maxdepth 2 -type f -exec mv {} .. \;

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

Я получал данные в папках по годам, но, используя метаданные, я мог иметь их все в одной папке, что упрощало управление.

, например,

/data/2001/file_1
/data/2002/file_2
/data/2003/file_3
```.
0
0
0
2016-04-11 04:38:26 +0000

Нет необходимости менять каталоги. Просто включите * в конце пути:

mv /my/folder/child/* /my/folder/

Выше перемещает только не скрытые файлы. Для перемещения только скрытых файлов используйте .* 0x2*

mv /my/folder/child/.* /my/folder/

Выше два могут быть объединены в одну команду:

mv /my/folder/child/{.,}* /my/folder/

Также смотрите Как переместить все файлы, включая скрытые файлы, в родительский каталог по адресу * .

0
Advertisement
0
0
2018-12-13 14:22:48 +0000
Advertisement
find -type f|while read line; do mv $line ${line##*/}; done
0
0
0
2009-12-27 17:48:32 +0000

Предположив, что все ваши скрытые файлы начинаются с точки, за которой следует буква или цифра (которая должна быть), вы можете использовать

mv * .[A-Za-z0-9]* ..

Часть .[A-Za-z0-9]* заключается в том, чтобы убедиться, что вы не пытаетесь переместить . или .., что может привести к неудаче.

0
0
0
2011-11-03 11:39:25 +0000

Просто переместить все файлы и папки в родительский каталог в 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 (родительский каталог).

-1
-1
-1
2016-05-20 06:32:28 +0000

переключиться в подкаталог и выполнить следующую команду для копирования или перемещения файлов.

ex: a - родительский каталог, а b - подкаталог, мы хотим переместить/копировать все файлы из b в a (подкаталог в родительский каталог).

cd b
cp * ..
mv * ..
Advertisement

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

6
10
5
37
7
Advertisement
Advertisement