GNU/Linux >> Znalost Linux >  >> Linux

Který příkaz v shellu Linux/UNIX sh vrátí můj aktuální adresář?

Zkuste pwd .

$ pwd
/home/<username>

Zatímco obecná odpověď je pwd , mějte na paměti, že výsledky mohou být různé v závislosti na tom, jak jste se dostali do daného adresáře a zda trasa obsahovala symbolické odkazy.

Například, pokud máte adresář s názvem real a symbolický odkaz na tento adresář s názvem virtual a vy cd na virtual adresář a poté pwd ukáže, že virtual název adresáře, i když skutečný adresář, ve kterém se nacházíte, je real .

Chcete-li zobrazit skutečný základní adresář, použijte buď pwd -P nebo readlink -f (pro libovolnou cestu):

$ mkdir real
$ ln -s real virtual
$ cd virtual
$ pwd
/home/username/tmp/virtual
$ pwd -P
/home/username/tmp/real
$ readlink -f .
/home/username/tmp/real

Všimněte si, že shelly často nahrazují pwd příkaz s vlastní interní verzí, takže na mém systému (RHEL6), i když pwd(1) manuálová stránka naznačuje, že --physical bude fungovat stejně jako -P , protože používám bash , není:

$ pwd --physical
bash: pwd: --: invalid option
pwd: usage: pwd [-LP]
$ /bin/pwd --physical
/home/username/tmp/real
$ /usr/bin/env pwd --physical
/home/username/tmp/real

Linux
  1. Jak funguje příkaz 'ls' v Linuxu/Unixu?

  2. Shell - Jak najít adresář nějakého příkazu?

  3. Jak nakonfigurovat příkazový řádek v Linuxu tak, aby zobrazoval aktuální adresář?

  1. Který příkaz terminálu Linuxu používáte nejčastěji?

  2. Aliasy příkazového řádku v prostředí Linux

  3. Linux – Jak lze zkontrolovat informace o struktuře adresářů souboru Unix/linux?

  1. Linuxový příkaz pwd

  2. Sledovat, jak dlouho trvá příkaz v UNIX/LINUX?

  3. Které systémové volání linux používá příkaz ls v linuxu k zobrazení názvu složky/souboru?