Onehdy jsem hledal způsob, jak přesunout (ne zkopírovat) více typů souborů z jednoho adresáře do druhého. Už jsem věděl, jak najít a zkopírovat určitý typ souborů z jednoho adresáře do druhého . Ale nevím, jak přesunout více typů souborů současně. Pokud jste se někdy dostali do podobné situace, zde je snadný způsob, jak to udělat z příkazového řádku v Linuxu.
Přesunutí několika stejných nebo různých typů souborů je snadné! Můžete to udělat několika kliknutími myší v režimu GUI nebo použít jednořádkový příkaz v režimu CLI. Pokud však máte v adresáři stovky různých typů souborů a chtěli byste přesunout více typů souborů do jiného adresáře najednou, byl by to těžkopádný úkol. Naštěstí pro mě následující metoda tuto práci snadno zvládla!
Přesun více typů souborů současně v Linuxu
Představte si tento scénář. V adresáři s názvem 'dir1' máte několik typů souborů, například .pdf, .doc, .mp3, .mp4, .txt atd. .
Pojďme se podívat na obsah tohoto adresáře:
$ ls dir1 file.txt image.jpg mydoc.doc personal.pdf song.mp3 video.mp4
Chcete přesunout některé typy souborů (ne všechny) do jiného umístění. Řekněme například, že chcete přesunout soubory doc, pdf a txt do jiného adresáře s názvem 'dir2' jedním tahem.
Chcete-li současně přesunout soubory .doc, .pdf a .txt z dir1 do dir2, příkaz by byl:
$ mv dir1/*.{doc,pdf,txt} dir2/
Je to snadné, že?
Nyní se podívejme na obsah dir2:
$ ls dir2/ file.txt mydoc.doc personal.pdf
Vidět? typy souborů .doc, .pdf a .txt z dir1 byly přesunuty do dir2.
Přesunout více typů souborů současně v Linuxu pomocí příkazu mv
Do složených závorek můžete přidat tolik typů souborů, kolik chcete ve výše uvedeném příkazu je můžete přesunout do různých adresářů. Výše uvedený příkaz mi na Bash funguje dobře.
Dalším způsobem, jak přesunout více typů souborů, je přejít do zdrojového adresáře, tj. v našem případě dir1:
$ cd ~/dir1
A přesuňte typy souborů dle vašeho výběru do cíle (např. dir2), jak je znázorněno níže.
$ mv *.doc *.txt *.pdf /home/sk/dir2/
Chcete-li přesunout všechny soubory s určitou příponou, například .doc pouze, spustit:
$ mv dir1/*.doc dir2/
Další podrobnosti naleznete na manuálových stránkách.
$ man mv
Pokud znáte nějaké další jednořádkové příkazy Chcete-li přesunout více typů souborů najednou, sdílejte je v sekci komentářů níže. Příručku podle toho zkontroluji a aktualizuji.