Myslím, že toto je nejelegantnější, protože se také nesnaží posunout .. :
mv /source/path/{.[!.],}* /destination/path
 Komplexní sadu řešení naleznete v odpovědi UNIX &Linux na Jak přesunete všechny soubory (včetně skrytých) z jednoho adresáře do druhého?. Ukazuje řešení v Bash, zsh, ksh93, standardní (POSIX) sh atd.
Tyto dva příkazy můžete použít společně:
mv /path/subfolder/* /path/   # your current approach
mv /path/subfolder/.* /path/  # this one for hidden files
 Nebo vše dohromady (díky pfnuesel):
mv /path/subfolder/{.,}* /path/
 Což se rozšíří na:
mv /path/subfolder/* /path/subfolder/.* /path/
 
 (příklad:echo a{.,}b expanduje na a.b ab )
Všimněte si, že se zobrazí několik varování:
mv: cannot move ‘/path/subfolder/.’ to /path/.’: Device or resource busy
mv: cannot remove /path/subfolder/..’: Is a directory
 
 Prostě je ignorujte:děje se to proto, že /path/subfolder/{.,}* také expanduje na /path/subfolder/. a /path/subfolder/.. , což jsou adresář a nadřazený adresář (viz Co znamenají „.“ a „..“, když jsou ve složce?).
Pokud chcete pouze kopírovat, můžete použít pouhé:
cp -r /path/subfolder/. /path/
#                     ^
#                     note the dot!
 
 Tím se zkopírují všechny soubory, normální i skryté, od /path/subfolder/. expanduje na "vše z tohoto adresáře" (Zdroj:Jak kopírovat pomocí cp, aby zahrnoval skryté soubory a skryté adresáře a jejich obsah?)
To přesune všechny soubory do nadřazeného adresáře, jak se očekávalo, ale nepřesune skryté soubory. Jak to udělat?
 Můžete zapnout dotglob :
shopt -s dotglob               # This would cause mv below to match hidden files
mv /path/subfolder/* /path/
 
 Chcete-li vypnout dotglob , musíte říct:
shopt -u dotglob