GNU/Linux >> Znalost Linux >  >> Linux

Jak přesunout obsah složky do aktuální složky?

Mám tuto strukturu složek:

foo
`----> bar

Jak mohu extrahovat obsah bar do foo ?

Zkusil jsem mv -f bar/* . zevnitř foo .

-f, –síla | před přepsáním se neptat

ale dostávám „nepodařilo se přesunout bar/ajax na foo/ajax protože adresář není prázdný“

Jak to mohu vyřešit?

Přijatá odpověď:

mv přepíše soubory, ale odmítne přepsat adresáře . Neexistuje žádný příkaz, který by sloučil adresáře a odstranil zdrojové adresáře (což je pravděpodobně to, co chcete s mv ). Dokonce i rsync --remove-source-files ponechá prázdné adresáře.

Můžete použít kombinaci příkazů:

cp -a dev/. .
rm -r dev

který zkopíruje vše v dev do aktuálního adresáře a poté odstraní dev adresář.

Nebo:

rsync -a --remove-source-files dev/ .
find dev -depth -type d -exec rmdir {} ;

který používá rsync přesunout všechny soubory a poté smaže prázdné adresáře, které po nich zůstaly.


Linux
  1. Jak otevírat a zavírat adresáře v terminálu Linux

  2. Jak tarovat (komprimovat) soubory, s výjimkou určitých souborů nebo adresářů

  3. Jak přenosné jsou /dev/stdin, /dev/stdout a /dev/stderr?

  1. Přesunout strukturu složek přes více adresářů?

  2. Jak chránit adresáře heslem v cPanel

  3. Jak kopírovat / přesouvat soubory a adresáře v Linuxu pomocí příkazů „cp“ a „mv“.

  1. Jak kódovat base64 /dev/random nebo /dev/urandom?

  2. Jak přesně duplikovat složku

  3. Jak přesunu soubory a adresáře do nadřazené složky v Linuxu?