LINUXCAMP_TG Telegram 217
Практика использования: pushd, popd, dirs

И так, вернемся к задаче, над которой начали работать тут. Для того, чтобы быстро переключаться между 4 каталогами, нужно сначала добавить их в стек. Текущий будет самым левым (верхним):


$ pushd /var/www/html
/var/www/html ~/Web/src

$ pushd /etc/apache2
/etc/apache2 /var/www/html ~/Web/src

$ pushd /etc/ssl/certs
/etc/ssl/certs /etc/apache2 /var/www/html ~/Web/src


Команда pushd без аргументов меняет местами два верхних каталога в стеке и переходит к новому верхнему. Давайте несколько раз переместимся между "/etc/ssl/certs" и "/etc/apache2":


$ pwd
/etc/ssl/certs

$ pushd
/etc/apache2 /etc/ssl/certs /var/www/html ~/Web/src

$ pushd
/etc/ssl/certs /etc/apache2 /var/www/html ~/Web/src


Что делать, если нужно перейти в другие каталоги стека, помимо двух верхних? pushd и popd принимают целочисленные аргументы для данной задачи. Давайте для наглядности выведем текущий стек в столбец:


$ dirs -v
0 /etc/ssl/certs
1 /etc/apache2
2 /var/www/html
3 ~/Web/src


Команда "pushd +N" сдвигает N каталогов с вершины стека в самый низ, а затем переходит к новому верхнему. Если нужно попасть в "/var/www/html" и сохранить структуру стека, используем:


$ pushd +2
/var/www/html ~/Web/src /etc/ssl/certs /etc/apache2


Отрицательный аргумент (-N) сдвигает каталоги в противоположном направлении. Чтобы перейти к каталогу в нижней части стека, можно либо сдвинуть все, кроме последнего, либо просто использовать "pushd -0":


$ dirs
/etc/apache2 /etc/ssl/certs ~/Web/src /var/www/html

$ pushd -0
/var/www/html /etc/apache2 /etc/ssl/certs ~/Web/src


Можно также удалять каталоги из стека, используя popd с аргументом. Команда "popd +N" удаляет каталог, расположенный на позиции N, из стека. Отрицательный аргумент (-N) означает отсчет снизу. Подсчет начинается с нуля, поэтому "popd +1" удаляет второй каталог сверху:


$ dirs
/var/www/html /etc/apache2 /etc/ssl/certs ~/Web/src

$ popd +1
/var/www/html /etc/ssl/certs ~/Web/src

$ popd +2
/var/www/html /etc/ssl/certs


Будьте аккуратны и внимательны. Если вы используете команду cd, то самый верхний элемент стека затрется на текущий активный каталог. Эту проблему мы научимся решать в пятницу)

LinuxCamp | #shell
🔥24👍165



tgoop.com/linuxcamp_tg/217
Create:
Last Update:

Практика использования: pushd, popd, dirs

И так, вернемся к задаче, над которой начали работать тут. Для того, чтобы быстро переключаться между 4 каталогами, нужно сначала добавить их в стек. Текущий будет самым левым (верхним):


$ pushd /var/www/html
/var/www/html ~/Web/src

$ pushd /etc/apache2
/etc/apache2 /var/www/html ~/Web/src

$ pushd /etc/ssl/certs
/etc/ssl/certs /etc/apache2 /var/www/html ~/Web/src


Команда pushd без аргументов меняет местами два верхних каталога в стеке и переходит к новому верхнему. Давайте несколько раз переместимся между "/etc/ssl/certs" и "/etc/apache2":


$ pwd
/etc/ssl/certs

$ pushd
/etc/apache2 /etc/ssl/certs /var/www/html ~/Web/src

$ pushd
/etc/ssl/certs /etc/apache2 /var/www/html ~/Web/src


Что делать, если нужно перейти в другие каталоги стека, помимо двух верхних? pushd и popd принимают целочисленные аргументы для данной задачи. Давайте для наглядности выведем текущий стек в столбец:


$ dirs -v
0 /etc/ssl/certs
1 /etc/apache2
2 /var/www/html
3 ~/Web/src


Команда "pushd +N" сдвигает N каталогов с вершины стека в самый низ, а затем переходит к новому верхнему. Если нужно попасть в "/var/www/html" и сохранить структуру стека, используем:


$ pushd +2
/var/www/html ~/Web/src /etc/ssl/certs /etc/apache2


Отрицательный аргумент (-N) сдвигает каталоги в противоположном направлении. Чтобы перейти к каталогу в нижней части стека, можно либо сдвинуть все, кроме последнего, либо просто использовать "pushd -0":


$ dirs
/etc/apache2 /etc/ssl/certs ~/Web/src /var/www/html

$ pushd -0
/var/www/html /etc/apache2 /etc/ssl/certs ~/Web/src


Можно также удалять каталоги из стека, используя popd с аргументом. Команда "popd +N" удаляет каталог, расположенный на позиции N, из стека. Отрицательный аргумент (-N) означает отсчет снизу. Подсчет начинается с нуля, поэтому "popd +1" удаляет второй каталог сверху:


$ dirs
/var/www/html /etc/apache2 /etc/ssl/certs ~/Web/src

$ popd +1
/var/www/html /etc/ssl/certs ~/Web/src

$ popd +2
/var/www/html /etc/ssl/certs


Будьте аккуратны и внимательны. Если вы используете команду cd, то самый верхний элемент стека затрется на текущий активный каталог. Эту проблему мы научимся решать в пятницу)

LinuxCamp | #shell

BY LinuxCamp | DevOps


Share with your friend now:
tgoop.com/linuxcamp_tg/217

View MORE
Open in Telegram


Telegram News

Date: |

While the character limit is 255, try to fit into 200 characters. This way, users will be able to take in your text fast and efficiently. Reveal the essence of your channel and provide contact information. For example, you can add a bot name, link to your pricing plans, etc. In the “Bear Market Screaming Therapy Group” on Telegram, members are only allowed to post voice notes of themselves screaming. Anything else will result in an instant ban from the group, which currently has about 75 members. Click “Save” ; 1What is Telegram Channels? Read now
from us


Telegram LinuxCamp | DevOps
FROM American