Bash'te Boşluklarla Dosya Adlarını Geçme Nasıl Yapılır?
Linux, sistem için komutları yürütmek için varsayılan bir Shell Bash'e (diğer bir deyişle Bourne tekrar Shell) sahiptir. Çoğu programcı, bash'ın sağladığı esneklik ve güçlü komut satırı yorumlayıcısı nedeniyle bash'ı cmd'ye tercih eder. Bununla birlikte, çoğu kullanıcı, bash'ta boşluklarla geçen dosya adlarını işlemeye çalışırken hala sorun yaşayacaktır. Bunun nedeni, boşlukların bash'ta dosya adlarında olduğu gibi aynı kabul edilmemesidir.
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 kabul edecektir. Bu, dizini ‘CD' veya 'ile dosyalara erişmeye çalışıyorkedi' komutları. Bunları kullandıktan sonra yazdığınız her şey bir argüman olarak kabul edilecektir. Örneğin:
kedi dosya adı.txt
Not: Dosya adınız herhangi bir şey olabilir ama bu makale için kullanacağız “dosya adı.txt" Örnek olarak.
Buraya 'kedi' komutu dikkate alacak dosya ve isim tek bir argüman yerine iki argüman olarak. Ancak, kaçış karakteri veya alıntılar kullanırsanız, bash kabuğu bunu tek bir argüman olarak kabul eder ve “dosya adı.txt“.
Bash'de Boşluklu Dosya Adı
İsimdeki boşluklar için kullanılabilecek birkaç yöntem vardır. En iyi uygulama, gelecekte dosya adları için boşluk bırakmaktan kaçınmaktır. Basit bir yöntem, erişmeye çalıştığınız dosyayı yeniden adlandırmak ve boşlukları kaldırmak olacaktır. Diğer bazı yöntemler, dosya adında boşluklarla tek veya çift tırnak kullanmak veya boşluktan hemen önce kaçış (\) sembolünü 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
- Ambar Ctrl + Alt tuşlarına basın ve T açmak terminal.
- Şimdi dizini dosyanın bulunduğu yere değiştirin.
(ayrıca yapabilirsiniz sürüklemek ve düşürmek ' komutundan sonra terminaldeki dosyakedi', otomatik olarak dosya yoluna/dizine alıntılar koyacaktır)cd Masaüstü
Not: Masaüstü, erişmeye çalıştığınız konuma değiştirilebilir.
- Adında boşluk bulunan bir metin dosyasını okumak için aşağıdaki komutu yazın:
kedi 'dosya adı.txt'
veya
kedi "dosya adı.txt"
- 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
- Ambar Ctrl + Alt tuşlarına basın ve T açmak terminal.
- Aşağıdaki komutu kullanarak dosyanın bulunduğu dizini değiştirin.
cd Masaüstü
Not: Konum adınızı Masaüstü yerine koyun.
- Şimdi komutu yazın ve kullanın kaçış karakter adında boşluk olan her yerde:
kedi dosyası\ ad.txt
Bonus: Alıntıların Kullanımı ve Kaçış
Bazen, komuttaki dizini kullanırken, tüm yolda alıntılar kullanmanın sonuçları olabilir. Bunun nedeni, 'gibi bazı komutlarınmv'veya'cp' yolu olarak kabul edecek dosya kaynağı eğer alıntı bir bütün olarak kullanılıyorsa. Her ikisi için de teklif vermeniz gerekiyor kaynak ve hedef ayrı ayrı, böylece 'gibi komutlarcp' 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.