Bash'de Boşluklarla Geçen Dosya Adlarını İşleme



Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin

Linux, sistem için komutları yürütmek için varsayılan bir kabuk Bash'e (ayrıca Bourne yeniden kabuk) sahiptir. Çoğu programcı, bash'ın sağladığı esneklik ve güçlü komut satırı yorumlayıcısı nedeniyle cmd yerine bash'ı tercih eder. Ancak, çoğu kullanıcı bash'ta boşluklarla dosya adlarını geçirmeye çalışırken yine de sorun yaşayacaktır. Bunun nedeni, bash'da boşlukların dosya adlarında olduğu gibi aynı kabul edilmemesidir.



Adında boşluk bulunan dosyalar



Neden Boşluklu Dosya Adı Bash tarafından Tanınmıyor?

Bash'de, olmadan birden çok kelime yazarsanız kaçış karakter () veya alıntılar , tüm kelimeleri argüman olarak değerlendirecektir. Bu, dizini 'ile değiştirseniz de tüm işlemler için geçerlidir. CD 'Veya dosyalara erişmeye çalışıyorum' kedi 'Komutlar. Bunları kullandıktan sonra yazdığınız her şey bir argüman olarak kabul edilecektir. Örneğin:



cat dosya adı.txt

Komutu kaçış karakteri veya tırnak kullanmadan çalıştırma

Not : Dosya adınız herhangi bir şey olabilir ancak bu makale için ' dosya adı.txt ' Örnek olarak.

Buraya ' kedi 'Komut dikkate alacak dosya ve isim tek bir argüman yerine iki argüman olarak. Ancak, kaçış karakterini veya alıntıları kullanırsanız, bash kabuğu bunu tek bir argüman olarak kabul eder ve bu da ' dosya adı.txt '.



Bash'de Spaces ile dosya adı

İsimdeki boşluklar için kullanılabilecek birkaç yöntem vardır. En iyi uygulama, gelecekte dosya adları için boşluklardan kaçınmaktır. Erişmeye çalıştığınız dosyayı yeniden adlandırmak ve boşlukları kaldırmak basit bir yöntem olacaktır. Diğer bazı yöntemler, dosya adında boşluklarla birlikte tek veya çift tırnak kullanmak veya boşluktan hemen önce kaçış () sembolü kullanmaktır. Size nasıl çalıştığını göstermek için uygulamalı örneklerle yöntemler sunacağız.

Yöntem 1: Tekli ve Çiftli Alıntıları Kullanma

  1. Ambar Ctrl + Alt tuşları ve Basın T açmak terminal .
  2. Şimdi dizini dosyanın bulunduğu yere değiştirin.
    (ayrıca yapabilirsiniz sürüklemek ve düşürmek 'komutundan sonra terminaldeki dosya kedi ', Alıntıları otomatik olarak dosya yoluna / dizinine koyacaktır)

    cd Masaüstü

    Dizini değiştirme

    Not : Masaüstü, erişmeye çalıştığınız konuma değiştirilebilir.

  3. Adında boşluklar olan bir metin dosyasını okumak için aşağıdaki komutu yazın:
    kedi 'dosya adı.txt'

    veya

    kedi 'dosya adı.txt'

    İsim hatasında boşlukları önlemek için alıntıların kullanılması

  4. Tek ve çift alıntılar aynı sonucu verecektir. Bazı durumlarda, ikisini de denemeniz ve hangisinin işe yaradığını görmeniz gerekir.

Yöntem 2: Boşluktan Kaçış Karakterini Kullanma

  1. Ambar Ctrl + Alt tuşları ve Basın T açmak terminal .
  2. Aşağıdaki komutu kullanarak dizini dosyanın bulunduğu yere değiştirin.
    cd Masaüstü

    Not : Masaüstü yerine konum adınızı girin.

  3. Şimdi komutu yazın ve kullanın kaçış herhangi bir yerde karakter adında boşluk var:
    cat dosyası  name.txt

    Boşluk hatasını önlemek için çıkış karakterini kullanma

Bonus: Alıntıların Kullanımı ve Kaçış

Bazen, komuttaki dizini kullandığınızda, tüm yolda alıntıların kullanılmasının sonuçları olabilir. Bunun nedeni, ‘ mv 'Veya' cp 'Yolu şöyle değerlendirecek dosya kaynağı alıntı bütün olarak kullanılırsa. Her ikisi için de teklif vermeniz gerekiyor kaynak ve hedef tek tek, böylece ' cp Düzgün çalışabilir. Yol için kaçış karakterini kullanmanın çok daha karmaşık olduğunu ve kullanıcıların bu konuda hata yapabileceğini gösterecek aşağıdaki örneği de kontrol edebilirsiniz.

Alıntılar ve kaçış karakteri arasındaki fark

2 dakika okundu