Örneklerle Linux’ta Pwd Komutu Nasıl Kullanılır
Merhabalar,
Linux komut satırı ile çalışanlar için, kökten (/) başlayarak nerede olduğunuzu – hangi dizinde olduğunuzu söyleyen ‘pwd’ komutu çok yararlıdır. Navigasyon sırasında komut satırı arayüzündeki dizinler arasında kaybolabilecek Linux’a yeni başlayanlar için ‘pwd’ komutu sizi kurtarmaya geliyor.
pwd nedir?
‘pwd’, ‘Çalışma Dizini Yazdır’ anlamına gelir. Adından da anlaşılacağı gibi, ‘pwd’ komutu mevcut çalışma dizinini veya şu anda kullanıcının bulunduğu dizini yazdırır. Geçerli dizin adını kökten (/) başlayarak tam yol ile yazdırır. Bu komut shell içinde mevcuttur ve bir çok shell` in oğunda bulunur – bash, Bourne kabuğu, ksh, zsh, vb.
pwd’nin temel söz dizimi:
pwd [OPTION]
pwd ile kullanılabilecek seçenekler:
Options | Description |
-L (logical) | Use PWD from environment, even if it contains symbolic links |
-P (physical) | Avoid all symbolic links |
–help | Display this help and exit |
–version | Output version information and exit |
Hem ‘-L’ hem de ‘-P’ seçenekleri kullanılıyorsa, ‘L’ seçeneği önceliklendirilir. İstemde herhangi bir seçenek belirtilmezse, pwd tüm sembolik bağlantıları engelleyecektir.Kısacası ‘-P’ seçeneğini hesaba katacaktır.
pwd komutunun çıkış durumu:
0 | Success (Başarılı) |
Non-zero | Failure (Başarısız) |
Bu eğitim makalesi, pratik örneklerle size pwd komutu hakkında sizleri bilgilendirmeyi amaçlamaktadır.
1. Mevcut çalışma dizinini yazdırma:
pwd
2. Bir klasörün sembolik bağlantısını oluşturun ( www/wordpress/wp-content/themes/ dizinini seçiyorum, ana dizinime themes olarak bir tane sembolik bağlantı oluşturuyorum). Yeni oluşturulan dizine gidelim ve çalışma dizinini sembolik linklerle ve sembolik linkler olmadan yazdırın.
ilk önce sembolik bağlantı oluşturma komutu
ln -s www/wordpress/wp-content/themes/ themes
Şimdi işlemi yapmadan önce themes sembolik bağlantı içine gideyim.
cd Desktop/themes
3. Çalışma dizinini, sembolik bağlantılar içerse bile mevcut dizini yazdıracak deneyelim.
pwd
veya
pwd -L
4. aşağıdaki komutla sembolik bağlatıları çözerek gerçek fiziksel mevcut çalışma dizinini yazdırmayı görelim.
pwd -P
5. “pwd” ve “pwd -P” komutunun çıktısının aynı olup olmadığını kontrol edelim, yani çalışma anında herhangi bir seçenek verilmezse “pwd”, -P seçeneğini otomatik olarak dikkate alıyor mu, almıyor mu? Aslında biraz önce onu yukarıda yaptım tekrar yapayım.
yukarıda görüldüğü gibi sadece pwd yazdığınızda sembolik bağlantı dizinini gösteriyor.Pwd -P ile kullanırsak sembolik bağlantının gerçekte gösterdiği gerçek yolu gösteriyor.
Bu işlemlerin hepsi ana bin/pwd içindeki komutu çalıştırdınızda tam tersi şekilde çalışır.Ne demek istiyorum. pwd ve pwd -P aynı şeyi döndürür. pwd -L sembolik bağlantıyı döndürür sadece.Hemen deneyelim bu çok önemli.
/bin/pwd
/bin/pwd -P
Yukarıda görüldüğü pwd ve pwd -P aynı şekilde fiziksel yolu döndürdü.Burası unutulmamalıdır.pwd ve /bin/pwd komutu çalıştırdığınız tam tersi dönüş alırsınız.
type -a pwd
6. ‘pwd’ komutunuzun sürümünü yazdırma:
/bin/pwd --version
Not: Bir “pwd” komutu genellikle seçenekler olmadan kullanılır ve hiçbir zaman bağımsız değişkenlerle birlikte kullanılmaz.
Önemli: Yukarıdaki komutu “pwd” değil “/bin/pwd” olarak uyguladığımızı fark etmişsinizdir.Biraz önce açıkladım aslında konuyu.Tekrar kısaca açıklayayım.
Fark nedir? Tek başına “pwd”, shell built-in (kabuğun yerleşik) pwd’si anlamına gelir. Sizin shell (Kabuğunuz)` iniz farklı bir pwd sürümüne sahip olabilir. /bin/pwd şeklinde kullandığımızda, bu komutun binary versiyonunu çağırıyoruz. Komutun hem shell hem de binary sürümü Geçerli Çalışma Dizinini Yazdırır, ancak binary sürümün daha fazla seçeneği vardır.
8. “pwd” komutunun değerini değişkende saklayın (a diyelim) ve değerini değişkenden yazdırın (kabuk komut dosyası oluşturma perspektifi için önemlidir).
path=$(pwd)
Alternatif olarak yukarıdaki örnek için printf kullanabiliriz.
printf "$path\n";
9. Geçerli çalışma dizinini herhangi bir şeyle değiştirin ( /home deyin) ve komut satırı isteminde görüntüleyin. Her şeyin yolunda olduğunu doğrulamak için bir komut yürütün (‘ls’ deyin).
PS1='$pwd> '
11. Geçerli çalışma dizinini ve önceki çalışma dizinini tek bir GO!
12. pwd b dosyasının mutlak yolu (/’den başlayarak) nedir.
/bin/pwd
15. Bir shell script yazalım, ana dizininizdeki geçerli dizininin (örneğin global-protect) olup olmadığını kontrol eder. Eğer global-protect) dizini altındaysanız “Eh! global-protect dizinin içindesiniz” ve ardından “Hoşçakal” yazdıralım aksi takdirde ana dizininizin altında bir global-protect dizini oluşturup bunun bilgisini ekranan yazdıralım.
Önce bir ‘global-protect’ dizini oluşturalım, altında ‘pwd.sh’ adında bir aşağıdaki shell komut dosyası oluşturalım.
Ardından, aşağıdaki betiği pwd.sh dosyasına ekleyin.
#!/bin/bash
x="$(pwd)"
if [ "$x" == "/home/$USER/Desktop/global-protect" ]
then
{
echo "Zaten Global Protect Dizinin içindesiniz"
echo "Hoscakalın"
}
else
{
mkdir /home/$USER/Desktop/global-protect
echo "Global-protect Dizini olusturuldu"
}
fi
Yürütme izni verin ve çalıştırın.
Bu eğitim yazımızında sonuna geldik.Umarım sizler için faydalı olur.
merhaba,
yazdığım başarılı eğitim yazıları için çok teşekkür ediyoruz.Başkan linux öğretiyorsunuz.Zamanınız için teşekkür ederim tekrar.
Fırat Bey Merhaba,
Eğitim makaleleriniz çok başarılı.Teşekkür ederim.