Android

Polecenia pushd i popd w systemie Linux

The Straight Poop About pushd And popd

The Straight Poop About pushd And popd

Spisu treści:

Anonim

pushd i popd to polecenia, które umożliwiają pracę ze stosem katalogów i zmianę bieżącego katalogu roboczego w systemie Linux i innych systemach operacyjnych typu Unix. Chociaż pushd i popd są bardzo potężnymi i użytecznymi poleceniami, są niedoceniane i rzadko używane.

W tym samouczku pokażemy, jak używać poleceń pushd i popd do poruszania się po drzewie katalogów systemu.

Stos katalogów

Stos katalogów to lista katalogów, do których wcześniej nawigowałeś. Zawartość stosu katalogów można wyświetlić za pomocą polecenia dirs . Katalogi są dodawane do stosu podczas przechodzenia do katalogu za pomocą pushd i usuwane za pomocą polecenia popd .

Bieżący katalog roboczy zawsze znajduje się na górze stosu katalogów. Bieżącym katalogiem roboczym jest katalog (folder), w którym aktualnie pracuje użytkownik. Za każdym razem, gdy wchodzisz w interakcję z wierszem poleceń, pracujesz w katalogu.

Polecenie pwd pozwala dowiedzieć się, w którym katalogu aktualnie się znajdujesz.

Podczas nawigacji w systemie plików użyj klawisza Tab , aby automatycznie uzupełnić nazwy katalogów. Dodanie ukośnika na końcu nazwy katalogu jest opcjonalne.

pushd , popd i dir są wbudowanymi powłokami, a ich zachowanie może się nieznacznie różnić w zależności od powłoki. Omówimy wbudowaną wersję poleceń Bash.

Polecenie pushd

Składnia pushd jest następująca:

pushd

Na przykład, aby zapisać bieżący katalog na górze stosu katalogów i zmienić na /var/www , wpisz:

~$ pushd /var/www

Po pomyślnym zakończeniu powyższe polecenie wydrukuje stos katalogów. ~ to katalog, w którym wykonaliśmy pushd . Symbol tyldy ~ oznacza katalog domowy.

/var/www ~

pushd najpierw zapisuje bieżący katalog roboczy na górze stosu, a następnie przechodzi do podanego katalogu. Ponieważ bieżący katalog musi zawsze znajdować się na górze stosu, po zmianie nowy katalog bieżący przechodzi na górę stosu, ale nie jest zapisywany na stosie. Aby go zapisać, musisz wywołać z niego pushd . Jeśli użyjesz cd aby przejść do innego katalogu, najwyższy element stosu zostanie utracony,

Dodajmy inny katalog do stosu:

/var/www$ pushd /opt

/opt /var/www ~

Aby ukryć domyślną zmianę w katalogu, użyj opcji -n . Na przykład, aby dodać katalog /usr/local do stosu, ale nie zmieniać go, należy wpisać:

/opt$ pushd -n /usr/local

Ponieważ bieżący katalog (który zawsze znajduje się na górze) nie ulega zmianie, katalog /usr/local jest dodawany drugi od góry stosu:

/opt /usr/local /var/www ~

pushd akceptuje dwie opcje, +N i -N które umożliwiają nawigację do Nth katalogu stosu. Opcja +N zmienia się na Nth element listy stosów, licząc od lewej do prawej, zaczynając od zera. Gdy używane jest -N kierunek zliczania jest od prawej do lewej.

Aby lepiej zilustrować opcje, wydrukujmy bieżący stos katalogów:

/opt$ dirs -l -v

Dane wyjściowe pokażą indeksowaną listę stosu katalogów:

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

Podczas liczenia od góry do dołu (lub od lewej do prawej) indeks katalogu wynosi 2 .

pushd +2

Podczas liczenia od dołu do góry indeks katalogu /var/www wynosi 1 .

pushd -1.

Gdy zostanie użyte bez żadnego argumentu, pushd przełączy dwa górne katalogi i sprawi, że nowy top będzie bieżącym katalogiem. Jest to to samo, co w przypadku korzystania z polecenia cd - .

popd Command

Polecenie popd ma postać:

popd

W przypadku użycia bez argumentu, popd usuwa główny katalog ze stosu i przechodzi do nowego katalogu głównego.

Powiedzmy, że mamy następujący stos katalogów:

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

/opt$ popd

Dane wyjściowe pokażą nowy stos katalogów:

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

Opcja -n pomija domyślną zmianę katalogu i usuwa drugi element ze stosu:

/opt$ popd -n

/usr/local /etc/nginx ~

Podobnie jak pushd , popd akceptuje również opcje +N i -N , których można użyć do usunięcia Nth katalogu ze stosu.

/opt$ popd +1

/usr/local ~

Wniosek

Zwykle można użyć polecenia cd aby przejść z jednego katalogu do drugiego. Jeśli jednak spędzasz dużo czasu w wierszu poleceń, pushd i popd zwiększą produktywność i wydajność.

terminal bash