GNU/Linux >> Znalost Linux >  >> Linux

Jak přejmenovat adresáře v Linuxu

Přejmenování adresářů je jednou z nejzákladnějších operací, které často potřebujete na systému Linux provádět. Adresáře můžete přejmenovat ze správce souborů GUI pomocí několika kliknutí nebo pomocí terminálu příkazového řádku.

Tento článek vysvětluje, jak přejmenovat adresáře pomocí příkazového řádku.

Přejmenování adresářů #

V Linuxu a operačních systémech podobných Unixu můžete použít mv (zkratka move) příkaz pro přejmenování nebo přesun souborů a adresářů z jednoho umístění do druhého.

Syntaxe mv příkaz pro přesun adresářů je následující:

mv [OPTIONS] source destination

Chcete-li například přejmenovat adresář dir1 jako dir2 běželi byste:

mv dir1 dir2

Při přejmenování adresářů musíte zadat přesně dva argumenty do mv příkaz. První argument je aktuální název adresáře a druhý je nový název.

Je důležité si uvědomit, že pokud dir2 již existuje, dir1 se přesune do dir2 adresář.

Chcete-li přejmenovat adresář, který není v aktuálním pracovním adresáři, musíte zadat buď absolutní nebo relativní cestu:

mv /home/user/dir1 /home/user/dir2

Přejmenování více adresářů #

Přejmenování jednoho adresáře je jednoduchý úkol, ale přejmenování více adresářů najednou může být problém, zejména pro nové uživatele Linuxu.

Přejmenování více adresářů najednou je potřeba jen zřídka.

Přejmenování více adresářů pomocí mv #

mv příkaz může přejmenovat pouze jeden soubor najednou. Lze jej však použít ve spojení s jinými příkazy, jako je find nebo uvnitř smyček pro přejmenování více souborů najednou.

Zde je příklad ukazující, jak používat Bash for smyčka pro připojení aktuálního data k názvům všech adresářů v aktuálním pracovním adresáři:

for d in *; do 
  if [ -d "$d" ]; then
    mv -- "$d" "${d}_$(date +%Y%m%d)"
  fi
done

Pojďme analyzovat kód řádek po řádku:

  • První řádek vytvoří smyčku a iteruje seznam všech souborů.
  • Druhý řádek kontroluje, zda je soubor adresářem.
  • Třetí řádek připojuje aktuální datum ke každému adresáři.

Zde je řešení pro stejnou úlohu pomocí mv v kombinaci s find :

find . -mindepth 1 -prune -type d -exec sh -c 'd="{}"; mv -- "$d" "${d}_$(date +%Y%m%d)"' \;

find příkaz předává všechny adresáře do mv jeden po druhém pomocí -exec volba. Řetězec {} je název aktuálně zpracovávaného adresáře.

Jak můžete vidět z příkladů, přejmenování více adresářů pomocí mv není snadný úkol, protože vyžaduje dobrou znalost skriptování v Bash.

Přejmenování více adresářů pomocí rename #

rename příkaz se používá k přejmenování více souborů a adresářů. Tento příkaz je pokročilejší než mv protože vyžaduje základní znalost regulárních výrazů.

Existují dvě verze rename příkaz s jinou syntaxí. Použijeme verzi rename v Perlu příkaz. Soubory jsou přejmenovány podle daného regulárního výrazu perlu.

Následující příklad ukazuje, jak nahradit mezery v názvech všech adresářů v aktuálním pracovním adresáři podtržítky:

find . -mindepth 1 -prune -type d | rename 'y/ /_/'

Pro jistotu předejte -n možnost rename pro tisk názvů adresářů, které mají být přejmenovány, bez jejich přejmenování.

Zde je další příklad ukazující, jak převést názvy adresářů na malá písmena:

find . -mindepth 1 -prune -type d | rename 'y/A-Z/a-z/'

Závěr č.

Ukázali jsme vám, jak používat mv příkazy k přejmenování adresářů.

Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.


Linux
  1. Jak přejmenovat soubor v Linuxu?

  2. Jak změnit nebo přejmenovat přípojný bod v Linuxu

  3. Jak smyčkovat adresáře v Linuxu?

  1. Jak přejmenovat soubory v Linuxu

  2. Jak přejmenovat adresář v Linuxu

  3. Jak rekurzivně vypsat adresáře v C na Linuxu?

  1. Jak přesouvat adresáře v Linuxu

  2. Jak přejmenovat adresář v Linuxu

  3. Jak přejmenovat soubory v Linuxu