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

Jak przenieść pliki i katalogi do folderu nadrzędnego w Linuksie?

W systemie Linux (Ubuntu), jak przenieść wszystkie pliki i katalogi do katalogu nadrzędnego?

Odpowiedzi (12)

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

Przyszedłem tutaj, ponieważ jestem nowy w tym temacie, jak również. Z jakiegoś powodu powyższy sposób nie zadziałał dla mnie. To co zrobiłem, aby przenieść wszystkie pliki z dir do jego rodzica było:

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

spowoduje to również przeniesienie ukrytych plików.

Pojawi się komunikat:

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

gdy będzie próbował przenieść . (bieżący katalog), ale nie spowoduje to żadnej szkody.

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

Wpisz to w powłoce:

mv *.* ..

To przeniesie WSZYSTKIE pliki o jeden poziom wyżej.

Znak * jest symbolem wieloznacznym. Zatem *.deb przeniesie wszystkie pliki .deb, a Zeitgeist.* przeniesie Zeitgeist.avi i Zeitgeist.srt o jeden folder wyżej, ponieważ, oczywiście, .. wskazuje katalog nadrzędny.

Aby przenieść wszystko, łącznie z folderami, etc, po prostu użyj * zamiast *.*

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

Nie może być nic prostszego niż:

mv * ../

Aby przenieść również ukryte pliki:

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

mv to polecenie przenoszenia plików, * oznacza wszystkie pliki i foldery, a ../ to ścieżka do katalogu nadrzędnego.

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

W bashu możesz użyć* shopt -s dotglob** aby dopasować wszystkie pliki i przenieść je po prostu przez

shopt -s dotglob; mv * ..

To nie jest najlepsze rozwiązanie, ponieważ ustawienie jest stałe dla powłoki dopóki nie zmienisz go przez

shopt -u dotglob

ale myślę, że dobrze jest wiedzieć.

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

Metoda, która nie powoduje żadnych błędów i działa za każdym razem:

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

Użyłem wariantu powyższego, aby przenieść wszystkie pliki z podfolderów do folderu nadrzędnego.

Miałem dane w folderach według roku, ale odkryłem, że używając metadanych mogę mieć je wszystkie w tym samym folderze, co ułatwiło zarządzanie.

np.

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

Nie ma potrzeby zmieniać katalogów. Wystarczy dołączyć na końcu ścieżki:

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

Powyższe przenosi tylko pliki nie ukryte. Aby przenieść tylko ukryte pliki użyj .*

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

Powyższe dwa polecenia można połączyć w jedno:

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

Zobacz również Jak przenieść wszystkie pliki, w tym pliki ukryte do katalogu nadrzędnego za pomocą

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

Zakładając, że wszystkie twoje ukryte pliki zaczynają się od kropki, po której następuje litera lub liczba (co powinno mieć miejsce), możesz użyć

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

Część .[A-Za-z0-9]* jest po to, aby upewnić się, że nie próbujesz przesunąć . lub .. wzdłuż, co by się nie udało.

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

To proste, aby przenieść wszystkie pliki i foldery do katalogu nadrzędnego w Linuksie.

Przejdź do tego folderu i użyj tego polecenia:

mv * /the full path

Na przykład, jeśli twoje pliki i foldery są następujące:

/home/abcuser/test/1.txt 
                   2.txt
                   3.jpg
                   4.php
                   1folder
                   2folder

Przejdź do tego folderu przez cd:

cd /home/abcuser/test
mv * /home/abcuser

Wszystkie Twoje pliki i foldery zostaną przeniesione do folderu abcuser (katalog nadrzędny).

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

Przełącz się do podkatalogu i wykonaj następującą komendę, aby skopiować lub przenieść pliki.

ex: a jest katalogiem nadrzędnym, a b jest podkatalogiem, chcemy przenieść/skopiować wszystkie pliki z b do a (podkatalog do katalogu nadrzędnego).

cd b
cp * ..
mv * ..