Linux / UNIX sh kabuğundaki hangi komut mevcut dizinimi döndürür?


37

shKabuğu (değil bash) kullanarak, Linux / UNIX'te hangi komut mevcut dizinimi yazdırıyor?

$ *showmewhereiam*
/sys/kernel/debug
$

4
Basit bir google araması cevap verecekti, değil mi?
Çılgın bilim adamı

9
@ Mad-bilim adamı Bu doğru olsa da, insanlara Google’a gitmelerini söylemek için bir soru / cevap sitesinin amacını yendi. Trafiğimizin% 90'ı web aramalarından geliyor .
slhck


2
Hiçbir şey SEO için çok basit!
Kenzo

Yeterince komik, bu soru basit google aramanın cevabı ISunix whereami
Jay Killeen

Yanıtlar:


60

Dene pwd.

$ pwd
/home/<username>

6
/dev
linux'a

2
Ah, dev cihaz demek ?! Her zaman şimdiye kadar düşününce bu sadece dev anlamına geliyordu ... Bence, Linux geliştiricilerinin özel null nesnesini koydukları yerdeydi . Thanks @LiuYan 研 研
1owk3y

@LiuYan 刘 研 - Bilmiyorsanız kafa karıştırıcı olduğunu kesinlikle kabul ediyorum. Bakmam gerekiyordu. Bu işlevi neden bu komutu seçmeleri konusunda şaşkına uğrayan herkes için "Çalışma Dizini Yazdır" anlamına gelir.
squarecandy 12:17

1
@squarecandy, Bu yüzden, büyüdükçe büyüdükçe mümkün olduğu kadar kısaltmalar kullanmaktan kaçınacağım, kısaltma bile şu anda belirsiz bir anlama sahip değil - Gelecekte ne anlama geleceğini asla bilemezsiniz. Jeff Dunham'ın bebeği Walter'ın söylediği bir şaka var : DC'de YouTube'da kalır! Burada DC, D igital C amera anlamına gelir, fakat aynı zamanda Washington anlamına gelir, şakadaki C olumbia'nın D' sı .
LiuYan,

11

Genel cevap, pwdbunun 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 realve aranan dizine sembolik bir bağınız virtualvarsa ve siz cdde virtualdizine, o an pwdbulunduğunuz virtualdizin olsa bile, bu dizin adını gösterir real.

Altta yatan gerçek dizini göstermek için ya pwd -Pda 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 pwdrağmen, bu yüzden sistemimde (RHEL6) üzerine, kendi iç sürümü ile komutu pwd(1)manuel sayfa düşündürmektedir --physicalyanı sıra çalışacak -Pkoş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

1

Diğerlerinin dediği gibi, pwdgenellikle 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.


Bu harika bir fikir. Basit bir masaüstü kullanım çantası için işe yarayabilir. Tek başına isteğiniz 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 .
squarecandy

1
$ pwd
/your/current/directory
$

pwdyazdırma çalışma dizininden geliyor .

Linux sayfasından:

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.

(...)


Bu , kabul edilen cevaptaki bilgileri beş yıldan daha uzun bir süre önce çoğaltır . Başka bir şey ekler misin?
bertieb
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.