sh
Kabuğu (değil bash
) kullanarak, Linux / UNIX'te hangi komut mevcut dizinimi yazdırıyor?
$ *showmewhereiam*
/sys/kernel/debug
$
unix whereami
sh
Kabuğu (değil bash
) kullanarak, Linux / UNIX'te hangi komut mevcut dizinimi yazdırıyor?
$ *showmewhereiam*
/sys/kernel/debug
$
unix whereami
Yanıtlar:
Dene pwd
.
$ pwd
/home/<username>
/dev
Genel cevap, pwd
bunun belirli bir dizine nasıl ulaştığınıza ve rotanın sembolik bağlantılar içerip içermediğine bağlı olarak farklı sonuçlar verebileceğini unutmayın.
Örneğin, adlandırılmış bir dizine real
ve aranan dizine sembolik bir bağınız virtual
varsa ve siz cd
de virtual
dizine, o an pwd
bulunduğunuz virtual
dizin olsa bile, bu dizin adını gösterir real
.
Altta yatan gerçek dizini göstermek için ya pwd -P
da readlink -f
(keyfi bir yol için) kullanın:
$ mkdir real $ ln -s gerçek sanal $ cd sanal $ pwd / home / kullanıcı adı / tmp / sanal $ pwd -P / home / kullanıcı adı / tmp / real $ readlink -f. / home / kullanıcı adı / tmp / real
Kabuklar genellikle değiştirmeniz Not pwd
rağmen, bu yüzden sistemimde (RHEL6) üzerine, kendi iç sürümü ile komutu pwd(1)
manuel sayfa düşündürmektedir --physical
yanı sıra çalışacak -P
koşuyorum çünkü bash
, gelmiyor:
$ pwd - fiziksel bash: pwd: -: geçersiz seçenek pwd: kullanım: pwd [-LP] $ / bin / pwd - fiziksel / home / kullanıcı adı / tmp / real $ / usr / bin / env pwd - fiziksel / home / kullanıcı adı / tmp / real
Diğerlerinin dediği gibi, pwd
genellikle işi yeterince iyi yapar. Ancak, bana yardımcı olan bir fikir eklemek istiyorum.
Günümüzde yaygın olarak kullanılan tüm kabuklarda, komut isteminin görünümünü özelleştirebilirsiniz. Benimkini kişiselleştirmeyi seviyorum, böylece bana hem üzerinde bulunduğum bilgisayarın adını hem de çalışma dizinimi gösteriyor. Bu şekilde, her zaman nerede olduğumu biliyorum. (Bilgisayar adı bölümü, kullandığım terminal penceresinin SSH'ye uzak bir sunucuya kullanılmış olup olmadığını anlamamda yardımcı oluyor.) Örneğin, dizüstü bilgisayarımda Plastico dediğim yeni bir terminal penceresi açtığımda şunu görüyorum:
Plastico ~> cd Desktop/
Plastico ~/Desktop> cd ~/Sites/raygunrobot.com
Plastico ~/Sites/raygunrobot.com> cd /usr
Plastico /usr>
Bunun ev dizinimi kısaltdığını görebilirsiniz ~
. Terminal istemlerim için bunu yapmanın inanılmaz derecede kullanışlı olduğunu biliyorum - Bulucu penceresine bakarak yaptığımdan çok daha fazla nerede olduğumu her zaman bir bakışta biliyorum.
Tcsh üzerinde bunu set prompt = 'Plastico %~%# '
ev dizinimdeki .tcshrc dosyama ekleyerek yapıyorum . Ben de export PS1="Plastico $PWD $ "
.profile dosyama ekleyerek ksh üzerinde yaptım . Fakat bir Linux kullanıcısı olarak, muhtemelen benim çok fazla tecrübem olmayan Bash'i kullanıyorsunuz (ben böyle bir garipim). Ama benim .bashrc dosyama ekleyerek yapmak mümkün olabilir gibi görünüyorPS1="Plastico \w $ "
.
Düzenleme: Sadece sh ile ilgilendiğiniz OP durumlarını fark ettim, bash değil. Oh iyi; Umarım millet bunu ne olursa olsun yararlı bulmaktadır.
Plastico /var/www/vhosts/myveryexcellentwebsite.com/public_html/wp-content/themes/myveryexcellenttheme/js/vendor/excellentjs/ >
ya da böyle bir şey olsaydı, süper derin dizinler için istenmeyen bir şekilde olabilir gibi görünüyor .
$ pwd
/your/current/directory
$
pwd
yazdırma çalışma dizininden geliyor .
ad
pwd - geçerli / çalışma dizininin baskı adı
özet
pwd [SEÇENEK] ...
Açıklama
Geçerli çalışma dizininin tam adını yazdırın.
-L , - biyolojik
sembolik bağlantılar içermesine rağmen çevreden PWD kullanın
-P , - fiziksel
tüm sembolik linklerden kaçının
--yardım et
bu yardımı görüntüle ve çık
version
çıktı sürüm bilgisi ve çıkış
NOT: Kabuğunuzun genellikle burada açıklanan sürümün yerini alan kendi pwd sürümü olabilir. Desteklediği seçeneklerle ilgili ayrıntılar için lütfen kabuğunuzun belgelerine bakın.
(...)