Android

Linux'ta push ve popd komutları

Linux vs Windows vs MacOS для работы. Какой ЛИНУКС выбрать в 2020 для рабочего компьютера?

Linux vs Windows vs MacOS для работы. Какой ЛИНУКС выбрать в 2020 для рабочего компьютера?

İçindekiler:

Anonim

pushd ve popd , Linux ve diğer Unix benzeri işletim sistemlerinde dizin yığını ile çalışmanıza ve geçerli çalışma dizinini değiştirmenize izin veren komutlardır. pushd ve popd çok güçlü ve kullanışlı komutlar olmasına rağmen, yetersiz ve nadiren kullanılırlar.

Bu öğreticide, sisteminizin dizin ağacında gezinmek için pushd ve popd komutlarını nasıl kullanacağınızı göstereceğiz.

Dizin Yığını

Dizin yığını, daha önce gittiğiniz dizinlerin listesidir. Dizin yığının içeriği dirs komutu kullanılarak görülebilir. Dizinler pushd komutunu kullanarak bir dizine geçerken yığına eklenir ve popd komutu ile kaldırılır.

Geçerli çalışma dizini her zaman dizin yığınının üstünde bulunur. Geçerli çalışma dizini, kullanıcının o anda çalıştığı dizindir (klasör). Komut satırıyla her etkileşim kurduğunuzda, bir dizin içinde çalışıyorsunuzdur.

pwd komutu, hangi dizinde bulunduğunuzu bulmanızı sağlar.

Dosya sisteminde gezinirken, dizin adlarını otomatik olarak tamamlamak için Tab tuşunu kullanın. Dizin adının sonuna eğik çizgi eklemek isteğe bağlıdır.

pushd , popd ve dirs kabuk yerleşikleridir ve davranışı kabuktan kabuğa biraz farklı olabilir. Komutların Bash yerleşik sürümünü ele alacağız.

pushd Komutu

pushd komutunun sözdizimi aşağıdaki gibidir:

pushd

Örneğin, geçerli dizini dizin yığınının üstüne kaydetmek ve /var/www değiştirmek için şunu yazabilirsiniz:

~$ pushd /var/www

Başarılı olduğunda, yukarıdaki komut dizin yığınını yazdıracaktır. ~ pushd komutunu yürüttüğümüz dizindir. Tilde sembolü ~ giriş dizini anlamına gelir.

/var/www ~

pushd önce geçerli çalışma dizinini yığının üstüne kaydeder ve ardından verilen dizine gider. Geçerli dizin her zaman yığının üstünde olması gerektiğinden, yeni geçerli dizin yığının en üstüne gider, ancak yığına kaydedilmez. Kaydetmek için ondan pushd . Başka bir dizine geçmek için cd kullanırsanız, yığının en üst öğesi kaybolur,

Yığına başka bir dizin ekleyelim:

/var/www$ pushd /opt

/opt /var/www ~

Dizindeki varsayılan değişikliği bastırmak için -n seçeneğini kullanın. Örneğin, /usr/local dizinini yığına eklemek ancak içine değiştirmek için şunu yazmazsınız:

/opt$ pushd -n /usr/local

Geçerli dizin (her zaman en üstte olan) değiştirilmediğinden, /usr/local dizini yığının üstünden ikinci olarak eklenir:

/opt /usr/local /var/www ~

pushd , yığının Nth dizinine gitmenizi sağlayan +N ve -N olmak üzere iki seçeneği kabul eder. +N seçeneği, sıfırdan başlayarak soldan sağa doğru sayan yığın listesinin Nth öğesine dönüşür. -N kullanıldığında sayının yönü sağdan sola olur.

Seçenekleri daha iyi göstermek için, geçerli dizin yığınını yazdıralım:

/opt$ dirs -l -v

Çıktı, dizin yığınının dizinlenmiş bir listesini gösterir:

0 /opt 1 /usr/local 2 /var/www 3 /home/linuxize

Yukarıdan aşağıya (veya soldan sağa) sayım yaparken, dizinin dizini 2 .

pushd +2

Aşağıdan yukarıya doğru sayarken /var/www dizininin dizini 1 .

pushd -1.

Herhangi bir argüman olmadan kullanıldığında, pushd en üstteki iki dizini değiştirir ve yeni en üstteki dizini geçerli dizin yapar. Bu, cd - komutunun kullanılmasıyla aynıdır.

popd Komutu

popd komutu şu şekildedir:

popd

Bağımsız değişken olmadan kullanıldığında, popd üst dizini yığından kaldırır ve yeni üst dizine gider.

Diyelim ki aşağıdaki dizin yığınına sahibiz:

/opt /usr/local /var/www /etc/nginx ~

/opt$ popd

Çıktıda yeni dizin yığını gösterilir:

/usr/local /var/www /etc/nginx ~

-n seçeneği, varsayılan dizin değişikliğini bastırır ve ikinci öğeyi yığından kaldırır:

/opt$ popd -n

/usr/local /etc/nginx ~

pushd aynı şekilde popd , yığının Nth dizinini kaldırmak için kullanılabilen +N ve -N seçeneklerini de kabul eder.

/opt$ popd +1

/usr/local ~

Sonuç

Normalde, bir cd diğerine geçmek için cd komutunu kullanırsınız. Ancak, komut satırında çok fazla zaman harcarsanız, pushd ve popd komutları üretkenliğinizi ve verimliliğinizi artıracaktır.

bash terminali