Як використовувати команду cd в Linux

Деякі команди Linux настільки знайомі, що ми навіть не помічаємо, що використовуємо їх. Команда cd для зміни каталогів є однією з них. Є деякі хитрощі, які можуть допомогти вам стати ефективнішим із компакт-дисками — або ви можете відмовитися від нього взагалі.

Команда, про яку ви рідко думаєте

Ви моргаєте цілий день, кожен день, але в більшості випадків ви цього не усвідомлюєте. Якщо вам щось не потрапить в очі, ви рідко думаєте про цей маленький, регулярний рух. Деякі команди Linux подібні. Вони витають на периферії вашої свідомості. Незважаючи на те, що ви використовуєте їх щодня, вони не привертають вашої уваги, оскільки вони такі маленькі та прості.

Протягом першої години використання комп’ютера Linux ви навчитеся використовувати команду cd, що входить до складу Bash та інших оболонок. Можливо, у вас був досвід використання в іншій операційній системі, і вам не потрібні пояснення. Це змінює поточний робочий каталог, чи не так? Що ще треба знати?

Ну, більше, ніж ви думаєте. Ось кілька порад, які можуть підвищити вашу ефективність.

Стандартні операції з компакт-дисками

Щоб бути повним, давайте швидко пройдемося по стандартному використанню cd.

Якщо ми знаходимося в домашньому каталозі, але хочемо змінити його на каталог /usr/lib/firefox/browser, а потім повернутися до домашнього каталогу, ми можемо використовувати такі команди:

cd /usr/lib/firefox/browser/
cd /home/dave

The

Вам не потрібно вводити весь шлях до каталогу; ви можете використовувати автозаповнення. Для кожної частини шляху після того, як ви введете достатню кількість літер, щоб відрізнити назву каталогу від інших, натисніть клавішу Tab, щоб автоматично заповнити назву каталогу.

Наприклад, введіть у командному рядку наступне:

cd /usr/lib/fire

Тепер натисніть Tab, і оболонка заповнить решту каталогу «firefox». Якщо ви додаєте «/b» до шляху та знову натискаєте Tab, це додає каталог «браузер» до команди.

Оболонка додає косу риску в кінці, щоб ви могли повторити процес завершення табуляції. Ось чому в першій команді є коса риска в кінці. На другому немає жодного, тому що він був надрукований.

  Падіння Макса Пейна в Linux

Ви можете використовувати тильду (~) як скорочений спосіб швидкого повернення до домашнього каталогу з будь-якої точки файлової системи; просто введіть наступне:

cd ~

The

Це приклади абсолютних шляхів, у яких ви вказуєте весь шлях від кореня файлової системи до цільового каталогу до cd.

На відносні шляхи посилаються з поточного робочого каталогу. У домашньому каталозі є каталог під назвою work . Ви можете використовувати команду дерева для дивіться дерево каталогів всередині робочого каталогу — просто введіть наступне:

tree

The

Робочий каталог містить каталог під назвою dev. У кореневому каталозі файлової системи також є каталог під назвою dev. Ви можете використовувати ls з -d (каталог), щоб переглянути кожну з них. Параметр -hl (доступний для читання, довгий список) наказує ls використовувати зручні для читання одиниці для розмірів каталогу та довгого формату списку.

Якщо ви введете dev, оболонка припускає, що ви маєте на увазі «dev» у поточному каталозі. Щоб змусити його дивитися на «dev» у кореневому каталозі, просто додайте пряму косу риску для представлення кореня файлової системи, як показано нижче:

ls -d dev -hl
ls -d /dev -hl

The

У цьому відношенні команда cd веде себе як ls. Якщо ви посилаєтеся на каталог як dev, як показано нижче, припускається, що ви маєте на увазі каталог у робочому каталозі:

cd dev

The

Без передньої косої риски передбачається, що довші шляхи також починаються з поточного робочого каталогу, як показано нижче:

cd dev/mobile/android

The

Зміна каталогу за допомогою подвійної точки

Ідентифікатор подвійної точки представляє батьківський каталог поточного робочого. Якщо ви перебуваєте в глибоко вкладеному підкаталозі, ви можете використовувати .. з cd, щоб перейти до батьківського каталогу того, в якому ви перебуваєте.

Це переміщує вас на два каталоги вгорі в дереві каталогів. Якщо ви додасте більше .. до команди, це дозволить вам перемістити довільну кількість рівнів вгору по дереву каталогів.

Введіть наступне:

cd ..
cd ../..

The

Ви також можете створити набір псевдонімів для виконання цих маневрів, ввівши наступне:

alias .2="cd ../.."
alias .3="cd ../../.."

Псевдонім .2=

Ви можете використовувати їх так само, як і самі команди.

  Як переглянути вільний дисковий простір і використання диска з терміналу Linux

псевдонім .2=

Щоб зробити псевдоніми послідовними під час перезавантажень комп’ютера, ви повинні додати їх до файлу .bashrc або .bash_aliases.

Легко переходьте між двома каталогами

Дефіс (-) — це ще один символ, який виконує особливу функцію. Він повертає ваш каталог до того, з якого ви щойно прийшли.

Для цього прикладу припустимо, що ви перебуваєте в каталозі «c». Ви можете використовувати cd, щоб перейти до каталогу «forth». Потім ви можете використовувати cd – для переходу між двома каталогами.

Для цього введіть наступне:

компакт-диск ../наперед

компакт-диск –

компакт-диск –

The 

Ім’я каталогу, до якого ви переміщуєтеся, з’являється перед тим, як ви перейдете до нього.

Інший вид родичів

Оболонка використовує поточний робочий каталог як «кореневий» або базовий каталог для відносних шляхів. Ви можете використовувати змінну середовища CDPATH, щоб встановити інше розташування як базовий каталог для відносних шляхів. Якщо ви проводите більшу частину свого часу в певному розділі дерева файлової системи, це може заощадити багато натискань клавіш (і часу) щодня.

Давайте введемо наступне, щоб зробити work/dev/projects базовим каталогом для відносних шляхів:

export CDPATH=/home/dave/work/dev/projects

The

Тепер, щоразу, коли ви використовуєте команду dc, спочатку перевіряється розташування у змінній середовища CDPATH на відповідність іменам каталогів. Якщо будь-який з них відповідає цілі, яку ви вказали в команді cd, вас буде переміщено до цього каталогу.

Тепер, незалежно від того, де ви знаходитесь у файловій системі, коли ви використовуєте команду cd, оболонка перевіряє, чи знаходиться цільовий каталог у базовому каталозі. Якщо так, ви переміщені в цей цільовий каталог.

Якщо ваш цільовий каталог починається з косої риски (/), що робить його абсолютним шляхом, змінна середовища CDPATH не вплине на нього.

Щоб продемонструвати це, ми вводимо наступне:

cd c
cd prolog
cd /usr
cd forth

The

Змінна середовища CDPATH справді є шляхом, як і змінна середовища PATH. Коли ви вводите команду, оболонка шукає відповідність розташування в PATH. Коли ви використовуєте CDPATH, оболонка шукає розташування у змінній середовища CDPATH на збіг. Крім того, як і PATH, CDPATH може містити кілька місць розташування.

  Як грати в Far Cry 5 на Linux

Щоб оболонка шукала поточний каталог перед іншими розташуваннями у змінній середовища CDPATH, ви просто додайте крапку ( . ) на початку шляху так:

export CDPATH=.:/home/dave/work/dev/projects

Щоб зробити ваші налаштування постійними, ви повинні додати їх у файл конфігурації, наприклад .bashrc.

Одна річ, про яку слід пам’ятати: якщо ви встановлюєте базовий каталог, це також впливає на зміни каталогу, що виконуються в сценаріях. Щоб уникнути цього, ви можете використовувати абсолютні шляхи у своїх сценаріях або тест у вашому файлі .bashrc, коли ви вказуєте свій CDPATH, як показано нижче:

if test “${PS1+set}”; then CDPATH=.:/home/dave/work/dev/projects; fi

Це виконує перевірку, щоб перевірити, чи встановлено змінну командного рядка $PS1. Змінна середовища CDPATH буде встановлена ​​лише в тому випадку, якщо тест пройде успішно.

Використання shopt з компакт-диском

З команда магазину, ви можете встановити певні параметри для оболонки. Деякі з них можуть покращити використання компакт-дисків. Щоб встановити їх, ви використовуєте опцію -s (увімкнути) разом із shopt, щоб передати їй назву параметра.

Параметр cdspell перевіряє імена ваших каталогів і виправляє деякі типові помилки введення, включаючи транспоновані або відсутні символи, або імена з занадто великою кількістю символів. Якщо він знаходить каталог, який відповідає будь-якому з виправлень, виправлений шлях друкується, і виконується дія cd.

Як приклад, ми вводимо наступне, щоб встановити параметр cdspell і ввести помилку «Робочий стіл», щоб побачити, чи оболонка виправляє це за нас:

shopt -s cdspell
cd Desktpo

The

Оболонка зловила помилку, виправила її та змінила на каталог «Робочий стіл».

Інший варіант shopt, який ви можете використовувати з компакт-дисками, – це autocd. Це усуває потребу вводити компакт-диск. Все, що ви вводите, що не є командою, сценарієм чи іншим виконуваним файлом (наприклад, псевдонім), використовується як цільовий каталог. Якщо ви можете перенестися до цього каталогу, він буде надрукований у вікні терміналу, і ви перейдете до цього каталогу.

Як приклад, ми вводимо наступне:

shopt -s autocd
/usr/local/games
/etc
~

The

Подивитися! Ви можете стрибати по всій файловій системі, навіть не використовуючи cd!

Налаштування, які ви змінюєте за допомогою shopt, впливають лише на інтерактивні оболонки, а не на сценарії.

Колекція компакт-дисків

Ви, мабуть, не приймете все це. Однак, швидше за все, ви знайшли тут щось цікаве чи корисне. Зрештою, все, що прискорює або спрощує навігацію за допомогою командного рядка, — це добре!