To move files in Linux you need to use the mv command. Here are some examples:
# move file1 to file2 (what command actually does is renaming the file) $ mv file1 file2
# move file1 from dir1 to dir2 $ mv folder1/file1 folder2/
# move all files from folder1 to folder2 $ mv folder1/* folder2/
Při použití k přesunutí souboru ve stejném adresáři nebo do jiného adresáře mv efektivně přejmenuje soubor, pokud jsou zdrojová a cílová cesta uvnitř stejný souborový systém.
Now when we touched the basics of the ‘mv’ command in Linux, lets explore more ways to efficiently move files and directories.
Mastering the “mv” command
Přesouvání více souborů
Příkaz mv není omezen na přesun jednoho souboru najednou. Pomocí zástupných znaků můžete přesunout více souborů současně. Chcete-li například přesunout všechny textové soubory z jednoho adresáře do druhého, můžete použít následující příkaz:
$ mv *.txt destination_directory/
This command selects all files with the “.txt” extension and moves them to the specified destination directory. The asterisk (*) acts as a wildcard, matching any characters.
Přepisování souborů
Při přesouvání souborů můžete narazit na situaci, kdy soubor se stejným názvem již v cílovém adresáři existuje. Ve výchozím nastavení vás příkaz mv před přepsáním souboru vyzve k potvrzení. Toto chování však můžete přepsat pomocí volby -f:
$ mv -f filename destination_directory/
Při použití volby -f buďte opatrní, protože přepíše existující soubory bez jakéhokoli potvrzení.
Zachování metadat souboru
Příkaz mv nejen přemístí soubory, ale také vám umožní zachovat jejich metadata, včetně časových razítek a oprávnění. Chcete-li zachovat původní časová razítka souborů během přesunu, použijte volbu -p:
$ mv -p filename destination_directory/
To je zvláště užitečné, když chcete zajistit, aby si přesunuté soubory zachovaly původní časová razítka vytvoření a úpravy.
Podrobný režim
Pokud chcete vidět podrobné informace o přesouvaných souborech, můžete použít volbu -v k povolení podrobného režimu:
$ mv -v filename destination_directory/
Podrobný režim poskytuje zpětnou vazbu v reálném čase a zobrazuje každý soubor při jeho přesunu, což poskytuje jasnější pochopení procesu.
Přesouvání adresářů
Příkaz mv si také bez problémů poradí s přesuny adresářů. Chcete-li přesunout celý adresář a jeho obsah, jednoduše zadejte zdrojový a cílový adresář:
$ mv source_directory/ destination_directory/
Tento příkaz přesune celý obsah zdrojového adresáře do zadaného cílového adresáře.
Alternativní způsoby přesunu souborů v Linuxu
In addition to the mv command, Linux provides a few other commands and utilities for moving files and directories. Here are a couple of alternatives:
Příkaz cp (Kopírovat) s volbou -r
Příkaz cp se tradičně používá pro kopírování souborů, ale lze jej také použít k jejich přesunutí kombinací s volbou -r (rekurzivní). Tato možnost je nezbytná při práci s adresáři a jejich obsahem.
$ cp -r source_directory/ destination_directory/
Tento příkaz rekurzivně zkopíruje obsah zdrojového adresáře do cílového adresáře a efektivně dosáhne operace přesunu.
Příkaz rsync
Příkaz rsync je výkonný nástroj pro synchronizaci a kopírování souborů. Může být také použit pro přesun souborů mezi adresáři. Základní syntaxe je:
$ rsync -av --remove-source-files source_directory/ destination_directory/
Volba -a zachová oprávnění k souboru a další atributy.
Volba -v umožňuje podrobný režim pro zobrazení zpracovávaných souborů.
The –remove-source-files option removes the files from the source directory after successful transfer.
rsync je zvláště užitečný pro přesun velkého množství dat a udržování synchronizace mezi zdrojem a cílem.
příkaz najít a spustit
Příkaz find v kombinaci s exec lze použít k přesunutí souborů na základě určitých kritérií. Chcete-li například přesunout všechny textové soubory v adresáři a jeho podadresářích do nového umístění:
$ find source_directory/ -type f -name "*.txt" -exec mv {} destination_directory/
This command finds all files (-type f) with the “.txt” extension and executes the mv command on each of them, moving them to the specified destination.
Shrnutí
Mastering the mv command in Linux is essential for efficient file and directory management. We’ve covered the fundamental usage of the mv command, from simple file renaming to moving entire directories. Additionally, we explored alternative commands like cp with the -r option, the rsync command, and the dynamic combination of find a exec for more specialized moves. By incorporating these commands into your Linux toolkit, you empower yourself to manage files seamlessly and make the most of the robust capabilities that the Linux command line provides.






