Як мати кращий вигляд при наборі каталогів у терміналі?


8

Зараз я використовую Mac і вчуся користуватися терміналом, але питання стосується і систем Linux.

Мені хотілося б запитати, коли вводяться шляхи в терміналі / командному рядку, чи є спосіб, що знаходиться в терміналі, мати кращий перегляд каталогів?

Наприклад, я хочу перенести диск в певний каталог. Після того, як я почну вводити адресу, чи є спосіб в основному ls у кожному каталозі? Якщо, наприклад, я хочу скопіювати файл з одного каталогу в інший і хочу набрати 2 абсолютні контури, чи потрібно мені запам'ятати 2 шляхи? Я знаю, що натискання клавіші Tab допомагає зробити автозаповнення, але що робити, якщо я не знаю першої літери?

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

Дякую !

Відповіді:


9

Tabсаме те, що вам потрібно. Якщо ви потрапите tabдвічі, він покаже всі можливі завершення:

$ cd /usr/  ## Hit tab twice here
bin/     include/ lib64/   sbin/    src/     
games/   lib/     local/   share/   var/     

Вам не потрібно знати першу букву, друга tabпокаже вам все.


<kbd> Вкладка </kbd> застосовується і до командного рядка Windows.
Hind-D

І bash / zsh хоч на linux
linuxdev2013

5

Деякі слова докладніше про Tab

Tabчудово виконати часткову письмову команду (або варіант) серед доступних, як тільки що підкреслив Тердон в іншій відповіді .

Для виконання команди достатньо натиснутиTab один раз. Щоб отримати повний список, натиснітьTab ще раз.
Більше того, вам може сподобатися налаштовувати поведінкуTab . Спробуйте, наприклад, ці 2 рядки:

bind "TAB:menu-complete"
bind "set show-all-if-ambiguous on"

Перший Tabпоказує вам всі можливості та автоматично заповнює команду першою з наявних, з другого натискання Tab вона почне кружляти між ними.

Примітки:

Ви можете писати власні сценарії завершення bash , з параметрами правил ...
У статті є більше натяків на вступ до завершення bash : 1-а частина - для основ, а друга - для написання власного сценарію.

Цікаві bind completeта посилання ви можете знайти тут нижче.

2-а відповідь: Абсолютні шляхи та ярлики

Не завжди обов'язково писати абсолютний шлях (повний) у кожній команді, навіть якщо це хороша практика, коли ви пишете сценарій і хочете уникнути ризику експлуатації як троянських коней .

Є деякі ярлики йти швидше , так як, наприклад, Tab, , , і через всі змінні , визначені в поточній оболонці. Alt+..~

Нижче наведено кілька прикладів ( .означає тут і ~означає дім ):

Щоб скопіювати файл у поточну директорію, достатньо написати. Щоб скопіювати зі свого каталогу файл у поточний каталог, ви можете написати. Копіювати файл із поточного каталогу до останнього, пише останній аргумент останньої команди, що зберігається в історії. . Якщо натиснути ще раз, він замінить щойно знайдене місце з попереднього положення в історії баш. З прикладом простіше:cp /my/far/far/away/myfile .
homecp ~/myfile .
cp myfile $OLDPWD
Alt+.

mkdir OldDir
mkdir NewDir
cd # here press `Alt + .` and it will autocomplete with NewDir
   # press `Alt + .` again and you will see "cd OldDir"

Список літератури:


2

Подивіться Midnight Commander- менеджер файлів текстового режиму, який справді чудовий. Ви можете переміщатися на двох панелях, як тільки файл, розташований на простому F5, копіює його. F6 переміщує його ... Я багато використовую термінали, якщо не більшу частину часу, але я не міг би жити без нього mc(звичайна назва пакету).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.