GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Jak přejmenovat soubory a adresáře v Linuxu

Schopnost měnit názvy souborů a adresářů je jednou z primárních dovedností, kterou potřebuje každý uživatel Linuxu. Tento článek navazuje na sérii článků Bash a ukazuje, jak používat různé způsoby, jako je správce souborů, nástroje mv a přejmenování, v kombinaci s konstrukcemi hledání a cyklování bash. Zlepšete své znalosti Linuxu za pouhé 3 minuty!

Máte k dispozici dva způsoby, jak to provést:

  • Správce souborů.
  • Terminál příkazového řádku.

Použití správce souborů

Jedním z nejjednodušších způsobů přejmenování souborů a adresářů v Linuxu pro nové uživatele je použití Midnight Commander.

Midnight Commander – je konzolový správce souborů klonovaný ze slavného Norton Commander.

Chcete-li nainstalovat Midnight Commander pod Ubuntu:

$ sudo apt-get update

$ sudo apt-get -y install mc

Pro CentOS/Fedora/RHEL použijte jiného správce balíčků:

$ sudo yum -y install mc

Chcete-li spustit Midnight Commander, spusťte mc příkaz.

Chcete-li přesunout volič souborů, musíte použít šipky na klávesnici. Chcete-li přepínat mezi levou a pravou obrazovkou, musíte použít Tab klíč. Můžete také používat myš, ale můžete vybírat pouze soubory, které jsou viditelné na obrazovce.

Chcete-li soubor nebo adresář přejmenovat, přesuňte nad něj kurzor a stiskněte F6 . Pokud jste zapomněli přesný klíč, pomocí myši vyberte Přesunout/Přejmenovat z nabídky Soubor.

Dále se podívejme, jak můžeme přejmenovat soubory a adresáře pomocí mvpřejmenovat příkazy.

příkaz „mv“

The mv příkaz vám pomůže m ov e nebo přejmenujte soubory a adresáře ze zdrojového do cílového umístění. Syntaxe příkazu je následující:

$ mv [OPTIONS] source destination

 zdrojcíl může být soubor nebo adresář.

Chcete-li přejmenovat soubor1.txt do souboru2.txt pomocí mv, proveďte následující příkaz:

$ mv file1.txt file2.txt

Chcete-li změnit název složky1 adresář do složky2 , použijte následující příkaz:

$ mv folder1 folder2

Přejmenování více souborů najednou

The mv nástroj může přejmenovat pouze jeden soubor najednou, ale můžete jej použít s jinými příkazy k přejmenování více než jednoho souboru. Mezi tyto příkazy patří najít a Bash proběhem smyčky.

Představme si například, že potřebujete změnit příponu souboru pro konkrétní typ souboru v adresáři. V následujícím příkladu přejmenujeme všechny soubory HTML a změníme jejich příponu z html na php .

Zde je příklad struktura složek:

$ tree example
example
├── index.html
├── page1.html
├── page2.html
└── page3.html

0 directories, 4 files

Nyní v příkladu použijeme následující konstrukci Bash for-loop adresář:

$ cd example

$ for f in *.html; do
    mv "$f" "${f%.html}.php"
done

Zde jsme vstoupili do příkladu adresář. Dále jsme provedli mv příkaz v Bash for-loop (příkaz mezi forhotovo klíčová slova).

Zde je to, co se děje:

  • For-loop prochází soubory končící na .html a uvedení každého názvu souboru do proměnné f .
  • Potom mv nástroj změní příponu každého souboru f.html soubor do .php . Část výrazu ${f%.html} je zodpovědný za odstranění .html z názvu souboru. Úplný výraz “${f%.html}.php“ přidá .php na název souboru bez .html část.

Zde je očekávaný výsledek:

$ ls -l
total 0
-rw-r--r--  1 amaksimov  wheel  0 Dec  5 17:13 index.php
-rw-r--r--  1 amaksimov  wheel  0 Dec  5 17:13 page1.php
-rw-r--r--  1 amaksimov  wheel  0 Dec  5 17:13 page2.php
-rw-r--r--  1 amaksimov  wheel  0 Dec  5 17:13 page3.php

příkaz „najít“

Pomocí najít nástroj je jedním z nejběžnějších způsobů automatizace operací se soubory a adresáři v Linuxu.

V příkladu níže používáme najít dosáhnout stejného cíle a změnit příponu souboru.

 Najít nástroj najde všechny soubory končící na .html a používá -exec argument pro předání každého nalezeného názvu souboru skriptu sh shellu napsanému na jednom řádku.

$ find . -depth -name "*.html" -exec sh -c 'f="{}"; mv "$f" "${f%.html}.php"' \;

Na řádku skriptu sh nastavíme proměnnou f s hodnotou názvu souboru f=”{}” , pak spustíme známé mv příkaz. Středník se používá k oddělení příkazu proměnné set od mv příkaz.

příkaz „rename“

V některých případech je jednodušší použít přejmenování místo mv . A můžete jej použít s regulárními výrazy, aniž byste je museli kombinovat s jinými příkazy Linuxu.

Zde je syntaxe pro přejmenování příkaz:

$ rename [OPTIONS] regexp files

Přejmenujme například všechny .php soubory zpět do .html :

$ ls
index.php  page1.php  page2.php  page3.php

$ rename 's/.php/.html/' *.php

$ ls
index.html  page1.html  page2.html  page3.html

Pokud si přejete vytisknout názvy souborů, které jste vybrali pro přejmenování, můžete použít následující příkaz:

$ rename -n 's/.html/.php/' *.html
rename(index.html, index.php)
rename(page1.html, page1.php)
rename(page2.html, page2.php)
rename(page3.html, page3.php)

$ ls
index.html  page1.html  page2.html  page3.html

Přehled

V tomto článku jste se naučili, jak změnit názvy souborů a adresářů v Linuxu různými způsoby. Doufáme, že tento článek byl užitečný. Pokud ano, pomozte nám to rozšířit do světa.


Docker
  1. Jak odstranit soubory a adresáře v Linuxu z příkazového řádku

  2. Jak archivovat soubory a adresáře v Linuxu [část 2]

  3. Jak extrahovat soubory .gz a .tar.gz v Linuxu

  1. Snadný způsob, jak skrýt soubory a adresáře v Linuxu

  2. Jak přejmenovat soubory v Linuxu

  3. Jak přejmenovat soubor v Linuxu?

  1. Jak kopírovat soubory a adresáře v Linuxu

  2. Jak přejmenovat soubory v Linuxu

  3. Jak přejmenovat soubory a adresáře v Linuxu