Незважаючи на те, що вже є кілька хороших відповідей, я подумав, щоб згадати для повноти старі pushdта popdвбудовані Bash, які дозволяють вам дуже швидко переміщатися між каталогами глибокими шляхами вашої файлової системи. На відміну від autojumpзакладок, згаданих burger.ga , стек каталогів, створений за допомогою, pushdє лише тимчасовим.
Як зазначає посібник GNU , pushdі popdвбудовані Bash використовуються для побудови тимчасового стека каталогів, який є
список нещодавно відвіданих каталогів. Убудований pushd додає каталоги в стек, коли він змінює поточну директорію, а popd вбудований видаляє вказані каталоги зі стека та змінює поточний каталог у видалений каталог. Вбудований dirs відображає вміст стека каталогів.
Потрібно трохи звикнути, але на цьому блозі є багато корисних навчальних посібників, наприклад, на цьому веб - сайті . Немає окремих команд для команд, оскільки вони включені в сторінку Bash, але для швидкого ознайомлення ви можете переглянути сторінку GNU Bash .
Найяскравіший пояснення в цій дуже корисною статті , і саме так , як я використовую pushdі popd:
По-перше, використовуйте dirsабо dirs -lперелічіть каталоги на стеку та dirs -cочистіть стек.
У певному сенсі ви додаєте закладку до місця, куди ви хочете повернутися, ввівши
pushd /home/mike/Pictures/Canon/2012_07_01
а потім ви можете додати більше каталогів у стек, тож ви отримаєте список переліку, як показано нижче, що включає 3 призначені папки та ~домашню папку:
dirs
~/Downloads/folder/interest ~/Music/artist/album ~ ~/Pictures/Canon/2012_07_01
Вам фактично не потрібно використовувати popdпрямо, оскільки це видаляє каталоги зі стека; найкраще, що потрібно зробити, це використовувати pushdдля обертання стека, щоб ви могли продовжувати перемикатися між каталогами та замовляти їх так, як вам потрібно. Докладніше про корисну поворот стека дивіться на сторінці Bash .
Якщо ви точно розташували стек, як dirsпоказано у наведеному вище списку, pushd +3переключає вас у певну папку Pictures і розміщуєте її вгорі стека (вона становить +3, а не +4, оскільки ви не рахуєте їх ~у стеці каталогів):
pushd +3
~/Pictures/Canon/2012_07_01 ~/Downloads/folder/interest ~/Music/artist/album ~
Отже, підказка гласить:
~/Pictures/Canon/2012_07_01$
Ви можете продовжувати робити це, не видаляючи їх із стека, хоча будь-які папки cd, крім яких додано до каталогу стеків pushd, змінять стек вашого каталогу.
Після того, як стек каталогів буде впорядкований у потрібному порядку, ви можете скористатися popdдля швидкого переходу через каталоги та повернення до домашньої папки; наприклад, Picturesми можемо повернутися до Downloads:
popd
~/Downloads/folder/interest ~/Music/artist/album ~
і підказка читає
~/Downloads/folder/interest$
Загалом, краса цього полягає в тому, що ви можете встановити стек каталогів та порядок елементів у ньому, pushdа потім, скажімо, у вас є три файли для редагування у кожному з цих каталогів, ви можете миттєво повернутися до кожного з popdних, видаляючи їх зі стека каталогу. Тоді з останнім popdви повернетесь до ~. Це стає особливо корисним, коли у вас є особливо глибокі каталоги та ви можете використовувати його для налаштування стека каталогу для швидкого переміщення між ними.
Крім того, це запитання містить кілька порад, які можуть бути корисними під час роботи в командному рядку: