Linux'ta Dizin Nasıl Yeniden Adlandırılır

Yayınlanan: 2022-06-16
Bir bash istemi gösteren Linux dizüstü bilgisayar
fatmawati achmad zaenuri/Shutterstock.com

Linux'ta bir dizini yeniden adlandırmak kolaydır ve bununla ilgili birçok yol vardır. Tek bir dizini yeniden adlandırmaktan birçok dizini bulmaya ve yeniden adlandırmaya kadar, bunu nasıl yapacağınız aşağıda açıklanmıştır.

Verileriniz Güvende

Dizinleri yeniden adlandırmak, zaman zaman hepimizin yapması gereken bir şeydir.

Bir dizin oluşturabilir ve adını yanlış yazabiliriz ve onu düzeltmek isteriz. Çoğu zaman, bir dizinin amacı zamanla veya bir projenin ömrü boyunca değişir ve adı yeni kullanımını yansıtacak şekilde ayarlamak istersiniz. Belki bir arşiv dosyasının sıkıştırmasını açtınız ve bu, dizin adlarının büyük harfle yazıldığı bir dizin ağacı oluşturdu ve bunları küçük harf olarak kullanmak istersiniz.

Bilgisayar Dosyaları ve Klasörleri Nelerdir?
İLGİLİ Bilgisayar Dosyaları ve Klasörleri Nelerdir?

Nedeni ne olursa olsun. bir dizini yeniden adlandırmak, içinde tutulan verilere hiçbir şey yapmaz. Bu verilerin yolunu değiştirir, ancak yeniden adlandırılmış dizininizdeki dosyalara ve dizinlere dokunulmaz.

Sistem dizinlerini yeniden adlandırmayın. Sistem dosyalarına ve komutlara giden yolu değiştirmek, en azından bilgisayarınızın çalışması üzerinde zararlı bir etkiye sahip olacaktır. Bir dizini yeniden adlandırmak için sudo kullanmanız gerekiyorsa - ne yaptığınızı gerçekten bilmiyorsanız - büyük olasılıkla onu yeniden adlandırmamalısınız.

mv Komutunu Kullanma

En basit durumlarda, gerçekten ihtiyacımız olan tek şey mv komutudur. Bu, her Linux dağıtımının ayrılmaz bir parçasıdır, dolayısıyla yüklenecek bir şey yoktur.

Reklamcılık

mv komutu, yazıldığı sırada 50 yaşın üzerindedir. Muhtemelen teletiplerden ve aptal terminallerden gerçek bilgisayara yavaş seri hatlar boyunca geçmek zorunda olan karakter sayısını azaltmak için kısa ve şifreli komutların moda olduğu Unix'in şafağından geliyor.

Aslında "taşı" anlamına gelir ve dosyaları dizinden dizine taşımak için kullanılabilir. Bir dosyayı zaten bulunduğu konuma taşır ve ona yeni bir ad verirseniz, dosyayı yeniden adlandırmış olursunuz. Aynı şeyi dizinlerle de yapabiliriz.

Bu dizinde iki alt dizin vardır.

 ls 

İki alt dizini listeleme

Bir dizini yeniden adlandırmak için mv komutunu kullanırız. Dizinin mevcut adını ve yeni adı sağlamamız gerekiyor.

 mv eski eser arşivi-2 

mv ile bir dizini yeniden adlandırma

Yeniden adlandırmak istediğiniz dizin mevcut dizininizde değilse, dizin adının yanı sıra yolu da sağlayın.

 mv ~/htg/eski çalışma ~/htg/arşiv-2
 ls 

Komut satırında yolu belirterek mv ile farklı bir dizindeki bir dizini yeniden adlandırma

Dosya Tarayıcıyı Kullanma

Dosya tarayıcıları dizinleri yeniden adlandırabilir. GNOME Dosyaları uygulamasındaki tuş vuruşu F2'dir. Bir dizini vurgulamak ve F2 tuşuna dokunmak “Klasörü Yeniden Adlandır” iletişim kutusunu açar.

Bir dizini yeniden adlandırmak için dosya tarayıcısını kullanma

Reklamcılık

Yeni adı yazın ve yeşil “Yeniden Adlandır” düğmesine tıklayın.

Dosya tarayıcısında yeni dizin adını sağlama

Dizin sizin için yeniden adlandırıldı.

Dosya tarayıcı penceresinde yeniden adlandırılan dizin

Bu kadar basit.

Yeniden adlandırma Komutu

İhtiyaçlarınız bir dizini doğrudan yeniden adlandırmaktan daha karmaşıksa, rename komutunu kullanmanız gerekebilir. Bu, dosyaları ve dizinleri yeniden adlandırmak için Perl ifadelerini kullanmanıza izin verir. Dizinleri yeniden adlandırmak için tamamen daha güçlü ve esnek bir yol sağlar.

Perl tabanlı rename komutundan bahsedeceğiz. Linux çekirdek yardımcı programlarının bir parçası olan rename adlı daha eski bir komut daha var. Muhtemelen kullanmak istediğimiz Perl rename komutunu yüklemeniz gerekecek.

Mevcut rename komutuyla isim çakışmalarını önlemek için, Perl rename komutu Fedora'da prename ve Manjaro'da perl-rename olarak adlandırılır. Ubuntu'da rename ve prename komutlarının her ikisi de file-rename adlı bir ikili dosyaya çözümlenen sembolik bağlantılardır.

Bu nedenle, Manjaro'da perl-rename kullanmanız gerekecek komut ve Fedora'da prename . Ubuntu'da rename veya prename kullanabilirsiniz.

Perl rename'i yüklemek için Ubuntu'da şunu yazmanız gerekir:

 sudo apt yükleme yeniden adlandırma 

Ubuntu'da yeniden adlandırma yükleme

Fedora'da komut şudur:

 sudo dnf yükleme ön adı 

Fedora'ya ön ad yükleme

Manjaro'da pakete perl-rename adı verilir.

 sudo pacman -Sy perl-yeniden adlandırma 

Perl-rename'i Manjaro'ya yükleme

Reklamcılık

Örnekler üzerinde çalışmak istiyorsanız, dağıtımınız için uygun komutu kullandığınızdan emin olun.

Yeniden adlandırma ile İlk Adımlar

rename komutu Perl düzenli ifadelerini alır ve bunları bir dosyaya veya dizine ya da dosya veya dizin grubuna uygular.

Dizinimizde, diğer dizinlerden oluşan bir koleksiyonumuz var.

 ls 

Büyük harf, küçük harf ve karışık harf karışımından oluşan bir dizin koleksiyonu

İsimleri küçük harf, büyük harf ve karışık harf karışımıdır. Uygun bir ifade ile hepsini küçük harfe çevirebiliriz.

 'y/AZ/az/' adını değiştir *
 ls 

Dizinleri küçük harf adlarına dönüştürme

Daha önce tamamen büyük harf olsalar da, tek büyük harf içerseler de, tüm dizinler artık küçük harfle yazılmıştır.

Tüm sihir ifadede bulunur. İfade, tek tırnak " ' " içine alınır. Tüm komutun anlamı budur.

  • y : Bu, ilk karakter aralığındaki herhangi bir karakteri aramak ve ikinci karakter aralığından karşılık gelen karakterle değiştirmek anlamına gelir.
  • /AZ/az/ : İlk aralık "A" ile "Z" arasındaki tüm harfler, ikinci aralık "a" ile "z" arasındaki tüm karakterlerdir.
  • * : Yıldız joker karakteri, bunu tüm dizinlere uygula anlamına gelir.
Reklamcılık

Başka bir deyişle, komut "tüm dizinler için, eşdeğer küçük harf için tüm büyük harfleri değiştirin" şeklinde okunur.

Açıkçası, rename ile tek bir dizini rename , ancak aşırıya kaçıyor. mv kullanarak daha hızlı olacaksınız.

 's/gamma/epsilon-2/' adını değiştir *
 ls 

yeniden adlandırma ile tek bir dizini yeniden adlandırma

Bu ifadedeki “s” ikame anlamına gelir. Adının “gama” olup olmadığını görmek için her dizini kontrol eder. Varsa “epsilon-2” ile değiştirir. Yine de bunun "gamma-zeta" adlı bir diziyle eşleşeceğini, örneğin "epsilon-2-zeta" olarak yeniden adlandırılacağını unutmayın.

İfadenin ilk yan tümcesine “ ^ ” dizesinin başlangıcını ve “ $ ” dizesinin sonunu ekleyerek bundan kaçınabiliriz.

 ls
 's/^gamma$/epsilon-2/' adını değiştir *
 ls 

Yeniden adlandırma eylemini yalnızca tüm dizin adlarıyla sınırlama

Bu, “epsilon-2” dizinine dokunulmadan bırakır.

Diğer Komutlarla Yeniden Adlandırmayı Kullanma

Üzerinde çalışmak için rename istediğimiz dizinleri bulmak için diğer komutları kullanabiliriz. Bir dizi iç içe dizinimiz varsa ve “-old” ile bitenleri “-archive” ile bitecek şekilde yeniden adlandırmak istiyorsak, bunu find ve xargs kullanarak başarabiliriz.

Linux'ta xargs Komutu Nasıl Kullanılır
İLGİLİ Linux'ta xargs Komutu Nasıl Kullanılır

xargs kullanmamız gerekiyor çünkü rename borulu girişi kabul etmiyor. xargs komutu, borulu girişi kabul ederek ve başka bir komutun komut satırına komut satırı parametresi olarak ekleyerek bu sorunun üstesinden gelir.

Komutumuz şöyle görünür:

 bulmak . -derinlik -type d -adı "*-eski" | xargs -r "s/old$/archive/" adını değiştir
  • . : Bul'a geçerli dizinde aramaya başlamasını söyleriz. Bu elbette herhangi bir yol olabilir.
  • -depth : Önce derinlik araması kullanın. Bu, daha derin iç içe alt dizinlerin içeriğinin daha yüksek olanlardan önce işlendiği anlamına gelir.
  • -type d : Dosyaları değil dizinleri arayın.
  • -name “*-old” : Arama ipucu. Adları “-old” ile biten dizinleri arıyoruz.
  • | : Çıktıyı xargs komutuna aktarıyoruz.
  • xargs -r : -r (boşsa çalıştırma yok), eşleşen dizin yoksa komutu çalıştırma anlamına gelir.
  • rename “s/old$/archive/” : Çalıştırılacak rename komutu.

Dizin ağacımız komuttan önceki gibi görünüyor.

Yeniden adlandırma komutumuzdan önceki dizin ağacı

Komutumuzu çalıştırıyoruz:

Find, xargs ve rename kullanarak yeniden adlandırma komutumuz

Reklamcılık

Ve iç içe olanlar dahil tüm eşleşen dizinlerin yeniden adlandırıldığını görebiliriz.

Yeniden adlandırma komutundan sonraki dizin ağacı

Kurslar için Atlar

Bir dizini yeniden adlandırmak, mv başka bir şeye ihtiyaç duymaz. GUI uygulamalarını tercih ediyorsanız dosya tarayıcınızı kullanabilirsiniz. Yeniden adlandırılacak çok sayıda dizininiz varsa ve özellikle bir dizin ağacına dağılmışlarsa, rename esnekliğine ihtiyacınız olacak.

İLGİLİ: Linux Terminalinden Dosyalar Nasıl Yönetilir: Bilmeniz Gereken 11 Komut