jste novým operačním systémem Linux? Pokud ano, běžné úkoly, jako je přejmenování souborů a složek, se mohou lišit od toho, na co jste zvyklí. Ale netrap se. Koncept přejmenování souborů v Linuxu je podobný tomu, jak se to dělá v jiných operačních systémech.
v tomto tutoriálu se dozvíte mnoho způsobů, jak přejmenovat jeden a více souborů v Linuxu, a to jak pomocí GUI, tak spuštěním příkazů v terminálu.
začněme!
obsah
- předpoklady
- přejmenování souborů pomocí Správce souborů
- přejmenování jednoho souboru
- Přejmenování více souborů pomocí Správce souborů Nautilus
- přejmenování souborů pomocí šablony
- hledání a nahrazování slov v názvech souborů
- přejmenování souborů příkazem MV
- přejmenování jednoho souboru příkazem MV
- Přejmenování více souborů pomocí For Loop
- přejmenování souborů v Linuxu pomocí nástroje přejmenování
- Přejmenování více souborů
- Změna přípon souborů
- změna názvů souborů na velká a malá písmena
- nahrazení a odstranění mezer v názvech souborů
- velká písmena prvního písmene každého slova v názvu souboru
- závěr
předpoklady
Chcete-li sledovat tento tutoriál, ujistěte se, že máte následující:
- tento výukový program používá Ubuntu 18.04 LTS, ale další distribuce Linuxu budou fungovat.
- účet s přístupem sudo/Správce.
přejmenování souborů pomocí Správce souborů
pokud jste zvyklí na správu souborů pomocí GUI, začněme tento tutoriál pro přejmenování souborů pomocí správce souborů. Správci souborů GUI jsou elegantní, protože můžete vidět soubory na očích. Jedním z těchto správců souborů dostupných v Linuxu je bývalý správce souborů GNOME, Nautilus. Tento tutoriál ukazuje přejmenování souborů pomocí správce souborů Nautilus.
dalšími správci souborů Linuxu jsou Konqueror, Dolphin, Krusader, Thunar, Nemo file manager a Sunflower file manager. Tito správci souborů provádějí stejný úkol, ale přejmenování souborů nebo adresářů se může mírně lišit.
spusťte terminál a spusťte příkaz níže a nainstalujte Nautilus (install nautilus
) pomocí správce balíčků apt
, pokud jej ještě nemáte na svém počítači. Příkaz sudo
povýší příkaz s právy sudo/Správce.
sudo apt install nautilus
přejmenování jednoho souboru
přejmenování jednoho souboru v Nautilu trvá jen několik kliknutí, jako v Průzkumníku souborů Windows.
Chcete-li přejmenovat jeden soubor, otevřete Nautilus, klepněte pravým tlačítkem myši na soubor, který chcete přejmenovat, a zvolte Přejmenovat, jak je uvedeno níže.
tento příklad se zaměřuje na přejmenování souborů, ale postup je stejný pro přejmenování souborů i adresářů.
Nyní zadejte nový název souboru, který nahradí původní název souboru, stiskněte klávesu Enter nebo klikněte na Přejmenovat, a to je vše.
Přejmenování více souborů pomocí Správce souborů Nautilus
stejně jako Windows, Ubuntu vám dává více možností, jak chcete přejmenovat více souborů najednou.
Chcete-li přejmenovat více souborů, vyberte všechny soubory, které chcete přejmenovat, klepněte pravým tlačítkem myši na některý z nich a zvolte Přejmenovat. Objeví se vyskakovací okno, kde si můžete vybrat, jak chcete přejmenovat vybrané soubory.
Níže jsou na výběr dvě možnosti v závislosti na tom, jak chcete vybrané soubory přejmenovat.
- přejmenovat pomocí šablony-to vám umožní přejmenovat soubory v krocích.
- najít a nahradit text-umožňuje najít a nahradit určité texty v názvech souborů.
přejmenování souborů pomocí šablony
Chcete-li přejmenovat soubory pomocí šablony, vyberte možnost přejmenovat pomocí šablony.
Nyní zadejte náhradní název do prázdného pole pro přejmenování souborů pomocí šablony a klikněte na tlačítko + Přidat a vyberte ze šablon. V tomto tutoriálu vyberte první (1,2,3,4) a klikněte na Přejmenovat. Tato volba přidá přírůstková čísla do každého souboru po náhradním názvu souboru (Text1, Text2,…).
Všimněte si, že názvy souborů byly změněny na Text, následované přírůstkovými čísly.
hledání a nahrazování slov v názvech souborů
Chcete-li přejmenovat více souborů se specifickým názvem souboru, vyberte možnost najít a nahradit text.
zadejte text do existujícího textového pole a náhradní text do pole Nahradit a poté klikněte na Přejmenovat pro nahrazení textu. Tato volba najde a nahradí určité texty v názvech souborů.
nyní můžete vidět níže, že jste v každém názvu souboru nahradili slovo „Text“ slovem „soubor“.
přejmenování souborů příkazem MV
pokud je spouštění příkazů vaší věcí místo navigace v GUI, připravte se na to, abyste se naučili přejmenovat soubory v terminálu. Přejmenování souborů v terminálu Linux je podobné jako v jiných prostředích příkazového řádku, jako je PowerShell. Spustíte příkazy k přejmenování původního názvu souboru s názvem cílového souboru, a to je vše.
při přejmenování souboru existují dva scénáře. První je přejmenování souboru z pracovního adresáře a druhý je zadáním úplné cesty. Podívejte se na syntaxi příkazu mv
níže a přejmenujte soubor, kde source
je původní název a destination
je náhradní název.
# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>
přejmenování jednoho souboru příkazem MV
zatímco syntaxe příkazu mv je ve vaší mysli stále čerstvá, zkusme přejmenovat jeden soubor.
demonstrovat, jak přejmenovat jeden soubor a adresář:
1. Spusťte terminál a spusťte řadu příkazů níže a vytvořte adresář a dva textové soubory.
# Create a directory named 'test'mkdir test # Change directory to ~/testcd test # Create text files named 'file1.txt' and file2.txttouch file1.txt file2.txt
2. Dále spusťte příkaz ls
a vypište soubory uvnitř pracovního adresáře. Níže vidíte tento soubor1.txt a soubor2.txt existuje v adresáři ~/test.
3. Spusťte některý z níže uvedených příkazů mv
a přejmenujte file1.txt
na file10.txt
.
# Rename a file in the working directorymv file1.txt file10.txt# Rename a file by specifying the full pathmv ~/test/file1.txt ~/test/file10.txt
přejmenování adresáře je stejné jako přejmenování souboru, například:
mv ~/test ~/demo
. Symbol~
označuje domovský adresář.
4. Nakonec znovu spusťte příkaz ls
a vypište soubory v pracovním adresáři.
níže vidíte tento soubor1.txt je nyní přejmenován na file10.txt.
Přejmenování více souborů pomocí For Loop
pokud jste příliš zaneprázdněni jinými úkoly a chcete přejmenovat všechny soubory najednou, budete muset použít příkaz for loop, jako je ten níže.
zkopírujte níže uvedený kód tak, jak je, vložte jej do terminálu a stiskněte klávesu Enter. Níže uvedený kód prohledá každý textový soubor v pracovním adresáři a přejmenuje soubory pomocí „Soubor“ následovaného přírůstkovým číslem.
# Declares variable with value set to 1i=1 # Scans each text file in the working directoryfor file in *.txt; # Iterate the command below until all files are scanneddo # Renames each file with "File" followed by incrementing number ($i)mv -- "$file" "File$i.txt" # Increments the variables current number value by 1 i=$((i+1)) done
vložení kódu do terminálu funguje dobře, ale jako dobrá praxe je lepší, když místo toho vytvoříte soubor skriptu.
níže vidíte v akci, jak kód přejmenuje všechny soubory.
přejmenování souborů v Linuxu pomocí nástroje přejmenování
pokud přejmenujete jeden soubor ve své každodenní rutině, postačí příkaz mv
. Ale možná se snažíte přejmenovat více souborů se stejným vzorem najednou? Například přejmenování souborů, které začínají určitým slovem (soubor). V takovém případě místo toho nainstalujte nástroj přejmenování.
nástroj přejmenování přejmenuje více souborů, změní formáty názvů souborů a přepíše soubory.
Chcete-li nainstalovat nástroj přejmenování, spusťte některý z níže uvedených příkazů v závislosti na linuxovém distro, na kterém pracujete.
# Install rename utility with the apt package manager for Ubuntu, Debian, and Linux Mintsudo apt install rename# Install rename utility with the dnf package manager for CentOS, Fedora, and Red Hatsudo dnf install prename# Install rename utility with the pacman package manager for Arch Linux / Manjaro Linuxsudo pacman -S perl-rename
níže vidíte syntaxi příkazu rename
.
rename <options> <perlexpr> <files>
Přejmenování více souborů
s ohledem na syntaxi příkazu rename
můžete nyní přejmenovat soubory, které mají stejný vzor. Co je skvělé na příkazu rename
, je to, že nemusíte deklarovat funkci smyčky pro přejmenování více souborů, jako jste to udělali v části“ Přejmenování více souborů pomocí smyčky“.
možná budete chtít přejmenovat soubory s určitými slovy na nich. Pokud ano, podívejte se na regulární výraz Perl ('s/file/myfile/'
) v ukázkovém příkazu níže. Regulární výrazy Perl definují vzor řetězce založený na programovacím jazyce Perl.
Chcete-li se vyhnout chybnému přejmenování jiných souborů, Uveďte všechny postižené soubory před jejich přejmenováním přidáním možnosti -n
, jak je uvedeno níže.
rename -n 's/file/myfile/' *.txt
Nyní spusťte některý z níže uvedených příkazů rename
a nahraďte slovo file
myfile
v názvu každého textového souboru uvnitř pracovního adresáře nebo v adresáři ~/test/*.txt
.
ve výrazu Perl ('s/file/myfile/'
) označuje s
substituci, což znamená, že přejmenováváte soubory. Všimněte si, že -v
volba je přidána k návratu, které soubory příkaz přejmenován.
# Replace 'file' with 'myfile' in each file's name in the working directoryrename -v 's/file/myfile/' *.txt# Replace 'file' with 'myfile' in each file's name in the ~/test directoryrename -v 's/file/myfile/' ~/test/*.txt
níže vidíte, že každé slovo „soubor“ v textových souborech je přejmenováno na “ myfile.“
pokud chcete místo toho přejmenovat všechny soubory, odeberte příponu souboru, když zadáte cestu k souboru, například,
rename -v 's/file/myfile/' ~/test/*
Změna přípon souborů
kromě názvů souborů příkaz rename
také přejmenuje přípony souborů. Možná jste vytvořili soubory s nesprávnou příponou souboru. V takovém případě určíte příponu souboru, kterou chcete změnit ve výrazu Perl při spuštění příkazu rename
.
spusťte níže uvedený příkaz rename
a změňte příponu všech souborů (*
) z .txt
na .html
v adresáři ~/test
. Symbol $
ve výrazu Perl odpovídá konci řetězce (.txt
) každému názvu souboru, takže příkaz změní pouze přípony souborů .txt
. A stejně jako při přejmenování více souborů Přidejte možnost -v
a uveďte každou změnu, kterou příkaz provede.
rename -v 's/.txt$/.html/' *.txt
Chcete-li místo toho odstranit všechny přípony souborů, odstraňte náhradní řetězec ve výrazu Perl, takto:
rename -v 's/.txt$//' *.txt
jak vidíte na obrázku níže, the .rozšíření txt se změnilo na .html
změna názvů souborů na velká a malá písmena
namísto nesprávných přípon souborů můžete mít co do činění s názvy souborů malými písmeny a naopak. Možná se snažíte najít soubor konkrétně velkými písmeny, aniž byste věděli, že název souboru je malým písmem.
Linux je citlivý na velká a malá písmena, takže se ujistěte, že máte písmena každého názvu souboru v pořádku. Písmenná písmena jsou v podstatě rozlišováním textů mezi malými a velkými písmeny.
spusťte některý z níže uvedených příkazů rename
a změňte všechna malá (a-z
) názvy souborů v pracovním adresáři (*
) na velká (A-Z
) a naopak.
# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *
níže vidíte oba výsledky změny písmen názvu souboru.
nahrazení a odstranění mezer v názvech souborů
stejně jako písmeno názvu souboru, můžete mít potíže s hledáním souborů, pokud mají mezery v názvech souborů. Opravme to buď nahrazením mezer znakem, nebo úplným odstraněním mezer.
spusťte níže uvedený příkaz rename
a nahraďte mezery ve všech názvech souborů podtržítkem (_
) v pracovním adresáři. Vzhledem k tomu, podtržítko je metacharacter, uniknout s zpětným lomítkem (\_
) deklarovat podtržítko doslova. Metacharacters jsou speciální znaky se zvláštními významy v počítačovém programu.
Všimněte si, že g
ve výrazu Perl říká příkazu nahradit všechny shody (mezery), a ne jen první.
rename -v 's/ /\_/g' *
níže vidíte, že příkaz nahradil všechny mezery podtržítky.
Chcete-li odstranit všechny mezery v názvu souboru namísto jejich vyplnění znakem, spusťte příkaz níže.
v níže uvedeném výrazu Perl se hvězdička za prázdným mezerou (/ *
) shoduje se všemi výskyty mezer v názvu souboru a ne pouze s prvním. Náhradní znak je prázdný (//
), takže příkaz rename
odstraní všechny (g
) mezery.
rename -v "s/ *//g" *
nyní můžete vidět, že všechny mezery jsou odstraněny z každého názvu souboru.
velká písmena prvního písmene každého slova v názvu souboru
pokud dáváte přednost ponechání mezer a velkými písmeny prvního písmene každého slova v názvu souboru, budete potřebovat složitější výraz Perl. Podívejte se na ukázkový příkaz níže.
níže uvedený výraz Perl odpovídá libovolnému jednotlivému znaku (\w
) v hranici slova (\b
), pokud znak není tečkou ani apostrofem (?<!
). Příkaz rename
pak překládá toto písmeno na velká písmena (u$&
).
rename -v 's/(?<!)\b\w*/\u$&/g' *
níže vidíte, že každé slovo v názvech souborů začíná velkým písmenem, zatímco přípony souborů zůstávají nedotčeny.
závěr
v tomto tutoriálu jste se naučili mnoho způsobů, jak přejmenovat soubory Linuxu pomocí GUI a terminálu příkazového řádku. Nyní máte solidní pochopení toho, jak manipulovat s názvy pro jeden a více souborů najednou.
proč se nenaučit skriptování linuxového shellu a vytvořit skript pro automatizaci přejmenování souborů v Linuxu?