Jednou z nejzákladnějších věcí, které každý uživatel v Linuxu dělá, je přejmenování souborů . Soubory v Linuxu můžete přejmenovat pomocí správce souborů, ale není to příliš zajímavé. V tomto článku se naučíte přejmenovat soubor nebo přejmenovat více souborů v Linuxu pomocí terminálu.
Přejmenování souboru v systému Linux nebo přesouvání souborů
Ve svém adresáři mám soubor s názvem „file“ a změním jeho název na „archivo“ pomocí příkazu „mv“:
K přesunutí souborů se používá příkaz ‚mv‘, ale soubor můžete přesunout do stejného umístění pod jiným názvem.
$ mv file new_name
Také můžete přesunout soubor do jiného umístění a pod jiným názvem.
Také můžete přejmenovat adresáře pomocí stejné syntaxe.
Podrobný výstup můžete získat pomocí možnosti „v“.
Pokud přejmenujete soubor pomocí názvu existujícího souboru, příkaz ‚mv‘ přepíše existující soubor, ale pokud to nechcete, stačí předat volbu ‚i‘ a před přepsáním souboru se zobrazí výzva.
Pokud nechcete používat možnost „i“, měli byste vytvořit zálohu stávajícího souboru.
Záloha se nazývá soubor1~
K názvu zálohy můžete přidat příponu, stačí zadat následující syntaxi.
$ mv -b -S “suffix” file_name existing_file_name
Seznam možností
–záloha | proveďte zálohu každého existujícího cílového souboru |
-f –force | nezobrazovat výzvu před přepsáním |
-i –interactive | dotázat se před přepsáním |
-n | nepřepisujte existující soubor |
-u | přesunout pouze tehdy, když je SOURCE soubor novější než cílový soubor nebo když cílový soubor chybí |
– možnosti zálohování
žádné, vypnuto | nikdy neprovádějte zálohy (i když je zadáno –backup) |
číslované, t | vytvářejte číslované zálohy |
existující, nula | číslované, pokud existují číslované zálohy, jinak jednoduché |
jednoduché, nikdy | vždy provádějte jednoduché zálohy |
Chcete-li se dozvědět podrobnější informace o „mv“, stačí napsat:$ man mv na svém terminálu.
Přejmenování více souborů v Linuxu pomocí „přejmenovat“
Souhrn přejmenovat [ -h|-m|-V ] [ -v ] [ -n ] [ -f ] [ -e|-E perlexpr]*|perlexpr [ soubory ]
Tento příkaz je o něco pokročilejší než mv, protože vyžaduje znalost nebo alespoň základní znalost regulárních výrazů, „rename“ přejmenuje názvy souborů (více souborů) zadané podle pravidla uvedeného jako první argument.
Argument perlexpr je výraz v Perlu, od kterého se očekává, že změní řetězec $_ v Perlu pro alespoň některá ze zadaných názvů souborů. Pokud není daný název souboru výrazem změněn, nebude přejmenován. Pokud na příkazovém řádku nejsou zadány žádné názvy souborů, budou se názvy souborů číst pomocí standardního vstupu.
Možnosti
-v -verbose | Verbose:tisk názvů souborů úspěšně přejmenovaných. |
-n -nono | Žádná akce:vytisknout názvy souborů, které mají být přejmenovány, ale nepřejmenovávat. |
-f -force | Přepsat:Umožňuje přepsání existujících souborů. |
-h -help | Nápověda:vytiskněte SOUHRN a MOŽNOSTI. |
-V -verze | Verze:zobrazit číslo verze. |
-e | Výraz:kód, který se bude chovat podle názvu souboru. Může být opakován pro vytvoření kódu (jako „perl -e“). Pokud není -e, použije se jako kód první argument. |
-E | Příkaz:kód, který se má chovat podle názvu souboru jako -e, ale je ukončen znakem „;“. |
Příklady:
Mám dva soubory:soubor1.c a soubor2.c a chci změnit příponu souboru1 na .txt, takže použiji následující příkaz:
$ rename 's/\.c/\.txt/' file1.c
Vytvořil jsem nový soubor s názvem file3.c a chci změnit příponu souborů 2 a 3, takže použiji následující příkaz:
$ rename 's/\.c/\.txt/' *
Nyní mám čtyři soubory:awesomefile, greatfile, bigfile, linuxfile; a chci změnit konkrétní část jejich jmen, tj. změnit „soubor“ na „dokument“, konečný výsledek by měl být:
úžasné dokument , skvělé dokument , velký dokument a linux dokument
Použiji tedy následující příkaz:
$ rename 's/file/document/' *
Také chci přeložit malá písmena na velká, takže použiji následující příkaz:
$ rename 'y/a-z/A-Z/' *
Pokud se chcete dozvědět podrobnější informace o ‚mv‘, stačí napsat:$ man rename na vašem terminálu.
Přejmenování adresáře v Linuxu
Podobně jako při přejmenování souboru v Linuxu můžeme v Linuxu přejmenovat adresář. Pomocí příkazu mv zadejte zdroj jako cestu k adresáři a název nového adresáře jako cestu k cíli.
Zní to zmateně? Podívejte se na to –
Adresář A umístěné v domovském adresáři. Zde je návod, jak můžeme tento adresář v Linuxu přejmenovat –
mv $HOME/DirectoryA $HOME/NewDirectoryName
Pokud požadovaný adresář není v aktuálním adresáři, musíte zadat úplnou cestu k adresáři.
Kdy příkaz mv v Linuxu přesune a přejmenuje soubory?
Pokud jeden příkaz provádí dvě funkce, přesouvá soubory a přejmenovává soubory, možná vás zajímá, kdy přesune soubor a kdy přejmenuje soubor. Odpověď je jednoduchá. Pokud jsou zdrojové a cílové cesty stejné, přejmenuje soubor nebo adresář; jinak se přesune nebo přesune a přejmenuje soubor nebo adresář.
Příkaz Linux mv pro přesun souborů
Jak jsem uvedl výše, pokud zdroj a cíl nejsou stejné, zdrojový soubor nebo adresář se přesune do cílového adresáře. Následující příkaz přesune soubor –
mv $HOME/DirectoryA/test.txt $HOME/Test/test.txt
Následující příkaz mv přesune a přejmenuje soubor –
mv $HOME/DirectoryA/test.txt $HOME/Test/test2.txt
Použití příkazu mv ve skriptech Bash
Při psaní bash skriptu mějte na paměti, že uživatel může skript spustit z libovolného adresáře. Při použití příkazu mv ve skriptu bash nezapomeňte uvést úplnou cestu ke zdrojovému a cílovému adresáři. Pokud zadáte pouze název adresáře nebo souboru, za předpokladu, že uživatel spustí skript z tohoto adresáře, může skript selhat, pokud jej uživatel spustí z jiného umístění.
Závěr
V systému Linux můžete přejmenovat soubory pomocí správce souborů, jako je dolphin nebo Nautilus, ale myslím, že přejmenování souborů v Linuxu pomocí terminálu je zábavnější, také si myslím, že příkaz „přejmenovat“ je výkonnější než správce souborů. Můžete si vybrat svůj vlastní způsob, ale já preferuji vždy terminál.