2008-11-22 2 views
6

Знаете ли вы какие-либо ресурсы, которые учат хорошим привычкам работать в командной строке UNIX?Как эффективно работать с Unix CLI

EDIT: Я не имею в виду общие книги о оболочке или страницах руководства. Я имею в виду то, что вы можете видеть только, наблюдая за профессионалами, работающими с командной строкой. Например, при частом изменении между двумя каталогами они используют команду «pushd», при повторении команды они используют «историю». Я могу прочитать об этих командах, но я хочу, чтобы привычка эффективно их использовать.

ответ

7

Я говорю из собственного опыта, поэтому он не может относиться к вам;

Лучший способ быть эффективным - на самом деле использовать его на ежедневной основе, вместо использования графических инструментов, даже если они упрощают поиск. Затем вы узнаете о наиболее часто встречающихся задачах, о которых вы заботитесь, и вместо того, чтобы пытаться заглянуть в него сразу, вы получаете неплохую отправную точку для начала обучения. Человеческие страницы - это первое, на что можно обратить внимание, но будут неочевидные трюки, которые вам нужно искать в любом случае. Зная, чего именно вы хотите, бесконечно увеличивает вероятность его нахождения.

Например, вы можете найти, как искать все mp3-файлы проще на странице man «find», чем как обращаться с файлами в целом (с чего начать?).

+0

Действительно. Это лучший способ. – ayaz 2008-11-23 14:23:13

3

Для более продвинутых вещей This, кажется, достаточно полно

1

Если вы хотите, то, что вы можете «видеть только смотреть профессионалов, работающих с командной строкой», то вы ответили на свой вопрос : Наблюдайте за профессионалами, работающими с командной строкой. Я лично не считаю это очень полезным, если другой человек не делает то же самое несколько раз; после одного сеанса сложно выбрать что-то, потому что одновременно сложно смотреть экран и клавиатуру.

Я думаю, что ключ - не пытаться стать экспертом сразу. Просто используйте командную строку часто и знайте, что вы не можете использовать ее так хорошо, как можете, но не позволяйте этому препятствовать вам использовать его в любом случае.

Просмотрите страницу руководства вашей оболочки и с помощью списков советов, а не с целью запоминания всего в них, а просто выберите несколько вещей, чтобы попробовать. Проскользните до тех пор, пока что-то не поймает ваш глаз и заставит вас подумать: «Ну, это звучит полезно». Затем попробуйте. Не все будет полезно сразу; вам может потребоваться некоторое время, прежде чем вы столкнетесь с ситуацией, в которой вы можете сделать попробовать что-то. Может быть, вы могли бы записать некоторые вещи на заметках Post-It на своем столе, чтобы напомнить вам, что возможны определенные подвиги, поэтому, когда вы сталкиваетесь с ситуацией, когда более неприглядная функция может быть удобной, вы, скорее всего, не захотите попробовать ,

4

Некоторые общие Баш действия командной строки, а не в порядке:

  • редактирование командной строки: вы хотите быть хорошим с Emacs или VI и применить, что к редактированию ваших команд.
  • Завершение: используйте TAB для расширения имен файлов и путей.
    • примечание: существует огромный набор функций завершения файла, команды и истории, и он настраивается. Большая тема.
  • "CD -": вернуться к последнему каталогу вы были в
  • ~ = домашней директории (или ~ пользователей для пользователей домашней директории)
  • "ESC". : расширяется до конечного arg из предыдущей команды
  • «! string»: выполнить последнюю команду, начинающуюся со строки
  • узнать найти, grep, sed, piping "|" и перенаправление ">". Вы часто объединяете их, чтобы делать полезные вещи.
  • Петли из командной строки, например. «for» loop - делать повторяющиеся действия
  • Узнайте свои регулярные выражения! Часто используется для сопоставления файлов.
    • Пример:. Ls х [0-5] * {почтовый, деготь} = список файлов, начинающиеся с х, с последующими числами от 0 до 5, а затем любой строки, заканчивающийся в .zip или .tar

Если возможно, попросите других ознакомиться с их любимыми трюками, прочтите руководство и практикуйте.

1

Честно говоря, невозможно научиться этому материалу в вакууме. Вам нужно решить проблемы.

Хотя он, безусловно, помогает хорошо знаком с доступными инструментами (из которых есть мириады), «обучение» требует применения. И применение этого требует «реальных» проблем для решения.

Например, набор навыков администратора системы может отличаться от того, кто работает с базами данных, потому что их роли различны.

Я использую их для обработки данных, используя в основном один файл. /tmp/x.sh и /tmp/x.x изнашиваются в папке каталога.

Мои молоты склонны наклоняться в направлении: ls, find, sort, sed, vi, awk, grep и comm. В сочетании с простыми сценариями оболочки, например: для i в cat /tmp/list; do .. done

Но я много работаю в ETL и очень мало файлов сценариев, поэтому мои навыки написания скриптов настолько слабы.

я полагаться на один сценарий, однако:

#!/bin/sh 
# latest -- show latest files 
ls -lt [email protected] | head 

95% времени файлы я работаю над находятся в топ-10 последних файлов. И «последний * .txt» работает персик.

Итак, в нижней строке, вам нужно решить проблемы. Вам нужно научиться команде «человек», человек -k приятно найти вещи. Вы также должны использовать «См. Также» в нижней части большинства страниц руководства. Это сокровищница «Я не знал, что ты сможешь это сделать».

Затем начните решать проблемы. Начните выяснять, «что было бы хорошо иметь», а затем посмотреть, существует ли он (это очень хорошо). Если нет, awk, perl или python могут сделать эти «приятные из себя» из воздуха.

0

Присоединиться к LUG. Вот где я узнал большинство вещей на ранней стадии. Попросите организаторов сделать «Bash Tips And Tricks Night».

Deft shell пользователи любят хвастаться.

0

apropos - действительно хороший инструмент для такого рода вещей. Всякий раз, когда вы обнаруживаете, что не знаете, как лучше всего что-то сделать, или желая, чтобы вы не повторялись, просто используйте apropos с ключевым словом или двумя, чтобы найти другие команды, которые могут помочь. В таких дистрибутивах, как debian, вы также можете установить веб-справочные инструменты, которые ищут все руководства, доступные в системе: texinfo, man pages, html и pdf и т. Д.

Кроме того, прочитайте руководство вашей раковины по крайней мере один раз - желательно, возвращаться к нему повторно, поскольку вы узнаете больше, достигаете пределов и хотите быть более эффективными.

Объединение идеи LUG также хорошо; вы обязательно узнаете из других демо.