Командная строка: что это и как работает | вITязь
Улучши свой просмотр — подпишись!
Командная строка в Windows, вероятно, стала одним из самых мощных приложений этой операционной системы и все же она скрыта от большинства пользователей, но не без оснований.
Если выйти за рамки более современных функций Windows 10, таких как обновленный графический интерфейс пользователя (GUI), голосовые команды и обработка естественного языка (NLP), то можно обнаружить, что с помощью Command Prompt можно сделать все, что вы хотите. Единственным недостатком является интерфейс — не очень красивый или интуитивно понятный, как другие.
Несмотря на новые возможности ОС, командная строка — это тот самый инструмент, который всегда присутствовал в Windows, ее все еще можно использовать, если знать, где искать. С ее помощью можно легко сделать множество вещей, которые осуществить с помощью современных интерфейсов проблематично или вовсе не возможно.
Не стоит смотреть на Command Prompt как на устаревшую функцию Windows, она слишком значима, чтобы пренебрегать ею.Что такое командная строкаЗапуск Command Prompt
Запуск Command Prompt
Командная строка никогда не берет награды за внешний вид. Но это не главное — белый текст на черном фоне не должен быть соблазнительным. Но он мгновенно узнаваем даже для самых неискушенных пользователей Windows. На данный момент вы может и не захотите пользоваться командами из-за страха «запороть» свой компьютер. Но немного потренировавшись, сможете полюбить этот инструмент.
Командная строка используется для ввода, выполнения команд, что может быть особенно полезно для автоматизации задач с помощью скриптов, пакетных файлов, а также для выполнения расширенных административных функций и устранения многих проблем в Windows.Как открыть командную строкуВызов командной строки Win 7
Вызов командной строки Win 7
Командная строка, называемая также командной оболочкой или просто cmd. exe, может быть открыта с помощью сочетания клавиш или в меню «Пуск». В зависимости от версии ОС, вызвать ее можно и на экране «Приложения»:
- В Win 7 вы можете вызвать команду «Подсказка», нажав кнопку «Пуск». Наберите запрос «cmd», затем, в появившемся окне с результатом, нажмите правой кнопкой мышки на cmd, запустите приложение от имени администратора.
- В Windows v8.0/8.1 или Виндовс 10 вы можете использовать мышь. Переместите ее в нижний левый угол экрана и нажмите правую кнопку манипулятора (или воспользуйтесь сочетанием клавиш Win+X). Запустите «Выполнить», задайте команду «cmd». В качестве альтернативы — в меню задач пользователя откройте «Командная строка (Command Prompt Admin)».
- Обладатели раритета Windows XP – откройте «Пуск»>«Выполнить». Также, как и в других версиях ОС, введите «cmd» в строке «Открыть». Нажмите «ОК».
Командная строка исполняет запросы на более низком (базовом) уровне, чем другие приложения Windows. Но это не говорит о том, что она не является мощной. Это означает, что пользователь получает больше контроля над ПК и общается с ним, как бы «напрямую». Помимо общих команд (dir, cd, copy, del), Command Prompt может использоваться для доступа к частям операционной системы, недоступным графическому интерфейсу пользователя.
Работа с cmdРабота с cmd
Она может привлекаться для выполнения множества функций. Иногда они выполняются быстрее стандартных приложений Win, а в определенных случаях Command Prompt является практически единственным способом доступа к определенной информации или функциям.
Кроме команд, упомянутых выше (которые показывают содержимое каталогов файлов, меняют, копируют или перемещают файлы и папки, а также удаляют их), существует ряд других полезных команд, таких как:
- ipconfig — который показывает, какой IP-адрес у компьютера;
- tracert — который показывает информацию о каждом «шаге» между компьютером и целевым хостом в Интернете — например, вэб-сайтом;
- sfc — средство проверки системных файлов, которое обнаруживает любые поврежденные или отсутствующие элементы и автоматически заменяет их с помощью кэшированных копий, хранящихся в системе и т. д.
PowerShell
Командная строка была с первых версий операционной системы. Однако, Microsoft, начиная с Windows 10, пытается сделать PowerShell основной командной оболочкой ОС. PowerShell предлагает очень богатый набор команд (так называемых командлетов), которые более интегрированы с Windows и большинством продуктов Microsoft. Командлеты — это функции, которые существуют внутри скомпилированных библиотек DLL в системе. Его основная цель — не только заменить Command Prompt, но и командные файлы, скрипты VB.
Ваша оценка помогает сделать канал лучше, ставьте лайк и оставайтесь с нами!
Подписка рядом!До встречи!
Зачем уметь работать в командной строке? / Хабр
Сегодня мы поговорим о том, зачем учить операционную систему GNU/Linux, о преимуществах работы в командной строке и о том, как это все связано с философией Unix.
Это не перевод, а мой авторский текст, появившийся в результате долгих чтений комментариев на хабре и других всевозможных интернет ресурсов. Я не ставил целью задеть чьи-то чувства или оскорбить, а любые совпадения случайны. Прошу отнестись с пониманием.
В мире десктопных операционных систем, вроде той же Windows, понятие программы сильно специализировано. Если вам нужна программа для просмотра видео, вы идете и скачиваете конкретную программу, которая была специально написана для этой цели. Если хотите слушать музыку, для вас также существует целый спектр программ, которые решают эту задачу. В общем, для любой типовой задачи уже написаны и распространяются под разного рода условиями огромное количество программ под разные цели.
Как правило, эти программы весят довольно много, предоставляют дополнительные интеграции и функции, которые вам могут быть вообще не нужны. Порой доходит до абсурда и приходится скачивать и устанавливать гигабайтные пакеты только лишь для того, чтобы иметь возможность редактировать текст. К примеру, для того, чтобы время от времени показывать вам рекламу, разработчики интегрируют в программы код полноценных браузеров, вроде Chromе. Или, если необходимо проигрывать видеоролики внутри приложения, вместо того, чтобы интегрировать свой код со стандартными программами, уже установленными в системе, встраивают внутрь своего продукта полноценные видео-проигрыватели с кучей лишнего кода, которые будут без причины тормозить вашу систему и сжирать драгоценную память.
Проблема с таким подходом начинает вырисовываться тогда, когда вам необходимо решить довольно специфичную задачу, и вы не можете найти уже готовую программу, которая реализует нужную логику.
“Как я запущу Фотошоп на этом вашем Линуксе? Мне же нужно работать, а не заниматься ерундой.”
Поймите меня правильно, такой подход весьма удачно работает, когда речь заходит о профессиональных пакетах: инженерных, творческих, например, AutoCAD, MATLAB, Adobe Photoshop, Blender и многих других. Эти большие и довольно раздутые программные решения позволяют миллионам людей по всему миру осваивать полезные профессии и создавать потрясающие продукты, перенимая лучшие практики и стандартизируя рабочий процесс.
В другой крайности нам пришлось бы осваивать программирование только лишь для того, чтобы каждый раз реализовывать необходимый функционал. А это превратилось бы в безумную трату времени для огромного количества людей, заставляя их погружаться в не профильные для них направления.
Между этими двумя крайностями существует некий промежуточный уровень, который позволяет решать нестандартные задачи, программ для решения которых явным образом не предусматривается. Но тем не менее использовать для этого некие относительно крупные готовые строительные блоки. Мы уже избавлены от необходимости писать программный код, но все еще имеем достаточно гибкую систему удобных утилит, при объединении которых в цепочки можем создавать необходимую нам логику.
Эти строительные блоки являются простыми программами, утилитами, которые сами по себе могут быть довольно бесполезными, но изначально спроектированными для использования в связке с другими. В операционной системе GNU/Linux около сотни таких базовых утилит, доступных из коробки в любом типовом дистрибутиве. Еще тысячи, как правило, находятся в стандартных репозиториях и могут быть установлены при желании одной командой. Многие из этих утилит можно запускать в разных режимах, используя стандартизированную систему флагов. Благодаря этой гибкости мы имеем по-настоящему безграничное поле для экспериментов, где ваши возможности может ограничить только ваша фантазия.
А склейкой для этих утилит является простой текст, который они принимают на стандартный ввод, модифицируют в рамках своей работы и передают дальше следующим утилитам. Получается своего рода конвеер данных. Простой, без проблем читаемый людьми текст и является тем универсальным интерфейсом передачи информации.
Если бы систему Unix создавали сегодня, я полагаю, такой подход просто не одобрили бы. К примеру, ввели бы систему объектов, как это сделано Майкрософтом в PowerShell, либо навязали бы использовать для обмена данными некий сериализованный формат данных, вроде JSON или YAML. Несомненно, использовали бы шифрование, сертификаты для подписывания пакетов данных, протокол был бы бинарным и не читаемым без использования специальных утилит. А работа с файловой системой и с ядром из пространства пользователя напоминала бы работу с базой данных.
Однако, на наше счастье, все эти традиции к переусложнению появились гораздо позже, и отцы-основатели системы Unix этим не слишком грешили. И, конечно, поступили мудро.
“Я вообще Python учу, за ним будущее, а этот ваш баш — это какая-то устаревшая жесть”
Может такие создаваемые на коленке конвеерные цепочки и не будут претендовать на полноценное и долговременное решение, которое будет красиво оформленным и оптимально реализованым, но это все компенсируется простотой использования, возможностью быстро набросать черновой вариант и поиграться с данными одними только стандартными средствами операционной системы. А уже найдя правильный подход, можно и скрипт на Питоне написать, коль будет у вас такое желание.
Особенно бесценным этот опыт будет для инженеров, которые часто вынуждены работать в очень стеснённых условиях, и поэтому им просто необходимо использовать любые возможности для автоматизации и упрощения своей работы.
“Линукс нужно допиливать напильником, чтобы выглядел достойно. Вот мои конфиги.”
Если вы программист, то, как правило, ваш мир ограничен только одним вашим персональным компьютером, куда вы можете устанавливать любые программы для повышения эффективности своей работы. Поэтому на вашей машине наверняка будут установлены десятки дополнительных утилит, а стандартный Bash будет заменен на продвинутый Zsh. Конфигурационные файлы многих программ будут подстроены под себя, и множество “алиасов” под часто запускаемые сценарии создадут тот комфортный язык общения с компьютером, который будете понимать только вы. Вы даже можете использовать какой-либо экзотический графический интерфейс, вроде тайлового менеджера i3, со своими настройками и горячими клавишами.
Доведя этот процесс до предела, ваше виртуальное рабочее место по навороченности и технологичности может напоминать кабину космического аппарата из научно-фантастического фильма.
“И это правильно, я меньше чем с тремя экранами не работаю. И только с механической клавиатурой.”
Однако, что же делать тем специалистам, которые строят и администрируют комплексные системы, состоящие из тысяч серверов? У них просто нет возможности установить на все машины удобные утилиты и подстроить все под себя. Зачастую нет даже возможности физически установить что-либо, так как выход в интернет на продакшен-сервере может быть и вовсе заблокирован. А часть виртуальных машин будут настолько древними или настолько важными, что вы и дышать на них будете бояться, чтобы случайно что-то не сломать.
Приходится довольствоваться тем, что есть под рукой. И тут умение работать в стандартных окружениях, в командной строке, умноженное на огромный потенциал, который заложен в саму операционную систему, будет являтся моментом истины, отличающим хорошего специалиста от посредственного. Вам ничем не помогут знания о новомодных хайповых тенденциях, современных поделках, расширяющих функционал стандартных утилит, и якобы делающие их более удобными. Все эти знания будут полностью бесполезны в реальной работе и будут только отвлекать. Также будут полностью бесполезны знания о графических столах и чем они отличаются друг от друга.
Я еще раз повторяю, интерфейс графического стола или мобильного телефона не хуже и не лучше интерфейса командной строки. Нужно просто понимать сильные и слабые стороны обоих подходов и использовать каждый из них там, где он более уместен.
“А я работаю с Remote Desktop к моей рабочей машине и пишу код. Все шустро работает.”
Представте, что вы работаете из дома, подключаясь к своему офисному компьютеру через зашифрованный VPN-шлюз. Компания решила, что напрямую подключаться к продакшен-системе вы не можете, а можете только из подсети вашего офисного компьютера. Поэтому мы подключаемся к этому компьютеру, чтобы затем уже с него переподключиться к удаленному серверу в интернете. Однако этот сервер — это всего лишь контролирующий сервер, который еще иногда называется Bastion Host, у которого один сетевой интерфейс подключен к всемирной сети, а второй к внутренней защищенной сети, где расположены все самые важные сервера. Поэтому уже через него мы должны переподключиться непосредственно к тому серверу, с которым изначально хотели работать.
Согласитесь, что графический интерфейс просто не сможет адекватно работать в таких условиях. Передавать изображение на такие растояния, через такое количество промежуточных узлов можно, но это будет крайне не удобно. Получаемая картинка не будет обновляться в реальном времени, создавая в лучшем случае постоянные задержки, в худшем — постоянные разрывы соединения. Да и задержка порой такая, что работать просто не возможно.
Однако, даже если между вашим компьютером и конечным сервером пропускная способность сети всего несколько килобайт в секунду, а такое бывает довольно часто, подключаться к виртуальному терминалу по SSH все еще может быть достаточно комфортно. Используя интерфейс командной строки, вы сможете сделать любое изменение, проверить и устранить любую неисправность, протестировать приложение, проверить систему на безопасность, проверить логи системы и многое другое. Все, что от вас требуется, это знать, какие команды запускать и в каком порядке. А система отзывчиво сделает все, о чем вы ее просите, без лишних вопросов. Так, словно вы работаете не на удаленном сервере, расположенном на другой стороне Земли, а на своей домашней станции. Это происходит потому, что передать короткую текстовую команду во много раз проще, чем непрерывный видео поток.
«Все же как-то странно в 21-м веке пялиться в черный экран, графический интерфейс лучше”
К тому же, в отличии от графических интерфейсов, при работе с интерфейсом командной строки информация, с которой вы работаете, всегда однозначна и сконцентрированна. Вы всегда видите текст ровно там, где ожидаете его увидеть, а не размазанную палитру цветов, между которыми где-то должны скрываться разбросанные по всему экрану буквы. Понятно, что, приложив некоторые усилия, можно создавать хорошо продуманные и качественные графические интерфейсы, но до стандартизации там очень далеко. Каждая программа часто стремится предоставлять свой неповторимый пользовательский опыт, который и выделяет ее среди конкурентов. Но согласовываться эти визуальные компоненты в общей гамме приложений, запущенных у вас на компьютере, совсем не обязаны.
Можно сколько угодно кричать о старомодности, об устаревании и о том, что работа в консоли не удобна, но факт остается в том, что в мире IT работа в терминале является главным и часто единственным возможным способом работы со сложными информационными системами.
И, конечно, никто не запрещает вам работать с интерфейсом командной строки и при этом использовать тот же самый графический интерфейс, открывая в множестве вкладок виртуального терминала необходимые сессии, и в то же время держать отрытыми в браузере десятки страниц с нужной документацией.
“Мне достаточно Windows. Много лет с ним работаю и меня все устраивает. А для игр у меня PlayStation”
Понятно, что если вы используете компьютер для развлечений, то, скорее всего, вы используете операционную систему, вроде Microsoft Windows или MacOS, и вполне довольны этим. Если ваша профессия просто не оставляет иного выбора, вы будете использовать то программное обеспечение, что используют ваши коллеги и никаких проблем при этом не испытывать.
Однако, давайте посмотрим на это шире. Что, если вы используете свой компьютер для задач, для которых не существует единого и общепринятого инструментария? Представьте себе сотни серверов, разбросанных по разным точкам земного шара, десятки сложных систем, вроде Kubernetes, реляционных и документо-ориентированных баз данных, брокеров сообщений, различной вспомогательной инфраструктуры. В сложных микросервисных архитектурах, состоящих из сотен взаимодействующих друг с другом сервисов, ежедневно приходится иметь дело с множеством абстракций и условностей, которые и запомнить-то не просто, не то, что с ними работать. Программисты, системные администраторы, DevOps инженеры, специалисты по сетевой безопасности, аналитики данных — все эти профессии требуют разных инструментов, разных навыков и подходов. Да и среди одних и тех же программистов есть те, кто разрабатывают прикладное программное обеспечение, другие разрабатывают сайты или мобильные приложения. Есть те, кто больше специализируется на фронтенде или на бекенде. Но не нужно забывать и о тех, кто работает близко к железу и пишет драйвера устройств или разрабатывает встроенные системы. И это только некоторые из возможных направлений.
Вы просто не напишете графических приложений для всего многообразия задач, которые возникают ежедневно перед людьми, создающими и эксплуатирующими такие системы. Напротив, эти потребности часто естественным образом покрываются взаимодействием простых утилит, которые входят в базовую сборку любого дистрибутива GNU/Linux.
Да, возможно, не так красиво, не так презентативно, но, с точки зрения инженера, командная строка полностью покрывает потребности и позволяет не отвлекаться и сосредоточиться непосредственно на самой задаче.
Поэтому сама постановка вопроса “что лучше” лишена смысла. Для решения тех задач, которые ставит перед нами профессия в ранее перечисленных специальностях, командная строка — это лучший возможный интерфейс, который за счет своей простоты может использоваться в любых приложениях даже для решения тех задач, для которых не создавался.
“Да кто вообще использует эту операционную систему. Мак лучше”
Обыватели склонны преувеличивать значение операционных систем от Майкрософт и Apple, считая их за некий общемировой стандарт, поскольку в ежедневной деятельности у них нет возможности убедиться в том, что может быть как-то иначе. Да, сегодня операционные системы на базе ядра Linux не могут занять достойное место в ряду десктопных систем, хотя фактически ничем им не уступают. Однако, давайте будем честны и не забудем упомянуть, что по какой-то причине те же корпорации полностью проиграли на рынке серверных решений. И сегодня операционная система GNU/Linux и отчасти системы семейства BSD полностью доминируют в этом сегменте.
Они используются сегодня не только в классических серверах, расположенных в датацентрах по всему миру, но и в мобильных телефонах, маршрутизатах, суперкомпьютерах, всевозможной бытовой технике, автомобилях, видеокамерах и многих других приложениях. И я не удивлюсь, если даже в космических аппаратах и лунных модулях, там, где нет особых требований к железу, все работает примерно так же, как у вас на домашнем компьютере.
Все те социальные сети и мессенджеры, а также многочисленные интернет-ресурсы, без которых мы не мыслим нашу жизнь сегодня, с подавляющей долей вероятности используют Unix-подобные операционные системы для своего функционирования. И во всех этих и многих других приложениях ваши знания будут актуальны и не устареют ещё очень долгое время.
“Стойте, а как же .Net? Это же очень популярная технология”
И да, я знаю, что .Net и некоторые другие решения активно используются на бекенде многих уважаемых компаний. Однако, это скорее отклонение от нормы, и мировые тенденции скорее говорят об обратном. Доминирование таких платформ, как Java, они пошатнуть не в состоянии, а та же Java прекрасно себя чувствует на серверах с GNU/Linux и OpenJDK на борту. Даже если сами разработчики используют в своей работе систему от Майкрософт и Linux в глаза не видели.
Не имеет значения, какой фреймворк и какой язык программирования современнее, быстрее или удачнее с точки зрения архитектурных решений, если большие корпорации все равно отдают предочтение Java по бизнес причинам.
Сам факт существования таких систем, как Mono, делающей разработку на .Net кросплатформенной и WSL, позволяющей использовать Linux внутри Windows, говорят о том, как шатко сегодня положение Windows в этом сегменте рынка.
“Я вообще писатель и зачем мне может потребоваться погружаться во все это?”
Даже если вы не инженер и непосредственно с вашей деятельностью это перекликается слабо, у операционной системы GNU/Linux в запасе много интересных и полезных инструментов, которые имеют не только специфичное “айтишное” применение, но и являются частью всемирного наследия. К таковым, например, можно отнести систему контроля версий Git и систему компьютерной верстки текста TeX.
Я еще раз хочу подчеркнуть, что нет необходимости воспринимать так называемую философию Unix как истину в последней инстанции. Это всего лишь абстракция, идея, которая в некоторых случаях может быть удобна, в других не достаточна. Однако тот факт, что она вот уже столько лет активно используется и за это время никаких реальных альтернатив придумано не было, заставляет признать, что испытание временем она выдержала и никуда уходить не собирается.
“Линукс полностью устарел, и все нужно переписывать. Там вообще весь код из семидесятых, максимум девяностых.”
Однако, среди всего многообразия мнений переодически встречается и такое, что весь этот подход устарел и его необходимо полностью пересмотреть. Все эти утилиты операционной системы, вроде текстового редактора vim, командной оболочки bash, системы инициализации systemd и многих других (нужное подчеркнуть) используются только потому, что все еще по старинке предустановлены в большинстве дистрибутивов и только поэтому все еще популярны. Если бы не этот сдерживающий прогресс фактор, не оставляющий шансов молодому поколению в их стремлении “сделать мир лучше”, мы бы уже давно пользовались удобными инструментами, а не были бы заложниками этого исторического хлама.
К сожалению, такой подход часто можно встретить в различных обсуждениях, а значит подобное убеждение плотно засело в головах у множества людей. Нет ничего проще, чем выдрать из исторического контекста некоторое утверждение и возвести его в абсолют. Что же, позвольте продолжить такую линию рассуждений и поговорить о том, что и само ядро Linux полностью устарело хотя бы потому, что является монолитным. Давайте перепишем и его и перейдем на более “прогрессивную” микроядерную архитектуру, как это сделано, например, в операционной системе Minix.
Не забудем также, что и архитектура процессоров, которые мы сегодня используем, полностью устарела, так как тянет за собой десятилетия обратной совместимости с уже не существующими технологиями. Давайте срочно создавать новую архитектуру, которая будет лишена всего этого наследия, и использовать исключительно ее. Затем подготовим под эту технологическую базу миллионы специалистов, чтобы быть способными внедрить ее на всех производствах и серверных мощностях по всему миру. Да и заводы не забудем полностью перестроить под новый технологический процесс, так как нам понадобится в кратчайший срок заменить весь мировой серверный парк.
На все это потребуется в лучшем случае сотни миллиардов долларов и годы усилий на международном уровне. Но что это по сравнению с мнением некоторых экспертов, правда?
Конечно, необходимо разрабатывать новые операционные системы, языки программирования, инструменты и библиотеки. Прогресс ни в коем случае не стоит останавливать. Новые и прогрессивные тенденции, сколь слабыми они ни были бы в момент своего появления, имеют все шансы окрепнуть и заменить собой устаревшие подходы и практики. Однако, было бы очень странным ожидать, что то, что используется сейчас, полностью исчезнет из истории без всякого следа. Скорее всего, элементы идей и программного кода, который мы используем сегодня, останутся для будущих поколений множественными рудиментами и анахронизмами, с которыми они будут вынуждены сосуществовать. В том числе с теми технологиями, которые мы на данном этапе считаем передовыми и наиболее удачными, но которые, несомненно, станут устаревшими в новых исторических реалиях.
Поэтому, пока кто-то ждёт и страдает, мы будем изучать и использовать то, что есть и понимать, что за всеми этими технологиями стоят десятилетия тяжелого эволюционного процесса, состоящего из труда и усилий миллионов людей. Среди них есть как хорошие, так и плохие специалисты, принимающие хорошие и плохие решения. Эти люди могут работать в стеснённых условиях согласно общему корпоративному плану, над которым не властны, или вольных художников, работающих в свое свободное время над тем, что им действительно интересно.
Поэтому давайте не забывать о принципе историзма и строить наши карьеры и жизни, исходя из этого понимания. А также не забывать о том, что мы, если и можем чего-то добиться, то это только потому, что, вне всякого сомнения, стоим на плечах гигантов.
А на сегодня это все.
Командная строка. Linux Mint и его Cinnamon. Очерки применителя
Командная строка
Основой командного интерфейса является командная строка, начинающаяся с приглашения для ввода. Далее он будет обозначаться милым сердцу россиянина символом длинного зеленого друга — $, если речь идёт о сеансе обычного пользователя, или символом решётки — #, для приглашения строки в сеансе администратора. Это — чистая условность: вид приглашения может быть настроен в широких пределах, причём по разному в разных оболочках. Об этом мы поговорим, когда речь дойдёт до описания конкретного шелла — Zsh.
Командная строка — визуальное представление среды, в которой задаются основные элементы командного интерфейса: командные директивы с их аргументами и опциями.
Командная директива (или просто команда) — основная единица, посредством которой пользователь взаимодействует с шеллом. Она образуется по определенным правилам, именуемым синтаксисом. Синтаксис командной директивы определяется, в первую очередь, языком, принятым в данной командной оболочке. Кроме того, некоторые команды (не очень многочисленные, но весьма употребимые) имеют собственный, нестандартный синтаксис.
Однако в целом базовые правила построения команд имеют много общего. И именно эти базовые правила станут предметом данного раздела. Синтаксические особенности отдельных нестандартных команд будут оговариваться по ходу изложения.
Итак, командная директива образуется:
• именем команды, однозначно определяющим ее назначение,
• опциями, определяющими условия выполнения команды, и
• аргументами — объектами, над которым осуществляются действия.
Очевидно, что имя команды является обязательным компонентом, тогда как опции и аргументы могут и отсутствовать (или подразумеваться в неявном виде по умолчанию).
ещё один непременный компонент командной директивы — это специальный невидимый символ конца строки: именно его ввод отправляет команду на исполнение. В обыденной жизни этот символ вводится нажатием и отпусканием клавиши Enter. Почему обычно и говорят: для исполнения команды нажмите клавишу Enter. Тот же эффект, как правило, достигается комбинацией клавиш Control+M. Символа конца командной строки, знаменующего исполнение команды, мы на экране не видим. Однако важно, что это — такой же символ, как и любой другой (хотя и имеющий специальное значение).
В подавляющем большинстве случаев опции (или их последовательности) задаются непосредственно за именем команды, а аргумент (или группа аргументов) команду завершает, хотя это правило имеет некоторые исключения. Вне зависимости от порядка опций и аргументов, принятых для данной команды, интерпретация их осуществляется слева направо.
Команды, опции и аргументы обязательно разделяются между собой пробелами. Кроме того, опции обычно предваряются (без пробела) символом дефиса или двойного дефиса. Впрочем, немногочисленные (но весьма употребимые) команды могут использоваться с опциями без всяких предваряющих символов.
Как уже говорилось, имя команды определяет выполняемые ею функции. Существуют команды, встроенные в оболочку, то есть не имеющие запускающих их исполняемых файлов, и команды внешние. В последнем случае имя команды однозначно указывает на имя исполняемого файла программы, выполняемой при отдаче соответствующей директивы. Часто встроенные и внешние команды одного назначения имеют одинаковые имена. В этом случае обычно предпочтительно использование встроенных команд — впрочем, они и вызываются в первую очередь. Для вызова одноимённой внешней команды её нужно задать с указанием пути. Так, директива
$ time search for Mint in path3/
вызовет для определения времени выполнения команды search (о ней будет рассказываться в следующем очерке) встроенную команду time. А в форме
$ /usr/bin/time search for Mint in path3/
будет задействована внешняя утилита с тем же именем. Кстати, это один из тех случаев, когда второй вариант может иногда оказаться предпочтительней: встроенная и внешняя команды имеют разные форматы вывода, причём в первой он зависит от используемой командной оболочки. И потому она не всегда подходит для прямого сравнения результатов — например, быстродействия в разных системах.
Определить, является ли данная команда встроенной в оболочку или внешней, можно с помощью встроенных команд type или which. Для встроенных команд вывод их будет таким:
$ type which
which is a shell builtin
$ which type
type: shell built-in command
Или, в некоторых случаях, таким:
$ which time
time: shell reserved word
$ type time
time is a reserved word
Для внешних команд любой из этих вариантов даст в выводе путь к исполняемому файлу:
$ which date
/bin/date
$ type date
/bin/date
Некоторые команды могут выступать под несколькими именами. Это связано с тем, что исторически в различных Unix-системах команды, исполнявшие одинаковые функции, могли получать разные названия. В каждой конкретной системе обычно используется только одна из таких команд-дублеров. Но при этом имена дублирующих команд также могут присутствовать в системе — для совместимости. Не следует думать, что это две различные программы одного назначения: как правило, такая синонимичность команд реализуется посредством механизма ссылок (links) или псевдонимов (alias), о которых речь пойдёт позднее.
Иногда команда, вызванная через имя своего синонима, может отличаться по своей функциональности от самой же себя, вызванной под родным именем. В этом случае говорят о эмуляции одной команды другой. Типичный пример — командная оболочка /bin/bash в большинстве дистрибутивов Linux имеет своего дублера — /bin/sh; вызванная таким образом, она воспроизводит базовую функциональность стандарта POSIX-шелла.
Параметры командной строки
Вы можете изменять многие настройки приложения Logisim через параметры командной строки. Это может быть особенно полезным в лаборатории с одним компьютером на учащегося, где вы хотите запускать Logisim каждый раз одинаково, вне зависимости от того, как предыдущие студенты могли настроить программу.
Общий синтаксис командной строки выглядит следующим образом.
java -jar имяJarФайла [параметры] [именаФайлов]
Необязательные дополнительные файлы, указанные в командной строке, будут открыты как отдельные окна в Logisim.
Следующий пример запускает Logisim в его базовой конфигурации.
java -jar имяJarФайла-plain -gates shaped -locale en
Поддерживаемые параметры следующие.
- -plain
- -empty
- -template файлШаблона
Задаёт шаблон для использования в Logisim
- -gates [shaped|rectangular]
Задаёт какой использовать тип логических элементов.
- -locale идентификаторЯзыка
Задаёт какой перевод использовать. На момент написания поддерживаются следующие языки:
de Немецкий en Английский es Испанский ru Русский el Греческий - -accents [yes|no]
Это имеет смысл только для языков, которые используют символы вне 7-битного набора символов ASCII; сюда относятся языки, использующие специфичные символы; английский сюда не входит. При no символы вне 7-битного набора символов ASCII заменяются эквивалентами соответственно языку; это будет полезно для комбинаций Java/ОС, где такие символы не поддерживаются хорошо.
- -clearprops
Очистить все настройки приложения при запуске, так что Logisim будет вести себя так, как будто он запущен в данной системе первый раз.
- -nosplash
Скрывает стартовое окно заставки Logisim.
- -help
Отображает список параметров командной строки.
- -version
Отображает номер версии Logisim.
Далее: Руководство пользователя.
Что такое командная строка (CMD)?
Командная строка – это интерфейс взаимодействия пользователя с компьютером, в котором команды отдаются путем ввода текстовых строк при помощи клавиатуры. История появления командной строки восходит к временам компьютерных терминалов, которые вовсе не имели дисплеев, вывод информации производился на печатную ленту. Позже, с появлением мониторов, командная строка
В современных компьютерных устройствах с графическим интерфейсом командная строка выглядит анахронизмом. Ее использование, на первый взгляд, кажется неоправданно сложным и устаревшим, особенно пользователям, которые начали знакомство с компьютерами с графического режима. Тем не менее, есть целый ряд случаев, когда работа с командной строкой является желательной и даже необходимой:Работа с программами, которые не имеют графического интерфейса;
- Работа с удаленными устройствами при минимальных затратах трафика;
- Работа с большими объемами информации, когда отсутствие элементов графического интерфейса позволяет вместить больше данных на странице;
- Работа одновременно с несколькими файлами, в которых необходимо с высокой скоростью выполнять различные команды.
- Запуск команд восстановления операционной системы.
При работе с командной строкой сам термин командная строка обозначает также и закрывающую угловую скобку (>, иначе: символ больше). Это указывает на то, что интерфейс командной строки может принимать команды. Другая важная информация, например текущий рабочий каталог (или расположение), где будет выполняться данная команда, может быть также указана в командной строке. Например, если при открытии окна командной строки в этой строке отображается текст «C:\>» и мигающий курсор справа от закрывающей угловой скобки (>), это означает, что введенная команда будет выполняться на всем диске С данного компьютера Запуск Командной строки.
В чем отличие командной строки Windows XP и Windows 7?
Командная строка Windows 7 по сравнению с Windows XP не претерпела существенных изменений. Можно сказать, что разработчики пошли путем развития и усовершенствования своего программного продукта. Большинство команд перешли в новую версию операционной системы без изменений, часть из них изменили свое название и синтаксис. Для примера, рассмотрим команду, которая в Windows XP называется «cacls». Она помогает изменять списки управления доступом к файлам и каталогам. В Windows 7 на замену этой команде пришел оператор «icacls». Принцип работы, по сравнению с предыдущей версией, во многом не изменился. Она выполняет практически те же самые действия, за исключением некоторых параметров. Для того, чтобы узнать полные возможности этой команды и список доступных параметров, введите в командной строке «icacls /?».
Как вызвать командную строку?
Командная строка в операционных системах Windows XP и Windows 7 вызывается одинаково. Для этого существует несколько способов:
- Все, что нужно сделать, зайти в меню Пуск –> Выполнить. Перед вами откроется небольшое окно, в котором нужно ввести команду «cmd» и нажать клавишу Enter. В Windows 7 команду «cmd» необходимо вводить в строке поиска в меню Пуск. После этого на экране появится окно командной строки.
- Для вызова командной строки в операционных системах семейства Windows предусмотрен специальный ярлык. Находится он по адресу Пуск –> Программы –> Стандартные –> Командная строка.
- Кроме этого, в операционных системах Windows для вызова командной строки существует специальное сочетание горячих клавиш. Нажмите Win+R – после чего откроется окно в котором необходимо набрать «cmd» и нажать «ОК», после чего будет выполнен вход в командную строку.
Еще один способ возможен в том случае, если вы пользуетесь каким-либо файловым менеджером, например, Total Commander. Такие программы имеют текстовую строку для запуска файлов. Если в ней ввести команду «cmd», то она осуществит запуск командной строки.
Таким образом, на вопрос «Как же открыть командную строку? » можно ответить четырьмя различными способами. Вам только нужно выбрать тот вариант, который кажется наиболее приемлемым.
Восстановление системы через командную строку.
Для того, чтобы запустить восстановление системы из командной строки, необходимо войти в Windows в безопасном режиме с поддержкой командной строки. Для этого, во время загрузки операционной системы, до появления логотипа Windows, нужно нажать клавишу F8. По нажатию этой клавиши появляется меню выбора варианта загрузки. После этого необходимо войти в систему с учетной записи Администратора и открыть командную строку. Вводим команду rstrui.exe и нажимаем клавишу Enter. Важно отметить, что запустив восстановление системы из безопасного режима, отменить его, то есть вернуться к первоначальному состоянию Windows, будет уже невозможно. Тем не менее, у пользователя остается возможность запустить восстановление системы еще раз и выбрать иную точку восстановления.
Командная строка программы
Строка текста, которую получает система при запуске любой программы, называется командной. Она содержит путь к приложению и перечень его параметров. Чтобы запустить приложение в операционной системе Windows, можно либо открыть диалоговое окно «Пуск -> Выполнить», либо щелкнуть левой кнопкой мышки по ярлыку программы. Если вы предпочитаете второй способ, командную строку программы можно отредактировать в специальном диалоговом окне. Щелкните правой кнопкой мышки по ярлыку и укажите пункт меню «Свойства».
Что касается нашей программы, командная строка для ее запуска выглядит так:
«C:\Program Files\The Bat!\TheBat.EXE»
Чтобы в момент запуска программа выполняла определенный действия, в эту строку следует добавить соответствующие параметры. Например, если ярлык находится в папке «Автозагрузка» и The Bat! стартует при каждом запуске операционной системы, желательно отключить его заставку. Для этих целей служит параметр /NOLOGO:
«C:\Program Files\The Bat!\TheBat.EXE» /NOLOGO
В программе реализован богатый набор параметров командной строки (мы называем их командами), которые позволяют выполнять определенные действия автоматически. Таким образом, The Bat! можно запускать из командных файлов или других программ, а это значит, что вы сможете отправлять и получать почту автоматически, не вникая в детали данного процесса. Кроме того, прибегнув к помощи любого внешнего планировщика, можно осуществлять эти действия регулярно (к примеру, проверить почтовый ящик и завершить работу программы).
The Bat! не позволяет запустить две свои копии одновременно. Вместо этого, при запуске второй копии, программа обработает и выполнит все ее параметры.
Полезный совет для всех программистов:
Наша программа периодически проверяет наличие в своем каталоге файла THEBAT.IPC. Это обычный текстовый файл, в котором каждая строка, это команда, которую в состоянии выполнить The Bat!. Таким образом, вы можете записать в файл любую последовательность действий, сформировав некое подобие сценария. Учтите, что после выполнения всех этих команд, THEBAT.IPC будет удален с диска.
Чтобы проверить, запущена ли наша программа на компьютере пользователя, необходимо отыскать в памяти активный процесс «thebat.exe». Если такой процесс не найден, программу следует запустить самостоятельно.
Командная строка – инструмент управления информационной системой
Командная строка — удобный и быстрый инструмент управления операционной системой компьютера, мало знакомый большинству непрофессионалов. В прошлом Командная строка была единственным способом общения компьютера и человека, но и с появлением визуальных, а позже — графических интерфейсов, Командная строка сохраняет свои позиции, позволяя при необходимости профессионалам выполнять нужные действия быстро и эффективно.
Как же вызвать Командную строку? В операционных системах последних поколений она скрыта достаточно далеко от глаз пользователя. Однако для настройки Windows ХХ и выполнения ряда действий в этой операционной системе Командная строка просто необходима.
Наиболее простой способ запустить Командную строку — воспользоваться главным меню Windows ХХ: Пуск => Программы => Стандартные => Командная строка. Перед вами знакомое окно MSDOS. Можно вводить команды и видеть результаты их выполнения.
Рисунок 1. Запись команд MS DOS в Командной строке
Другой способ, позволяющий получить тот же результат, — воспользоваться пунктом «Выполнить» того же меню и ввести cmd или при помощи горячей клавиши Win+R, не утруждая себя перелистыванием вложенных меню.
Рисунок 2. Окно команды «Выполнть»
Доступно выполнение команд MS-DOS и других компьютерных команд. Чтобы просмотреть список часто используемых команд, в Командной строке введите help и нажмите клавишу ВВОД.
Перед вами откроется список команд, которые Вы можете использовать при работе с Командной строкой.
Рисунок 3. Список команд Командной строки
Как видите, он довольно значительный. Чтобы отобразить дополнительные сведения о каждой из этих команд, введите «help имя_команды», где имя_команды – это имя команды из списка help, о которой нужно получить дополнительные сведения.
Рассмотрим примеры использования Командной строки:
-
Проверим работу компьютера, находящегося в сети. При анализе работоспособности сетевой карты персонального компьютера ошибок не выявлено. Введем команду ping в Командной строке и далее Enter.
С помощью утилиты Ping можно проверить соединение компьютера с веб-сервером (например, с поисковым сервером) — программа определяет задержку во времени между отправкой запроса на сервер и получением ответа. Чем меньше полученное значение, тем меньше времени потребуется, чтобы открыть веб-страницу или загрузить файл. Рассмотрим правила записи команды. Введем в Командную строку наименование утилиты и нажмем Enter
Рисунок 4. Список команд утилиты Ping
Запишем запрос на определение соединения компьютера с любым узлом сети Интернет, например Yahoo.com
Рисунок 5. Формат записи команды утилиты Ping
В результате получаем сообщение об удачной работе вашего персонального компьютера в сети с пакетами данных (потеряно=0).
Рисунок 6. Результаты выполнения команды Ping
-
Используя Командную строку, можно узнать IP и MAC адрес любого компьютера в сети (ipconfig /all).
-
Зная команды MS DOS, можно успешно «добраться» до инфицированного файла и удалить его, а можно «спрятать» (сделать невидимой для других пользователей компьютера) информацию на своем компьютере.
(по материалам «Компьютерного ликбеза»)
Материал подготовила методист Шутилина Л.А.
Что мне говорит моя командная строка Linux?
Если вы новичок в Linux, скорее всего, первое, что вы заметите, — это термин «командная строка». Вам, вероятно, интересно, что такое командная строка, что это за разные символы и что они означают. Не волнуйтесь, вы не одиноки. В этой статье я поясню для вас терминологию и символы.
Что такое командная строка?
Теперь вы знаете, что такое эмулятор терминала и что такое оболочка, из моей предыдущей статьи «Как открыть окно терминала Linux».Возможно, вам понадобится быстрое освежение данных двух терминов. Проще говоря, командная строка — это поле ввода в эмуляторе терминала (CLI), которое позволяет вводить / выдавать команды. Командная строка предоставляет пользователю некоторую полезную информацию.
Ваша командная строка будет отличаться от моей. Посмотрите на мою командную строку на скриншоте выше. Моя подсказка, «[kc @ localhost ~] $» — это текстовое поле, которое предоставляет некоторую информацию о системе Linux. Вы увидите «мигающий курсор», за которым следует приглашение, ожидающее ваших команд.Далее я разобью это приглашение на более мелкие части, чтобы вы могли понять, что они означают.
Текст между «[]»
Текст «kc» (Мои инициалы) — это имя пользователя, вошедшего в систему в данный момент.
Символ «@» является разделителем между именем пользователя и именем хоста. Обозначение «localhost» — это имя моей системы Linux (имя хоста) и значение по умолчанию для любой вновь установленной системы, если вы не укажете имя хоста во время установки. Вы можете изменить свое имя хоста с помощью команды hostnamectl.
[Проверьте: 7 способов задать имя хоста в Fedora, CentOS или Red Hat Enterprise Linux]
Символ «~» представляет собой домашний каталог текущего пользователя, вошедшего в систему. Эта часть командной строки просто отображает ваш текущий рабочий каталог. Мое приглашение на изображении выше показывает «~», что означает, что в настоящее время я работаю в моем домашнем каталоге, который находится в «/ home / kc». Если вы перейдете в другой каталог, именно здесь вы найдете место, где вы сейчас работаете, это очень полезная информация, поэтому вы не заблудитесь в файловой системе.
Если я cd
в каталог / etc, приглашение будет выглядеть так: [kc @ localhost etc] $. Однако, если я cd
в каталог / etc / sysconfig, мое приглашение отображается как: [kc @ localhost sysconfig] $. В приглашении отображается не полный путь, а только текущий рабочий каталог.
Значок $ означает, что я вошел в систему как обычный пользователь. Символ $ используется по умолчанию для обычных пользователей.
Если вы вошли в систему как пользователь root, полное приглашение изменится на [root @ localhost ~] #.Символ # — это быстрое обозначение учетной записи root.
Общий формат командной строки по умолчанию: [имя пользователя @ имя хоста cwd] $ или # .
Теперь, когда я рассмотрел основы командной строки и значения различных частей, я покажу вам, как вы можете настроить свое приглашение.
Командная строка задается переменной среды «PS1», вы можете увидеть, что установлено в вашей текущей переменной «PS1», введя эту команду:
[kc @ localhost ~] $ echo $ PS1
Символ «$» перед именем переменной PS1 отличается от символа «$» в конце приглашения.Переменные оболочки обозначаются $ VARNAME. Символ $ перед именем переменной интерпретируется системой как переменная. Например, вы можете установить свои собственные переменные и вызвать их из оболочки:
[kc @ localhost ~] $ a = 1
[kc @ localhost ~] $ echo $ a
1
[kc @ localhost ~]
долл. США
Чтобы просмотреть определение командной строки, используйте команду:
[kc @ localhost ~] $ echo $ PS1
[\ u @ \ h \ W] \ $
[kc @ localhost ~]
долл. США
Части [\ u \ h \ W] \ $] имеют особое значение. \ u
возвращает имя текущего пользователя, \ h
возвращает имя хоста, \ W
возвращает рабочий каталог, а \ $ — это приглашение пользователя $, то есть #, для пользователя root.
[Подробнее: советы и рекомендации по использованию переменных среды Linux]
Изменение подсказки
Вы можете изменить свое приглашение на другое, изменив значение переменной «$ PS1».
Чтобы сделать это изменение вашего приглашения постоянным, добавьте модификацию в .bashrc
в вашем домашнем каталоге.
Заключение
В этом кратком обзоре я показал вам, как интерпретировать вашу командную строку и как ее изменить. Командная строка по умолчанию предоставляет очень важную информацию о вашей среде, но она не идеальна. Настройте его в соответствии с вашим личным рабочим процессом и потребностями в более удобной работе с командной строкой.
Хотите попробовать Red Hat Enterprise Linux? Скачайте сейчас бесплатно.
11 причин выучить Bash (А.К.А. Командная строка)
Bash — язык командной строки для операционных систем на базе Unix — позволяет вам управлять своим компьютером как разработчик. Но это не только навык для разработчиков программного обеспечения — изучение bash может быть полезным для любого , кто работает с данными.
Что такое Bash?
Короче говоря, Bash — это интерфейс командной строки (CLI) Unix. Вы также увидите, что это называется терминалом, командной строкой или оболочкой. Это командный язык, который позволяет нам работать с файлами на наших компьютерах гораздо более эффективным и мощным способом, чем использование графического интерфейса пользователя (GUI).
Переход с графического интерфейса пользователя (GUI) на интерфейс командной строки может показаться сложной задачей. И хотя Dataquest упрощает изучение командной строки, вы можете спросить: а зачем мне вообще беспокоиться?
Вот несколько причин, по которым вам следует изучать bash и использовать командную строку:
1. Навыки Bash популярны и хорошо оплачиваются
Согласно опросу разработчиков Stack Overflow 2020 года, bash / shell (т.е. семейство Linux интерпретаторы командного языка) является шестым по популярности языком в целом, опережая Python и R.Согласно опросу, это также было связано с более высокими зарплатами, чем Python или R.
Он также занял первое место в списке самых популярных технологий (53,7%) и ниже в списке технологий, вызывающих наибольшую опасность (46%).
И хотя опрос StackOverflow охватывает разработчиков программного обеспечения и инженеров всех мастей, командная строка имеет особое значение для специалистов по данным, потому что Bash / Shell сильно коррелирует с технологиями Data Science, такими как Python, IPython / Jupyter, TensorFlow и PyTorch.Это также подтверждается последним опросом разработчиков Python, проведенным Python Software Foundation.
2. Навыки командной строки, помогающие в построении повторяемых процессов обработки данных
Часть роли специалиста по обработке данных — следить за тем, чтобы определенная информация была доступна регулярно, часто ежедневно. В большинстве случаев эти данные собираются, обрабатываются и отображаются одинаково.
Командная строка хорошо подходит для этой цели, поскольку команды легко автоматизируются и копируются.
Рассмотрим следующую ситуацию:
Ваш работодатель решает инвестировать в аналитику данных. К команде присоединятся несколько профессионалов в области данных. Перед вами стоит задача убедиться, что на их машинах есть все необходимое для начала работы.
Если вы умеете работать с CLI (интерпретатором командного языка), вы можете написать несколько сценариев, которые будут устанавливать, настраивать и тестировать все автоматически.
Если вы не можете этого сделать, вам придется прибегнуть к графическому интерфейсу и многократно повторять одни и те же движения мыши и щелчка на нескольких машинах.
Это всего лишь один из примеров того, как навыки терминала могут помочь сделать процессы обработки данных более масштабируемыми и повторяемыми.
3. Обучение Bash делает вас более гибкими
В роли науки о данных вы часто обнаружите, что у вас больше гибкости, если вы можете использовать терминал, а не полагаться на щелчки через графический интерфейс.
Поскольку командная строка — это программа, которая запускает другие программы (отсюда и название «оболочка»), взаимодействие между программами часто легче настроить в командной строке.
После того, как вы освоили команды bash, писать сценарии относительно легко, а сценарии оболочки значительно упрощают создание всевозможных конвейеров данных и рабочих процессов.
В более широком смысле, знание того, как использовать оболочку, дает вам второй вариант взаимодействия с вашим компьютером.
Вы всегда можете использовать графический интерфейс, когда захотите, но командная строка может предоставить вам больше прямых возможностей и контроля в те моменты, когда вам это нужно.
4. Работать с текстовыми файлами проще
Текстовые файлы — один из наиболее распространенных способов хранения и обработки данных.Практически любой проект по науке о данных предполагает работу с текстовыми файлами. Таким образом, способность обрабатывать текстовые файлы быстро и эффективно — очень полезный навык для специалиста по данным.
Оболочка имеет очень мощные инструменты обработки текста, такие как AWK и sed, которые помогают знакомиться с файлами и облегчают очистку данных.
Например, в приведенном ниже коде AWK используется для печати первого и третьего столбцов файла с именем a_csv_file
, где значение второго поля — Dataquest
, с использованием запятой в качестве разделителя полей.
awk 'BEGIN {FS = ","} {if ($ 2 == "Dataquest") {print $ 1 $ 3}} a_csv_file'
Достаточно одной строки кода!
5. Это менее ресурсоемко
Когда вы работаете с ограниченными вычислительными ресурсами или просто хотите максимизировать скорость, использование командной строки практически всегда будет лучше, чем использование графического интерфейса, поскольку использование графического интерфейса означает ресурсы должен быть посвящен рендерингу графического вывода.
Это верно как для локальной, так и для удаленной работы.При удаленном подключении графические интерфейсы потребляют гораздо больше полосы пропускания, чем терминалы, тратя ресурсы впустую.
Более того, задержка, то есть «временной интервал между стимуляцией и ответом», будет выше при использовании графического интерфейса пользователя, что может быть особенно неприятно, если вы пытаетесь управлять мышью, которая на секунду или две отстает от ваших фактических движений.
Если вы просто набираете в командной строке, задержка, вероятно, будет меньше, и с ней также будет легче справиться, поскольку вы точно знаете, где находится ваш курсор в любой момент времени.
6. Вам необходимы навыки работы с командной строкой для облака
Облачные сервисы часто подключаются и управляются через интерфейс командной строки.
Это особенно важно для более сложных задач в области науки о данных, таких как глубокое обучение, когда ваших локальных вычислительных ресурсов может оказаться недостаточно для задач, которые вы хотите выполнять. Цитата из статьи Nucleus Research за 2018 год:
Согласно прошлогоднему исследованию, менее 10 процентов проектов [глубокого обучения] выполнялись локально.Эта тенденция усилилась, и в 2018 году только 4 процента проектов выполнялись локально.
Согласно той же статье, «96 процентов глубокого обучения сегодня выполняется в облаке».
Если вы заинтересованы в изучении передовых методов, таких как глубокое обучение, навыки командной строки потребуются для эффективного перемещения ваших данных в облако и из него.
7. Навыки оболочки Unix хорошо переносятся на другие оболочки
Существует всего несколько популярных оболочек (bash, zsh, fish, ksh, tcsh, cmd, Windows PowerShell и т. Д.)), и они больше похожи, чем различны, что позволяет легко переключаться между ними.
Например, команды bash, которые вы изучаете в наших курсах командной строки, будут работать на компьютерах с ОС Unix, таких как компьютеры Mac и Linux. Но многие из тех же команд также работают в Windows в командной строке и / или Windows PowerShell.
Эта перекрестная совместимость особенно полезна, когда вы используете онлайн-сервисы, для которых требуется какой-то интерфейс командной строки. Даже если их система не использует bash, она будет использовать что-то достаточно похожее, чтобы вы могли это понять.
GUI, с другой стороны, существуют в бесконечном количестве, и изучение одного не обязательно поможет вам изучить другие.
8. Вероятно, вы можете печатать быстрее, чем нажимаете
Исследования показывают, что мышь использует плато довольно быстро, в то время как использование клавиатуры, несмотря на крутую кривую обучения, может быть более эффективным.
251 опытному пользователю Microsoft Word был разослан анкетный опрос, в котором оценили их выбор методов для наиболее часто встречающихся команд. Вопреки нашим ожиданиям, наиболее опытные пользователи редко использовали эффективные сочетания клавиш, отдавая предпочтение панелям инструментов со значками.
Было проведено второе исследование, чтобы убедиться, что сочетания клавиш действительно являются наиболее эффективным методом. Шесть участников выполняли общие команды, используя меню, панели инструментов со значками и сочетания клавиш. Сочетания клавиш, как и ожидалось, оказались наиболее эффективными.
Другими словами: даже если вы чувствуете, что быстро работаете через графический интерфейс, есть большая вероятность, что по крайней мере для некоторых задач вы будете более эффективны в командной строке.
9. Аудит и отладка стали проще
Так как отслеживать все ваши действия в командной строке очень просто, аудит и отладка намного проще.
Вы можете легко просмотреть журнал, чтобы отслеживать каждое действие, которое вы предприняли в оболочке, тогда как, если неправильный щелчок приводит к ошибке при работе с графическим интерфейсом пользователя, записи об этом, скорее всего, не будет.
10. Оболочка Unix доступна повсюду
Хотя она встроена только на компьютерах Mac и Linux, пользователи Windows по-прежнему могут присоединиться к веселью с такими инструментами, как WSL, Cygwin и MinGW. (И, как упоминалось ранее, многие из команд bash, которые вы изучите, в любом случае работают в встроенных параметрах продажи Windows, таких как командная строка).
Это означает, что навыки работы с командной строкой, которые вы изучаете на этих курсах, можно будет использовать практически на каждом компьютере, с которым вы столкнетесь (включая ваш персональный компьютер, независимо от того, какую операционную систему вы используете).
11. Командная строка проще, чем вы думаете
Существует заблуждение, что использование командной строки требует знания нескольких сотен команд. Фактически, хотя существуют сотни доступных команд для использования, вам, вероятно, понадобится лишь крошечный процент этих команд для выполнения большинства распространенных задач науки о данных.
Все еще не уверены? Мы оставим вам цитату из замечательной (и бесплатной!) Книги Командная строка Linux:
Когда меня просят объяснить разницу между Windows и Linux, я часто использую игрушечную аналогию.
Windows похожа на Game Boy. Вы идете в магазин и покупаете одну новенькую в коробке. Вы берете его домой, включаете и играете с ним. Симпатичная графика, милые звуки. Однако через некоторое время вы устанете от игры, которая шла вместе с ней, поэтому вы возвращаетесь в магазин и покупаете еще одну.Этот цикл повторяется снова и снова.
Наконец, вы возвращаетесь в магазин и говорите человеку за прилавком: «Я хочу игру, которая делает это!» только для того, чтобы сказать, что такой игры не существует, потому что на нее нет «рыночного спроса». Затем вы говорите: «Но мне нужно изменить только одну вещь!» Человек за прилавком говорит, что вы не можете его поменять. Все игры запечатаны в картриджах. Вы обнаруживаете, что ваша игрушка ограничена играми, которые другие решили, что вам нужны.
Linux, с другой стороны, похож на самый большой в мире монтажный комплект. Вы открываете его, а это просто огромная коллекция деталей. Есть много стальных стоек, винтов, гаек, шестерен, шкивов, двигателей и несколько предложений по сборке. Итак, вы начинаете с этим играть. Вы строите одно из предложений, а затем другое.
Через некоторое время вы обнаружите, что у вас есть собственные идеи, что делать. Вам никогда не придется возвращаться в магазин, так как у вас уже есть все необходимое.Набор Erector Set принимает форму вашего воображения. Делает то, что вы хотите. Выбор игрушек — это, конечно, личное дело каждого, так какая игрушка вам понравится больше?
Готовы изучить командную строку?
Теперь вы понимаете, почему так важно изучать интерфейс командной строки bash, как на самом деле это можно сделать?
Самый простой способ — учиться прямо в браузере с помощью интерактивных курсов, проводимых Dataquest в командной строке. Вы узнаете все команды, которые вам понадобятся для эффективной работы, написав настоящие команды bash в течение нескольких минут после регистрации.
Лучше всего? Все три наших курса можно попробовать бесплатно!
Чему вы научитесь?
В этих двух курсах командной строки вы научитесь использовать интерфейс терминала Unix, встроенный в компьютеры Mac и Linux. Не волнуйтесь, мы также предоставим пользователям Windows инструменты, необходимые для полноценного использования содержимого.
В рамках первого курса вы узнаете, что такое интерфейс командной строки, почему он важен в рабочем процессе обработки данных и как управлять компьютером и управлять им, давая ему инструкции, называемые командами.Вы также узнаете о подстановочных знаках и о том, как использовать их вместе с такими командами, как ls
, mv
, cp
, mkdir
и многими другими для более быстрого поиска и рабочих процессов.
Второй курс ориентирован на базовую обработку текста в оболочке с использованием таких команд, как head
, cat
, cut
и grep
. В нем рассказывается, как вы можете комбинировать эти команды для создания мощных цепочек команд из более простых строительных блоков. Вы также узнаете о многопользовательских системах и возможностях перенаправления вывода.
И, как и в случае всех курсов Dataquest, эти новые курсы командной строки используют интерактивную среду командной строки и проверку ответов, чтобы вы могли применять и проверять все, что вы изучаете, прямо в браузере.
Основы командной строки Linux | Суперкомпьютерный центр Огайо
Описание
Из этого туториала Вы узнаете о командной строке Linux и покажете несколько полезных команд. Здесь также показано, как получить помощь в Linux с помощью команд man
и apropos
.
Для дополнительного обучения и практики использования командной строки вы можете найти множество отличных руководств. Вот несколько:
https://www.learnenough.com/command-line-tutorial
https://cvw.cac.cornell.edu/Linux/
http://www.ee.surrey.ac.uk/Teaching/Unix/
https://www.udacity.com/course/linux-command-line-basics—ud595
Более продвинутый:
http://moo.nac.uci.edu/~hjm/How_Programs_Work_On_Linux.html
Предварительные требования
Нет.
Введение
Unix — это операционная система, в состав которой входит несколько прикладных программ. Другими примерами операционных систем являются Microsoft Windows, Apple OS и Google Android. Операционная система — это программа, работающая на компьютере (или смартфоне), которая позволяет пользователю взаимодействовать с машиной — управлять файлами и папками, выполнять запросы и запускать приложения. В графических операционных системах, таких как Windows, вы взаимодействуете с машиной в основном с помощью мыши.Вы нажимаете на значки или делаете выбор из меню. Unix, работающий на кластерах OSC, предоставляет интерфейс командной строки. То есть вы сообщаете операционной системе, что хотите сделать, набирая команду в командной строке и нажимая return. Чтобы создать новую папку, введите mkdir
. Чтобы скопировать файл из одной папки в другую, вы набираете cp
. И чтобы запустить прикладную программу, скажем, редактор emacs
, вы вводите имя приложения. Хотя это может показаться старомодным, вы обнаружите, что, освоив некоторые простые концепции и команды, вы сможете делать то, что вам нужно делать эффективно, и что у вас будет достаточно гибкости, чтобы настроить процессы, которые вы используете в кластерах OSC, в соответствии с вашими потребностями. потребности.
Общие задачи на кластерах OSC
Какие общие задачи вы будете выполнять на кластерах OSC? Вероятно, наиболее распространенный сценарий заключается в том, что вы хотите запустить какое-то программное обеспечение, которое мы установили на наших кластерах. У вас могут быть свои собственные входные файлы, которые будут обрабатываться прикладной программой. Приложение может генерировать выходные файлы, которые вам необходимо систематизировать. Вам, вероятно, придется создать сценарий задания, чтобы вы могли выполнять приложение в пакетном режиме. Для выполнения этих задач вам необходимо развить несколько различных навыков.Другая возможность заключается в том, что вы не просто являетесь пользователем программного обеспечения, установленного на наших кластерах, а разработчиком своего собственного программного обеспечения — или, возможно, вы вносите некоторые изменения в прикладную программу, поэтому вам нужно иметь возможность собрать измененную версию и запустить ее. Это. В этом сценарии вам понадобятся многие из тех же навыков, а также некоторые другие. В этом руководстве показаны основы работы с командной строкой Unix. В других руководствах содержится более подробная информация, которая поможет вам освоить более продвинутые навыки.
Ядро и оболочка
Вы можете представить себе Unix как состоящий из двух частей — ядра и оболочки .Ядро — это внутренности операционной системы Unix — основное программное обеспечение, работающее на машине, которое выполняет задачи инфраструктуры, такие как обеспечение одновременной работы нескольких пользователей. Вам не нужно ничего знать о ядре для целей этого руководства. Оболочка — это программа, которая интерпретирует команды, которые вы вводите в командной строке. Существует несколько разновидностей оболочек Unix — Bourne, Korn, Cshell, TCshell и Bash. Есть некоторые различия в том, как вы делаете что-то в разных оболочках, но они не являются существенными и не должны отображаться в этом руководстве.Однако в интересах простоты в этом руководстве предполагается, что вы используете оболочку Bash. Это оболочка по умолчанию для пользователей OSC. Если вы не сделаете что-то, чтобы это изменить, вы будете запускать оболочку Bash при входе в Owens или Pitzer.
Командная строка
Первое, что вам нужно сделать, это войти в один из кластеров OSC, Owens или Pitzer. Если вы не знаете, как это сделать, вы можете найти помощь на домашней странице OSC. Если вы подключаетесь из системы Windows, вам необходимо загрузить и настроить OSC Starter Kit, который вы можете найти здесь.Если вы подключаетесь из системы Mac или Linux, вы будете использовать ssh. Чтобы получить дополнительную информацию об использовании ssh, перейдите на домашнюю страницу OSC, наведите курсор на меню «Суперкомпьютеры» в основной синей строке меню и выберите «Часто задаваемые вопросы». Это должно помочь вам начать работу. После входа в систему ищите последнее, что отображается в окне терминала. Должно получиться что-то вроде
-баш-3,2$
с блочным курсором после него. Это командная строка — здесь вы увидите, как вводимые вами команды отражаются на экране.В этом руководстве мы будем сокращать командную строку только знаком доллара — $. Первое, что вам нужно знать, это как выйти из системы. Вы можете выйти из кластера, набрав « exit
», а затем нажав клавишу
$ exit
В оставшейся части этого руководства, когда отображаются команды,
Первые простые команды
Итак, давайте попробуем ввести несколько команд в командной строке (не забудьте ввести клавишу
$ дата $ кал $ палец $ кто $ whoami $ finger -l
Последняя команда — палец, за которым следует пробел, затем знак минус, затем строчная буква L. Очевидно ли, что делают эти команды? Вскоре вы узнаете, как получить информацию о том, что делает каждая команда, и как заставить ее вести себя по-разному. Вы должны заметить разницу между « finger
» и « finger -l
» — эти две команды, похоже, делают похожие вещи (они предоставляют информацию о пользователях, которые вошли в систему), но они печатают информацию в разные форматы.попробуйте две команды еще раз и проверьте результат. Обратите внимание, что вы можете использовать полосу прокрутки в окне терминала для просмотра текста, который прокручивается за пределы экрана.
человек
Команда « man
» позволяет узнать информацию о том, что делает команда. Введите следующую команду:
$ человек
Это своего рода умный ответ, который вы получите, но, по крайней мере, вы узнаете, что « man
» — это сокращение от «manual» и что цель состоит в том, чтобы распечатать справочную страницу для команды.Прежде чем мы начнем просматривать справочные страницы, вам нужно кое-что узнать о том, как Unix отображает их. Он не просто распечатывает справочную страницу и возвращает вас в командную строку — он переводит вас в режим, в котором вы интерактивно просматриваете справочную страницу. Внизу страницы вы должны увидеть двоеточие (:) вместо обычной командной строки (-bash-3.2 $). Вы можете перемещаться по странице руководства, набирая значения с двоеточия. Чтобы выйти из страницы руководства, вам нужно ввести «q», а затем
$ человек палец
, затем в двоеточии страницы руководства введите
: q
Вам не нужно вводить
$ человек палец
Теперь вместо того, чтобы просто выйти, давайте посмотрим на содержимое страницы руководства. Скорее всего, вся справочная страница не отображается в вашем терминале.Для прокрутки вверх или вниз используйте клавиши со стрелками или клавиши
Первое, что вы видите, — это раздел с заголовком «NAME», в котором отображается имя команды и краткое описание того, что она делает. Затем есть раздел под названием «ОБЗОР», в котором показан синтаксис команды. В этом случае вы должны увидеть
ОБЗОР finger [-lmsp] [ пользователь ... ] [ пользователь @ хост ... ]
Помните, как « finger
» и « finger -l
» давали разные результаты? [-Lmsp] сообщает вам, что вы можете использовать одну из этих четырех букв в качестве параметра команды — то есть способа изменения способа работы команды. В разделе «ОПИСАНИЕ» на странице руководства вы увидите более подробное описание команды и объяснение опций. Все, что показано в синопсисе команды и заключено в квадратные скобки ([]), необязательно.Вот почему можно набирать «палец» без параметров и без пользователя. А что насчет «пользователя» — что это? Чтобы увидеть, что это означает, закройте страницу руководства и введите в командной строке следующее:
$ whoami
Допустим, ваше имя пользователя — osu0000. Тогда результатом команды « whoami
» будет osu0000. Теперь введите следующую команду (но замените osu0000 своим именем пользователя):
$ палец osu0000
Вы должны получать информацию о себе и ни о каких других пользователях.Вы также можете ввести любое имя пользователя, которое выводится при вводе отдельной команды « finger
». Имена пользователей находятся в крайнем левом столбце вывода. Теперь попробуйте
$ finger -l osu0000 $ finger -lp osu0000 $ палец -s osu0000 osu0001
Для последней команды используйте свое имя пользователя и имя пользователя другого имени пользователя, которое отображается в выходных данных команды « finger
» без аргументов.
Обратите внимание, что команда unix состоит из трех частей:
- команда
- опции (-и)
- аргумент (ы)
Вам не обязательно вводить аргумент (как вы видели с командой «finger»), но иногда команда не имеет смысла без аргумента, поэтому вы должны ввести его — вы видели это с командой «man».Попробуйте набрать
$ человек мужчина
и бегло посмотрим на вывод. Следует обратить внимание на синопсис — для команды «man» существует множество возможных опций, но последнее, что показано в синопсисе команды, это « name … » — обратите внимание, что «name» не заключен в квадратные скобки. Это потому, что это не обязательно — вы должны ввести хотя бы одно имя. Что произойдет, если вы введете два имени?
$ человек человек палец
Первое, что происходит, — это страница руководства для команды « man
».Что происходит, когда вы закрываете страницу руководства? Теперь вы должны получить страницу руководства для команды « finger
». Если вы выйдете из этого, вы вернетесь в командную строку оболочки.
Объединение команд
Вы можете «перенаправить» вывод одной команды в другую. Во-первых, давайте узнаем о команде «, еще
»:
$ человек более
Прочтите раздел «ОПИСАНИЕ» — там сказано, что больше используется для пролистывания текста, который не помещается на одном экране.Также рекомендуется, чтобы команда « меньше
» была более мощной. Итак, давайте узнаем о команде « меньше
»:
$ чел. меньше
Из описания видно, что « минус
» также позволяет просматривать текст по одному экрану за раз. Звучит знакомо? Команда «man» фактически использует команду «less» для отображения своего вывода. Но вы можете сами использовать команду « минус
». Если у вас есть длинный текстовый файл с именем «foo.txt», введите
$ меньше foo.txt
, и вы сможете просматривать содержимое файла по одному экрану за раз. Но вы также можете использовать «меньше», чтобы посмотреть на вывод команды, которая печатает более одного экрана вывода. Попробуйте это:
$ finger | менее
Это « finger
», за которым следует пробел, за которым следует вертикальная черта (смещенная обратная косая черта на большинстве клавиатур), за которой следует пробел, за которым следует « минус
», за которым следует finger
» в интерактивном режиме, точно так же, как вы просматривали страницы руководства.Помните, что для прокрутки используйте клавиши со стрелками, клавиши q
».
Теперь попробуйте следующее (но не забудьте заменить «osu0000» своим фактическим именем пользователя):
$ finger | grep osu0000
Команда « grep
» — это команда Unix для поиска. Здесь вы указываете Unix искать в выводе команды « finger
» текст «osu0000» (или любое другое имя пользователя.)
Если вы попытаетесь передать вывод одной команды второй команде, а вторая команда работает без аргументов, вы не получите того, чего ожидаете. Попробуйте
$ whoami | палец
Вы видите, что он не дает того же результата, что и
.$ палец osu0000
(при условии, что « whoami
» возвращает osu0000.)
В этом случае вы можете сделать следующее:
$ finger `whoami`
Это « finger
» пробел обратная цитата « whoami
» обратная цитата.Клавиша обратной кавычки находится слева от клавиши с цифрой 1 на стандартной клавиатуре.
по поводу
Введите следующую команду:
$ человек по поводу
Как видите, apropos ищет описания команд и находит команды, описания которых соответствуют ключевому слову, которое вы ввели в качестве аргумента. Это означает, что он выводит список команд, которые имеют какое-то отношение к введенному вами ключевому слову. Попробуйте это
$ около
Хорошо, вам нужно ввести аргумент для команды « apropos
».
Так что попробуйте
$ apropos календарь
Теперь вы видите, что среди результатов есть две команды — « cal
» и « difftime
», которые имеют какое-то отношение к ключевому слову « calendar
».
Обзор
В этом разделе перечислены функции командной строки, доступные для доступа к агенту TL1. Эти функции аналогичны тем, которые доступны в протоколе командной строки.
Функции командной строки
Ниже приведены некоторые функции командной строки:
1. История команд
ПараметрHistory позволяет агенту TL1 записывать все команды, которые выполняются в списке истории. Вы можете использовать клавиши со стрелкой вверх или вниз для перемещения по списку истории. Вы можете просмотреть список истории и изменить или выполнить команду.
2. Завершение команды
Ввод буквы (начальная буква команды) и нажатие клавиши Tab завершает код команды TL1.Если зарегистрировано более одного кода команды, начиная с набранной буквы, то отображаются все совпадающие. Нажатие клавиши Tab после ввода полного кода команды отображает синтаксис команды.
3. Редактирование командной строки
Команды можно редактировать из командной строки с помощью клавиши со стрелкой ВЛЕВО, клавиши со стрелкой ВПРАВО и клавиши .
4. Список команд
Нажатие «?» перечисляет все команды, доступные для доступа к агенту.Нажатие команды и «?» перечисляет совпадающие коды команд.
5. Полный синтаксис команды
Набрав команду и нажав Tab Клавиша выводит список всей команды вместе с ее использованием.
6. Ключ выхода
Ввод команды и нажатие клавиши ESC очищает текущую строку текста и возвращает к подсказке TL1
Примечание : Функции командной строки предоставляются при использовании Craft Interface и Telnet.
Copyright © 2012, ZOHO Corp. Все права защищены.
Введение в командную строку Bash
Содержание
Введение
Многие уроки Programming Historian требуют, чтобы вы вводили команды через интерфейс командной строки . Обычный способ, которым сегодня пользователи компьютеров взаимодействуют со своей системой, — это графический пользовательский интерфейс , или GUI. Это означает, что когда вы заходите в папку, вы щелкаете изображение папки с файлами; когда вы запускаете программу, вы нажимаете на нее; и когда вы просматриваете веб-страницы, вы используете мышь для взаимодействия с различными элементами на веб-странице.Однако до появления графических интерфейсов пользователя в конце 1980-х основным способом взаимодействия с компьютером был интерфейс командной строки.
Графический интерфейс компьютера Яна Миллигана
Интерфейсы командной строкиимеют преимущества для пользователей компьютеров, которым требуется более высокая точность в своей работе, например для специалистов по цифровой истории. Они позволяют получить более подробную информацию при запуске некоторых программ, поскольку вы можете добавить модификаторы, чтобы указать , точно , как вы хотите, чтобы ваша программа запускалась. Более того, их можно легко автоматизировать с помощью скриптов, которые по сути являются рецептами текстовых команд.
Есть два основных интерфейса командной строки, или «оболочки», которые используют многие специалисты по цифровой истории. В OS X или многих установках Linux оболочка известна как bash
или «оболочка Bourne-again». Для пользователей систем на базе Windows интерфейс командной строки по умолчанию на основе MS-DOS
, который использует разные команды и синтаксис, но часто может выполнять аналогичные задачи. Это руководство представляет собой базовое введение в терминал bash
, и пользователи Windows могут следовать за ним, установив популярные оболочки, такие как Cygwin или Git Bash (см. Ниже).
В этом уроке используется оболочка Unix , интерпретатор командной строки, обеспечивающий пользовательский интерфейс для операционной системы Unix и для Unix-подобных систем. В этом уроке будет рассмотрено небольшое количество основных команд. К концу этого руководства вы сможете перемещаться по файловой системе и находить файлы, открывать их, выполнять основные задачи по манипулированию данными, такие как объединение и копирование файлов, а также читать их и вносить относительно простые изменения. Эти команды представляют собой строительные блоки, на которых могут быть построены более сложные команды, соответствующие вашим исследовательским данным или проекту.Читателям, которым требуется справочное руководство, выходящее за рамки этого урока, рекомендуется прочитать Deborah S. Ray и Eric J. Ray, Unix and Linux: Visual Quickstart Guide , 4th edition (2009).
Только для Windows: установка Git Bash
Тем, кто использует OS X и большинство установок Linux, повезло — у вас уже установлена оболочка bash. Тем из вас, кто пользуется Windows, потребуется сделать еще один шаг и установить Git Bash. Его можно установить, загрузив последнюю версию «Полного установщика» с этой страницы.Инструкции по установке доступны на сайте Open Hatch.
Открытие оболочки
Давайте запустим оболочку. В Windows запустите Git Bash из каталога, в который вы его установили. Вам нужно будет запустить его от имени администратора — для этого щелкните программу правой кнопкой мыши и выберите «Запуск от имени администратора». В OS X по умолчанию оболочка находится по адресу:
Приложения -> Утилиты -> Терминал
Программа Terminal.app в OS X
Когда вы запустите его, вы увидите это окно.
Пустой экран терминала на нашей рабочей станции OS X
Возможно, вы захотите изменить внешний вид терминала по умолчанию, поскольку глаза могут напрягаться при многократном просмотре черного текста на белом фоне. В приложении OS X по умолчанию вы можете открыть меню «Настройки» в разделе «Настройки» в Терминале. Щелкните вкладку «Настройки» и измените ее на новую цветовую схему. Мы лично предпочитаем что-то с немного меньшим контрастом между фоном и передним планом, так как вы будете часто на это смотреть.«Роман» успокаивает, как и популярный набор цветовых палитр Solarized. Для пользователей Windows аналогичного эффекта можно добиться с помощью вкладки Git Bash Properties
. Для этого щелкните правой кнопкой мыши в любом месте верхней панели и выберите Свойства
.
Экран настроек в приложении оболочки терминала OS X
Если интерфейс вас устраивает, приступим.
Перемещение по файловой системе компьютера
Если при открытии командного окна вы не знаете, где вы находитесь в файловой системе компьютера, первым делом необходимо выяснить, в каком каталоге вы находитесь.В отличие от графической системы, в оболочке нельзя одновременно находиться в нескольких каталогах. Когда вы открываете проводник на рабочем столе, он обнаруживает файлы, находящиеся в каталоге. Вы можете узнать, в каком каталоге вы находитесь, с помощью команды pwd
, что означает «распечатать рабочий каталог». Попробуйте ввести:
pwd
и нажав Enter. Если вы работаете в OS X или Linux, на вашем компьютере, вероятно, будет отображаться / users / USERNAME
с вашим собственным именем пользователя вместо USERNAME.Например, путь Иэна в OS X — / users / ianmilligan1 /
.
Здесь вы понимаете, что опыт пользователей Windows и OS X / Linux будет немного отличаться. В Windows Джеймс находится по адресу:
. c / пользователей / jbaker
Есть незначительные различия, но не бойтесь; когда вы перемещаете файлы и манипулируете ими, эти различия платформ могут отойти на второй план.
Чтобы сориентироваться, давайте составим список файлов в этом каталоге.Тип
лс
, и вы увидите список всех файлов и каталогов в вашем текущем местоположении. Ваш каталог может быть загроможден или он может быть нетронутым, но вы, как минимум, увидите некоторые знакомые места. Например, в OS X вы увидите Applications
, Desktop
, Documents
, Downloads
, Library
, Pictures
и т. Д.
Возможно, вам понадобится больше информации, чем просто список файлов.Вы можете сделать это, указав различные флаги , которые будут использоваться с нашими основными командами. Это дополнения к команде, которые дают компьютеру немного больше указаний о том, какой тип вывода или манипуляции вы хотите. Чтобы получить их список, пользователи OS X / Linux могут обратиться к встроенной справочной программе. Пользователи OS X / Linux типа
ман лс
Страница руководства для команды LS
Здесь вы видите список с названием команды, способом, которым вы можете отформатировать эту команду, и что она делает. Многие из них не имеют смысла на данном этапе, но не беспокойтесь; со временем вы познакомитесь с ними ближе. Вы можете исследовать эту страницу разными способами: пробел перемещает страницу вниз или вы можете перемещать стрелки вниз и вверх по всему документу.
Чтобы покинуть страницу руководства, нажмите
кв
, и вы вернетесь в командную строку, где вы были до входа на страницу руководства.
Попробуйте поиграть со страницей man
для другой команды, которую вы уже изучили, pwd
.
Windows могут использовать команду help
, хотя у этой команды меньше возможностей, чем у man
в OS X / Linux. Введите help
, чтобы увидеть доступную справку, и help pwd
для примера вывода команды.
Давайте попробуем использовать некоторые из тех опций, которые вы видели на странице man
для ls. Возможно, вы хотите видеть только файлы TXT, которые находятся в нашем домашнем каталоге. Тип
LS * .txt
, который возвращает список текстовых файлов, если они есть в вашем домашнем каталоге (вы не можете, и это тоже нормально).Команда * — это подстановочный знак — он означает «что угодно». Итак, в этом случае вы указываете, что все, что соответствует шаблону:
[something.txt]
Будет отображено. Попробуйте разные комбинации. Если, например, у вас было несколько файлов в формате 1-Canadian.txt
, 2-Canadian.txt
и так далее, команда ls * -Canadian.txt
отобразит их все, но исключит все остальные. файлы (те, которые не соответствуют шаблону).
Допустим, вам нужна дополнительная информация.На этой длинной странице man
вы видели вариант, который может оказаться полезным:
-l (строчная буква `` ell ''.) Список в длинном формате. (См. Ниже.) Если вывод на терминал, общая сумма для всех размеров файлов отсутствует- поставить строку перед длинным листингом.
Итак, если вы наберете
LS-L
компьютер возвращает длинный список файлов, который содержит информацию, аналогичную той, которую вы можете найти в поисковике или проводнике: размер файлов в байтах, дата его создания или последнего изменения и имя файла.Однако это может немного сбивать с толку: вы видите, что файл test.html имеет размер «6020» бит. Выражаясь обычным языком, вы больше привыкли к таким единицам измерения, как байты, килобайты, мегабайты и гигабайты.
К счастью, есть еще один флаг:
-h При использовании с параметром -l используйте суффиксы единиц измерения: Байт, Килобайт, Мегабайт, Гигабайт, Терабайт и Петабайт для уменьшения количества цифр до трех или меньше, используя основание 2 для размеров.
Если вы хотите использовать два флага, вы можете просто запустить их вместе.Итак, набрав
LS-LH
вы получаете вывод в удобочитаемом формате; вы узнаете, что 6020 бит также составляют 5,9 КБ, другой файл — 1 мегабайт и так далее.
Эти опции очень важны, . Вы их увидите на других уроках программы Programming Historian . Wget, MALLET и Pandoc используют один и тот же синтаксис. К счастью, вам не нужно запоминать синтаксис; вместо этого держите эти уроки под рукой, чтобы вы могли быстро взглянуть, если вам нужно что-то настроить.Эти уроки можно проводить в любом порядке.
Вы провели много времени в своем домашнем каталоге. Пойдем куда-нибудь еще. Вы можете сделать это с помощью команды cd
или Change Directory.
Если вы наберете
настольный компакт-диск
, теперь вы находитесь на рабочем столе. Это похоже на «двойной щелчок» по папке «рабочий стол» в проводнике файлов. Чтобы дважды проверить, введите pwd
, и вы должны увидеть что-то вроде:
/ Пользователи / ianmilligan1 / настольный
Попробуйте поиграть с этими предыдущими командами: исследуйте текущий каталог с помощью команды ls
.
Если вы хотите вернуться, вы можете ввести
кд ..
Это перемещает нас «вверх» на один каталог, возвращая нас в / Users / ianmilligan1 /
. Если вы когда-нибудь полностью потерялись, команда
CD -
вернет вас прямо в домашний каталог, с которого вы начали.
Попробуйте изучить: посетите каталог с документами, изображения, папки, которые могут быть на рабочем столе. Привыкайте входить и выходить из каталогов.Представьте, что вы перемещаетесь по древовидной структуре. Если вы находитесь на рабочем столе, вы не сможете записать cd документов
, так как он является «дочерним» по отношению к вашему домашнему каталогу, в то время как ваш рабочий стол является «родственником» папки «Документы». Чтобы найти брата или сестру, вы должны вернуться к общему родителю. Для этого вам нужно будет сделать резервную копию в вашем домашнем каталоге ( cd ..
), а затем снова перейти к cd документам
.
Возможность перемещаться по файловой системе с помощью оболочки bash очень важна для многих уроков в Programming Historian .Когда вы почувствуете себя более комфортно, вы скоро перейдете прямо к тому каталогу, который вам нужен. В нашем случае из любой точки нашей системы вы можете ввести
cd /users/ianmilligan1/mallet-2.0.7
или, в Windows, что-то вроде
компакт-диск c: \ mallet-2.0.7 \
и попадите в наш каталог MALLET для моделирования темы.
Наконец, попробуйте
открытый.
в OS X или
исследователь.
в Windows. Эта команда откроет ваш графический интерфейс в текущем каталоге. Обязательно оставьте пробел между open
или explorer
и точкой.
Взаимодействие с файлами
Помимо навигации по каталогам, вы можете взаимодействовать с файлами в командной строке: вы можете их читать, открывать, запускать и даже редактировать, часто даже не покидая интерфейса. Есть некоторые споры о том, зачем это делать. Основная причина — беспроблемный опыт работы с командной строкой: вам никогда не придется брать мышь или прикасаться к трекпаду, и, хотя для этого требуется крутая кривая обучения, в конечном итоге он может стать единственной средой для письма.Более того, многие программы требуют, чтобы вы использовали командную строку для работы с ними. Поскольку вы будете использовать программы в командной строке, часто бывает быстрее вносить небольшие правки, не переключаясь в отдельную программу. Некоторые из этих аргументов можно найти в статье Джона Бельтрана де Эредиа «Почему, о, ПОЧЕМУ, эти # [электронная почта защищена]! чокнутые используют vi? ».
Вот несколько основных способов взаимодействия с файлами.
Во-первых, вы можете создать новый каталог, чтобы вы могли работать с текстовыми файлами. Для удобства мы создадим его на вашем рабочем столе.Вы всегда можете переместить его позже. Перейдите на рабочий стол с помощью оболочки и введите:
. мкдир ProgHist-Text
Это создает каталог с именем, как вы уже догадались, ProgHist-Text. В общем, рекомендуется избегать размещения пробелов в именах файлов и каталогах при использовании командной строки (конечно, есть обходные пути, но этот подход проще) . Вы можете посмотреть на свой рабочий стол, чтобы убедиться, что он работает. Теперь перейдите в этот каталог (помните, это будет cd ProgHist-Text
).
Но подождите! Есть уловка, чтобы сделать все немного быстрее. Поднимитесь на один каталог вверх ( cd ..
— вы вернетесь на Рабочий стол). Чтобы перейти в каталог ProgHist-Text
, введите cd ProgHist-Text
. В качестве альтернативы вы можете ввести cd Prog
и затем нажать вкладку. Вы заметите, что интерфейс завершает строку до cd ProgHist-Text
. При открытии вкладки в любой момент в оболочке будет предложено попытаться автоматически заполнить строку на основе файлов или подкаталогов в текущем каталоге.Однако это чувствительно к регистру (т.е. в предыдущем примере cd prog
не будет автоматически завершаться до ProgHist-Text
. Если два или более файла содержат одинаковые символы, автозаполнение будет заполняться только до первой точки. различия. Мы рекомендуем использовать этот метод на протяжении всего урока, чтобы увидеть, как он себя ведет.
Теперь вам нужно найти базовый текстовый файл, который поможет нам с примером. Почему бы вам не использовать книгу, которая, как вы знаете, длинная, например, эпос Льва Толстого « Война и мир» .Текстовый файл доступен через Project Gutenberg. Если вы уже установили wget, просто введите
wget http://www.gutenberg.org/files/2600/2600-0.txt
Если у вас не установлен wget, загрузите сам текст с помощью браузера. Перейдите по ссылке выше и в своем браузере используйте команду «Сохранить страницу как …» в «меню файлов». Сохраните ее в новом каталоге «ProgHist-Text». Теперь, когда вы набираете
LS-LH
вы видите
-rw-r – r– + 1 ianmilligan1 сотрудник 3.1М 1 мая 10:03 2600-0.txt
Вы можете прочитать текст в этом файле несколькими способами. Во-первых, вы можете сказать нашему компьютеру, что хотите прочитать его, используя стандартную программу, которую вы используете для открытия текстовых файлов. По умолчанию это может быть TextEdit в OS X или Блокнот в Windows. Чтобы открыть файл, просто введите
открыть 2600-0.txt
в OS X или
исследователь 2600-0.txt
в Windows.
Выбирает программу по умолчанию для открытия файла этого типа и открывает его.
Однако часто требуется просто работать в командной строке, не выходя из нее. Вы также можете читать файлы в этой среде. Чтобы попробовать это, введите:
кот 2600-0.txt
Всплывает окно терминала, и Война и мир каскадом проносятся мимо. Теоретически это здорово, но вы действительно не можете понять такой объем текста? Вместо этого вы можете просто посмотреть на первый или последний бит файла.
головка 2600-0.txt
Обеспечивает вид первых десяти строк, тогда как
хвост 2600-0.txt
дает представление о последних десяти строках. Это хороший способ быстро определить содержимое файла. Вы можете добавить команду для изменения количества отображаемых строк: head -20 2600-0.txt
, например, покажет первые двадцать строк.
Вы также можете изменить имя файла на более информативное. Вы можете «переместить» его на новое имя, набрав
мв 2600-0.txt tolstoy.txt
После этого, когда вы выполните команду ls
, вы увидите, что теперь это tolstoy.txt
. Если бы вы хотели его продублировать, вы также могли бы запустить команду копирования, набрав
cp 2600-0.txt tolstoy.txt
, вы вскоре вернетесь к этим командам.
Теперь, когда вы использовали несколько новых команд, пришло время для еще одного трюка. Ударьте стрелку вверх на клавиатуре. Обратите внимание, что перед курсором отображается cp 2600-0.txt tolstoy.txt
. Вы можете продолжать нажимать стрелку вверх, чтобы просмотреть предыдущие команды. Стрелка вниз переключает назад к вашей последней команде.
После прочтения и переименования нескольких файлов вы можете захотеть объединить их текст в один файл. Чтобы объединить или объединить два или более файла, вы можете использовать команду cat
. Сначала продублируем файл Толстого ( cp tolstoy.txt tolstoy2.txt
). Теперь, когда у вас есть две копии книги «Война и мир», , давайте объединим их, чтобы сделать книгу еще более длинной .
Для объединения или сцепления двух или более файлов используйте команду cat
.Тип
кот tolstoy.txt tolstoy2.txt
и нажмите ввод. Это печатает или отображает объединенные файлы в оболочке. Однако читать в этом окне слишком долго! К счастью, используя команду >
, вы можете отправить вывод в новый файл, а не в окно терминала. Тип
кот tolstoy.txt tolstoy2.txt> tolstoy-two.txt
.
Теперь, когда вы наберете ls
, вы увидите, что в вашем каталоге появится tolstoy-two.txt
.
При объединении более двух файлов использование подстановочного знака может помочь избежать необходимости записывать каждое имя файла по отдельности. Как вы видели выше, *
— это заполнитель для нуля или более символов или цифр. Итак, если вы наберете
cat * .txt> все вместе.txt
и нажмите Enter, комбинация всех файлов .txt в текущем каталоге объединяется в алфавитном порядке как all-together.txt
. Это может быть очень полезно, если вам нужно объединить большое количество файлов меньшего размера в каталоге, чтобы вы могли работать с ними в программе анализа текста.Еще один подстановочный знак, о котором стоит помнить, — это ?
, который является заполнителем для одного символа или числа.
Редактирование текстовых файлов непосредственно из командной строки
Если вы хотите полностью прочитать файл, не выходя из командной строки, вы можете запустить vim. Vim — это очень мощный текстовый редактор, который идеально подходит для использования с такими программами, как Pandoc, для обработки текста или для редактирования вашего кода без необходимости переключаться на другую программу. Лучше всего то, что он входит в состав bash как для OS X, так и для Windows.У Vim довольно крутая кривая обучения, поэтому мы коснемся лишь нескольких незначительных моментов.
Тип
вим толстой.txt
Вы должны увидеть, как vim оживает перед вами, текстовый редактор на основе командной строки.
Vim
Если вы действительно хотите войти в Vim, есть хорошее руководство по Vim.
Использовать Vim для чтения файлов относительно просто. Вы можете использовать клавиши со стрелками для навигации и теоретически можете прочитать Война и мир через командную строку (за это нужно получить достижение).Вот некоторые быстрые базовые навигационные команды:
Ctrl + F
(то есть, удерживая «клавишу управления» и нажимая букву F), вы перемещаетесь по странице вниз ( Shift + UpArrow
для Windows).
Ctrl + B
переместит вас на страницу вверх. ( Shift + DownArrow
для пользователей Windows).
Если вы хотите быстро перейти к концу строки, вы можете нажать: $
и перейти к началу строки 0
. Вы также можете перемещаться между предложениями, набирая )
(вперед) или (
(назад).Для абзацев используйте }
и {
. Поскольку вы все делаете с помощью клавиатуры, вместо того, чтобы удерживать нажатой клавишу со стрелкой для перемещения по документу, это позволяет быстро перемещаться вперед и назад.
Давайте прокрутим вверх и внесем небольшие изменения, например добавим в заголовок поле Reader
. Поместите курсор между Автор: и Переводчиков: , вот так:
О вставке поля
Если вы просто начнете печатать, вы получите сообщение об ошибке или курсор начнет прыгать.Это потому, что вы должны указать, что хотите отредактировать. Нажмите на букву
а
Внизу экрана вы увидите
- ВСТАВИТЬ -
Это означает, что вы находитесь в режиме вставки. Теперь вы можете вводить и редактировать текст, как если бы вы были в стандартном текстовом редакторе. Нажмите , введите
дважды, затем стрелка вверх
и введите
Читатель: историк программирования
Когда вы закончите, нажмите ESC
, чтобы вернуться в режим чтения.
Для выхода из vim или для сохранения необходимо ввести ряд команд. Нажмите :
, и вы перейдете к строке ввода команд Vim. здесь вы можете вводить различные команды. Если вы хотите сохранить файл, введите w
, чтобы «записать» файл. Если вы выполните эту команду, вы увидите
«tolstoy.txt» [дос] 65009Л, 32С записано
После записи файла с нашими незначительными изменениями
Если вы хотите выйти, введите :
еще раз, а затем q
.Он вернет вас в командную строку. Как и в случае с остальной частью bash, вы также можете объединить две команды. Нажатие :
, а затем ввод wq
приведет к записи файла и завершению работы. Или, если вы хотите выйти из без сохранения , q!
закроет vim и переопределит настройки по умолчанию, чтобы сохранить изменения.
Vim отличается от того, к чему вы, вероятно, привыкли, и потребует больше работы и практики, чтобы научиться свободно пользоваться им. Но если вы настраиваете незначительные вещи в файлах, это хороший способ начать работу.По мере того, как вы освоитесь с ним, вы можете даже писать курсовые работы, используя возможности Pandoc и Markdown для создания сносок и форматирования.
Перемещение, копирование и удаление файлов
Допустим, вы закончили работу с этим каталогом и хотите переместить tolstoy.txt
в другое место. Во-первых, вам следует создать резервную копию. Оболочка не прощает ошибок, а резервное копирование даже важнее, чем с графическим интерфейсом. Если вы удалите что-то здесь, выловить это не будет.Чтобы создать резервную копию, вы можете ввести
cp tolstoy.txt tolstoy-backup.txt
Теперь, когда вы запустите команду ls
, вы увидите пять файлов, два из которых одинаковые: tolstoy.txt
и tolstoy-backup.txt
.
Давайте перенесем первый из них в другое место. В качестве примера давайте создадим второй каталог на вашем рабочем столе. Переместитесь на рабочий стол ( cd ..
) и mkdir
в другой каталог. Назовем его proghist-dest
.
Чтобы скопировать tolstoy.txt
, у вас есть несколько различных вариантов. вы можете запускать эти команды из любого места в оболочке, или вы можете посетить либо исходный каталог, либо каталог назначения. В этом примере давайте просто запустим его отсюда. Базовый формат команды копирования — cp [источник] [назначение]
. То есть вы сначала набираете cp
, а затем вводите файл или файлы, которые вы хотите скопировать, а затем укажите, куда они должны идти.
В этом случае команда
cp / users / ianmilligan1 / desktop / proghist-text / tolstoy.txt / пользователи / ianmilligan1 / рабочий стол / proghist-dest /
скопирует Толстого из первого каталога во второй каталог. Вам нужно будет вставить свое собственное имя пользователя вместо ianmilligan1. Это означает, что теперь у вас есть три копии романа на нашем компьютере. Оригинал, резервная копия и новая копия во втором напрямую. Если вы хотите переместить файл на , то есть не оставлять копию, вы можете запустить команду еще раз, заменив cp
на mv
; давай пока не будем этого делать.
Вы также можете скопировать несколько файлов с помощью одной команды. Если вы хотите скопировать как оригинал, так и файл резервной копии, вы можете использовать команду с подстановочными знаками.
cp /users/ianmilligan1/desktop/proghist-text/*.txt / users / ianmilligan1 / desktop / proghist-dest /
Эта команда копирует всех текстовых файлов из исходного каталога в целевой каталог.
Примечание. Если вы находитесь в каталоге, в который или из которого хотите переместить объекты, вам не нужно вводить всю структуру каталогов.Приведем два быстрых примера. Перейдите в каталог proghist-text
. Из этого места, если вы хотите скопировать эти два файла в proghist-dest
, эта команда будет работать:
cp * .txt / users / ianmilligan1 / desktop / proghist-dest /
(в OS X заменить каталог в Windows)
В качестве альтернативы, если вы находитесь в каталоге proghist-dest
, эта команда будет работать:
cp / users / ianmilligan1 / desktop / proghist-text / *.txt ./
Команда ./
относится к текущему каталогу , в котором вы находитесь. Это действительно ценная команда.
Наконец, если вы хотите удалить файл по какой-либо причине, используйте команду rm
или удалить. Будьте осторожны с командой rm
, так как вы не хотите удалять файлы, о которых не собирались. В отличие от удаления из вашего графического интерфейса, в нет корзины для утилизации или вариантов отмены. По этой причине, если вы сомневаетесь, вы можете проявить осторожность или регулярно делать резервные копии своих данных.
Перейдите к proghist-text
и удалите исходный файл, набрав
пм tolstoy.txt
Убедитесь, что файл исчез, используя команду ls
.
Если вы хотите удалить весь каталог, у вас есть два варианта. вы можете использовать rmdir
, противоположность mkdir
, чтобы удалить пустой каталог . Чтобы удалить каталог с файлами, вы можете использовать с рабочего стола:
rm -r proghist-text
Выводы
На этом этапе вы можете сделать перерыв в работе терминала.Для этого введите , выход
, и вы закроете сеанс.
По мере освоения командной строки можно попробовать и другие команды. Некоторые из наших других любимых — это du
, который позволяет узнать, сколько памяти используется ( du -h
делает его удобочитаемым — как и в случае с другими командами). Для тех из вас, кто работает в OS X, top
предоставляет обзор запущенных процессов ( mem
в Windows), а touch FILENAME
может создать базовый текстовый файл в обеих системах
К этому моменту мы надеемся, что у вас есть хорошее базовое понимание того, как перемещаться с помощью командной строки, перемещать основные файлы и вносить небольшие правки здесь и там.Этот урок для начинающих призван дать вам базовую беглость и уверенность в себе. В будущем вы можете захотеть заняться написанием сценариев.
Удачи! Прежде чем вы это узнаете, вам может понравиться удобство и точность командной строки — по крайней мере, для определенных приложений — гораздо больше, чем громоздкий графический интерфейс, с которым идет ваша система. Ваш инструментарий стал больше.
Справочное руководство
Для вашего удобства вот команды, которые вы изучили в этом уроке:
Команда | Что он делает |
---|---|
pwd | Распечатывает «текущий рабочий каталог», сообщая вам, где вы находитесь. |
лс | Выводит список файлов в текущем каталоге |
человек * | Показывает руководство для команды, замененное на * |
кд * | Изменяет текущий каталог на * |
мкдир * | Создает каталог с именем * |
открыть или Explorer | В OS X: открывает , а затем файл открывает его; в Windows команда explorer , за которой следует имя файла, делает то же самое. |
кот * | cat — универсальная команда. Он прочитает вам файл, если вы замените файл на * , но также может использоваться для объединения файлов. |
головка * | Отображает первые десять строк * |
хвост * | Отображает последние десять строк * |
мв | Перемещает файл |
CP | Копирует файл |
п.м | Удаляет файл |
vim | Открывает редактор документов vim . |
Терминал / командная строка для начинающих | LearnDjango.com
- Уилл Винсент
- 3 нояб.2021 г.
Командная строка — это мощный текстовый интерфейс для компьютеров. Если вы когда-нибудь видели шоу, где хакеры яростно вводят текст в черное окно, это командная строка. Это альтернатива графическому пользовательскому интерфейсу на основе мыши или пальца, знакомому большинству пользователей компьютеров.Обычному пользователю никогда не понадобится использовать командную строку, но разработчики программного обеспечения делают это, потому что определенные задачи могут быть выполнены только с ее помощью: запуск программ, установка программного обеспечения, использование Git для контроля версий или подключение к серверам в облаке. Немного потренировавшись, большинство разработчиков обнаруживают, что командная строка на самом деле является более быстрым и мощным способом навигации и управления компьютером.
Учитывая минимальный пользовательский интерфейс — пустой экран и мигающий курсор — командная строка пугает новичков.Часто после выполнения команды нет обратной связи, и можно удалить весь компьютер с помощью одной команды: никаких предупреждений не появится. В результате, командную строку следует использовать с осторожностью. Не копируйте и не вставляйте вслепую команды, которые вы найдете в Интернете; полагайтесь только на доверенные ресурсы для выполнения любой команды, которую вы не полностью понимаете.
Командная строка
На практике для обозначения командной строки используется несколько терминов: интерфейс командной строки (CLI), консоль, терминал, оболочка или приглашение.С технической точки зрения, терминал — это программа, которая открывает новое окно для доступа к командной строке, консоль — это текстовое приложение, оболочка — это программа, которая запускает команды в базовой операционной системе, и приглашение — это место, где вводятся и запускаются команды. Поначалу легко запутаться в этих терминах, но все они, по сути, означают одно и то же: командная строка — это то место, где мы запускаем и выполняем текстовые команды на нашем компьютере.
В Windows и встроенный терминал, и оболочка называются PowerShell . Чтобы получить к нему доступ, найдите панель задач в нижней части экрана рядом с кнопкой Windows и введите «powershell», чтобы запустить приложение. Откроется новое окно с темно-синим фоном и мигающим курсором после приглашения >
. Вот как это выглядит на моем компьютере.
Перед подсказкой находится PS
, который относится к PowerShell, начальному каталогу C
операционной системы Windows, за которым следует каталог Users
и текущий пользователь, который на моих персональных компьютерах — wsv
.Ваше имя пользователя, очевидно, будет другим. На этом этапе не беспокойтесь о том, что идет слева из приглашения >
: это зависит от каждого компьютера и может быть настроено позже. Более короткое приглашение >
будет использоваться в будущем для Windows.
В macOS встроенный терминал достаточно адекватно называется Terminal . Его можно открыть с помощью Spotlight: одновременно нажмите клавиши Command
и пробел
, а затем введите «терминал».»Или откройте новое окно Finder, перейдите в каталог Applications , прокрутите вниз, чтобы открыть каталог Utilities , и дважды щелкните приложение под названием Terminal. Откроется новый экран с белым фоном по умолчанию и мигающим курсор после подсказки %
. Не беспокойтесь о том, что идет слева от подсказки %
. Это зависит от компьютера и может быть изменено позже.
Если ваше приглашение macOS — $
вместо %
, это означает, что вы используете Bash
в качестве оболочки.Начиная с 2019 года macOS перешла с Bash на zsh в качестве оболочки по умолчанию. Хотя большинство команд в этой книге будут работать взаимозаменяемо, рекомендуется поискать в Интернете, как перейти на zsh через Системные настройки
, если ваш компьютер все еще использует Bash.
Команды оболочки
Существует множество доступных команд оболочки, но большинство разработчиков снова и снова полагаются на одну и ту же горстку и при необходимости ищут более сложные.
Во многих случаях команды для Windows (PowerShell) и macOS похожи.Например, команда whoami
возвращает имя компьютера / имя пользователя в Windows и только имя пользователя в macOS. Как и все команды оболочки, введите саму команду, а затем нажмите клавишу return
. Обратите внимание, что символ #
представляет собой комментарий и не будет выполняться в командной строке.
# Окна > whoami WSV2021 / WSV # macOS % кто я WSV
Однако иногда команды оболочки в Windows и macOS совершенно разные. Хорошим примером является команда для вывода простого «Hello, World!» сообщение на консоль.В Windows это команда Write-Host
, а в macOS — echo
.
# Окна > Пишите-Host "Hello, World!" Привет, мир! # macOS % echo "Привет, мир!" Привет, мир!
Часто выполняемая из командной строки задача — это навигация по файловой системе компьютера. В Windows оболочка по умолчанию должна показывать текущее местоположение, но ее также можно вывести с помощью Get-Location
. В macOS используйте pwd
(рабочий каталог печати).
# Окна > Get-Location Дорожка ---- C: \ Пользователи \ WSV # macOS % pwd / Пользователи / wsv
Навигация
Навигация по файловой системе вашего компьютера — одна из важнейших задач командной строки.В Windows оболочка по умолчанию должна показывать текущее местоположение, но ее также можно вывести с помощью Get-Location
. В macOS используйте pwd
(рабочий каталог печати).
# Окна > Get-Location Дорожка ---- C: \ Пользователи \ WSV # macOS % pwd / Пользователи / wsv
Этот каталог известен как домашний каталог или корневой каталог . Когда вы откроете новую командную строку, вы попадете сюда.
Было бы неплохо узнать, что находится в нашем текущем местоположении, поэтому для вывода списка файлов и каталогов мы можем использовать ls
.
# Окна > ls Каталог C: \ Users \ wsv 15.04.2021 09:00Приложения ... # macOS % ls Рабочий стол Загрузки ...
Чтобы изменить текущий каталог, набираем cd
, а затем имя каталога. Затем проверьте, изменилось ли оно, используя cd
в Windows и pwd
в macOS / Linux.
# Окна > cd Desktop > Get-Location Дорожка ---- C: \ Users \ wsv \ onedrive \ рабочий стол # macOS % cd Desktop % pwd / Пользователи / wsv / Рабочий стол
Совет: Клавиша tab
будет автоматически заполнять команду, поэтому, если вы наберете cd d
, а затем нажмете tab
, командная строка автоматически заполнит оставшуюся часть имени.Если существует более двух каталогов, которые начинаются с d
, нажмите клавишу вкладки еще раз, чтобы просмотреть их.
Эти три навигационные команды - cd
или pwd
, ls
и cd
- являются , безусловно, наиболее часто используемыми командами оболочки. Знать, где вы находитесь в файловой системе, и переходить в нужное место - это половина дела!
Создание каталогов
Давайте создадим новый каталог на нашем рабочем столе с mkdir
, перейдем в него и подтвердим наше местоположение.
# Окна > mkdir testdir > cd testdir > Get-Location C: \ Users \ wsv \ Desktop \ testdir # macOS % mkdir testdir % cd testdir % pwd / Пользователи / WSV / Рабочий стол / testdir
Достаточно просто, правда? Пока что мы перешли только к дочерним каталогам , но что, если мы захотим вернуться к родительскому каталогу Desktop ? Мы можем использовать команду cd ..
.
# Окна > cd .. > Get-Location C: \ Users \ WSV \ Рабочий стол # macOS % CD .. % pwd / Пользователи / wsv / Рабочий стол
Если мы хотим вернуться в домашний каталог , мы могли бы запустить cd..
снова, или мы могли бы также предоставить полный путь к файлу нашего места назначения.
# Окна > компакт-диск C: \ Users \ wsv > Get-Location C: \ Пользователи \ WSV # macOS % cd / Users / wsv % pwd / Пользователи / wsv
Таким образом, существует 3 способа навигации с использованием cd
:
-
cd
перейдет в дочерний каталог с именем -
cd ..
выполняет переход в родительский каталог -
cd
обеспечивает прямой переход к полному
Перемещение и копирование каталогов
Мы также можем перемещать и копировать каталоги из одного места в другое.Давайте сначала создадим каталог под названием Practice
в новом каталоге testdir
.
# Окна > компакт-диск C: \ Users \ wsv \ Desktop \ testdir > Get-Location C: \ Users \ wsv \ Desktop \ testdir > практика mkdir > реж ... # macOS % cd / Users / WSV / Рабочий стол / testdir % pwd / Пользователи / WSV / Рабочий стол / testdir % mkdir практика % ls упражняться
Теперь переместите каталог Practice
на Рабочий стол с помощью команды mv
. Формат: mv источник назначения
, где источник
- текущее местоположение, а назначение
- это то место, куда мы хотим его переместить.
# Окна > mv testdir C: \ Users \ wsv \ Desktop > реж ... > cd .. > Get-Location C: \ Users \ WSV \ Рабочий стол > реж testdir # macOS % mv testdir / Users / WSV / Рабочий стол % ls % CD .. % pwd / Пользователи / wsv / Рабочий стол % ls
Вариантом перемещения является копия каталога, в котором остается исходная версия, но копия помещается в новое место. Команда для этого - cp
, за которой следует источник
и назначение
. Давайте скопируем каталог Practice
на рабочем столе в каталог testdir
, который в настоящее время пуст.
# Окна > cp практика C: \ Users \ wsv \ Desktop \ testdir > реж testdir упражняться > cd testdir > реж упражняться # macOS % cp практика / Пользователи / WSV / Рабочий стол / testdir % ls testdir упражняться % cd testidr % ls упражняться
Достаточно просто, правда? И особенно, если вы перемещаете или копируете что-то на несколько каталогов, это может быть намного быстрее, чем щелчок мышью, если вы достаточно хорошо знаете файловую систему своего компьютера.
Удалить каталоги
На этом этапе мы добавили на наш компьютер три новых каталога: testdir
и Practice
на нашем рабочем столе, а в testdir
подкаталог под названием Practice
.Чтобы очистить себя, давайте удалим каталог testdir
. Команда удаления для файла - rm
, но для удаления каталога и его содержимого необходимо добавить флаг -r
(для рекурсивного).
# Окна > Get-Location C: \ Users \ wsv \ Desktop \ testdir > cd .. > Get-Location C: \ Пользователи \ WSV \ Рабочий стол \ > реж testdir упражняться > rm -r testdir > реж упражняться # macOS % cd Desktop % pwd / Пользователи / wsv / Рабочий стол % ls testdir упражняться % rm -r testdir % ls упражняться
Внимание: Использование rm
является постоянным: каталог или файл исчезнут навсегда.Так что используйте его очень и очень осторожно. Будьте особенно осторожны с любыми флагами, которые вы применяете после него, если вы не понимаете точно, что будет делать команда.
Вспомогательные команды
В заключение, вот несколько вспомогательных команд, которые полезно знать. Команда clear
очистит терминал от прошлых команд и выходных данных, так что у вас будет чистый лист. Как мы уже обсуждали, команда tab
выполняет автозаполнение строки. Клавиши ↑
и ↓
циклически перебирают предыдущие команды, чтобы не набирать одно и то же снова и снова.
Для каждой легко доступной команды есть встроенное руководство. Например, чтобы найти команду whoami
, используйте формат whoami /?
в Windows и man whoami
в macOS.
# Окна > whoami /? # macOS % человек whoami
Для выхода вы можете закрыть оболочку командной строки с помощью мыши, но хакерский способ - использовать вместо этого команду оболочки exit
. Это работает по умолчанию в Windows, но в macOS необходимо изменить настройки терминала.Вверху экрана щелкните Терминал
, затем Настройки
в раскрывающемся меню. Щелкните Profiles
в верхнем меню, а затем Shell
из списка ниже. Есть радиокнопка «При выходе из оболочки:». Выберите «Закрыть окно».
# Окна > выход # macOS / Linux % выход
Довольно круто, правда? Практика показывает, что командная строка - гораздо более эффективный способ навигации и управления компьютером, чем использование мыши.Большинство разработчиков программного обеспечения не являются экспертами по командной строке. Они знают основные команды, перечисленные выше, и знают, как найти что-нибудь более сложное.
Следующие шаги
Мы только прикоснулись к тому, что можно сделать в командной строке. Можно писать автоматические сценарии, подключаться к серверам и выполнять множество других действий. Некоторые разработчики в своей карьере достаточно хорошо разбираются в командной строке, в то время как другие считают, что по большей части перечисленные выше команды покрывают 99% их потребностей.Полный список команд для каждой операционной системы можно найти на ss64.com.
Если вы хотите узнать больше, две отличные книги - это PowerShell для системных администраторов, если вы работаете в Windows, и Командная строка Linux, если вы работаете в macOS или используете серверы Linux.
Введение в командную строку
Что такое командная строка?
Командная строка - это текстовый интерфейс для вашего компьютера. Так же, как Windows Explorer в Windows или Finder в Mac OS X, он позволяет вам перемещаться по файлам и папкам вашего компьютера, но он полностью основан на тексте.Командная строка работает путем ввода команд против приглашения, которое затем передается в операционную систему компьютера, на котором выполняются эти команды.
Как мне получить доступ к командной строке?
Для доступа к командной строке мы используем эмулятор терминала, обычно называемый терминалом. В Mac OSX вы можете получить доступ к терминалу, открыв приложение «Терминал» из папки «Приложения». В Windows вы можете скачать здесь Git, который включает терминал.
Прежде чем мы начнем, вы должны обратить внимание на некоторые DO, и DONT, при использовании командной строки.Командная строка - это мощный инструмент, который может значительно ускорить ваш рабочий процесс, но также может нанести непоправимый вред вашему компьютеру, поэтому убедитесь, что вы используете его ответственно.
Если вы не уверены, что делает команда. НЕ вводите ее в свой терминал. Команда rm -rf /
- это классическая команда, которую вы никогда не должны использовать, она удалит все файлы на вашем компьютере. Если вы застряли и нуждаетесь в помощи, попросите кого-то, кому вы доверяете. Само собой разумеется, что все команды в этом руководстве безопасны в использовании.
Пример 1: перемещение в терминале
После того, как вы открыли свой терминал, введите следующее после знака $
или >
и нажмите Enter: ( $
или >
- это приглашение, вам не нужно повторно вводить его в терминале, только символы, которые идут после них):
Как вы думаете, что там произошло? Постарайтесь объяснить своими словами, что делает эта команда.
pwd
или распечатать рабочий каталог Команда pwd
распечатывает текущий каталог, в котором вы находитесь.Что такое каталоги? Каталоги - это папки, эти термины используются как синонимы. Если вы только что открыли свой терминал, вы, вероятно, находитесь в домашнем каталоге своего компьютера и должны получить следующий результат:
Теперь, когда вы знаете, как узнать, где вы находитесь на своем компьютере, вы можете спросить себя: как мне узнать, какие файлы находятся в каталоге? Вот здесь и пригодится команда ls
.
ls
или списокВ вашем терминале введите:
и нажмите Enter.Скорее всего, эта команда вернула вам кучу файлов и папок. Команда ls
распечатывает содержимое каталога. Если вы находитесь в домашнем каталоге своего компьютера, вы должны увидеть распечатанные каталоги, такие как «Документы», «Приложения» и т. Д. Теперь, как вы перемещаетесь между каталогами?
cd
или сменить каталог Команда cd
позволяет перемещаться между каталогами. Команда cd
принимает аргумент, обычно это имя папки, в которую вы хотите перейти, поэтому полная команда - cd your-directory
.
В терминале наберите:
Допустим, мы хотели перейти в папку рабочего стола: просто введите свой терминал
Теперь наберите:
Это должно вернуть вам что-то вроде:
/ Пользователи / ваше имя пользователя / Рабочий стол
Теперь, когда мы перешли на рабочий стол, вы можете снова ввести ls
, затем cd
. Мы только что перешли в новый каталог. Вы можете использовать эти две команды для навигации по вашему компьютеру.
Пока это все хорошо, но иногда вам может понадобиться пойти глубже, чем на один уровень в одной команде. cd
позволяет вам делать это, связывая каталоги с /
, так что cd your-directory
становится cd your-directory / directory-inside-your-directory
.
Теперь мы знаем, как двигаться вперед. Но как вернуться вверх по дереву каталогов? Введите свой терминал:
Теперь сделайте pwd
. Вы только что вернулись на один каталог! Цепочка работает и в обратном направлении, поэтому, если вы наберете cd ../ ..
, вы вернетесь назад на два каталога.
Если вы хотите вернуться в домашний каталог вашего компьютера, просто введите
cd
в терминал.cd
без аргумента возвращает вас в домашний каталог независимо от того, где вы сейчас находитесь в структуре каталогов
Упражнение 1: используйте
ls
и cd
для входа и выхода из нескольких каталогов на вашем компьютереЭто основы навигации в терминале. Что еще мы хотели бы там делать? Как насчет создания каталогов и файлов?
Пример 2: создание каталогов и файлов
mkdir
или сделать каталогВернитесь в домашний каталог вашего компьютера и введите:
в терминал.Теперь используйте ls
, чтобы увидеть содержимое домашнего каталога. Вы должны увидеть новую папку temp. Вы только что создали новую папку! Как следует из названия, mkdir
создает каталоги. Что, если бы мы хотели создать каталог внутри каталога? cd
в temp и введите:
Теперь выполните ls
, и вы должны увидеть папку stuff
. Теперь запустите cd stuff
и сделайте еще ls
. Внутри был создан каталог бит и
.
Что делать, если вы хотите создавать файлы?
коснитесь
или создайте файлы Внутри папки бит
, введите:
Выполните ls
, чтобы проверить, был ли создан файл. Внутри битов должен быть новый файл с именем bobs.txt. Для создания файлов мы использовали touch
. С Touch вы можете создавать файлы с любым расширением, только не забудьте указать, какой файл вы создаете: например, index.html
, script.js
, style.css
- допустимые расширения.
mv
или переместите товар Что делать, если вы создали файл не в том месте? Для этого есть команда. Давайте перенесем bobs.txt
в новое место. Внутри бит
типа папки:
Введите ls
, и файла больше нет. Введите cd ..
, это переместит вас на одну папку вверх в папку stuff
. Затем введите ls
, и файл bobs.txt будет там.Эта команда состоит из 3 частей: команда mv
, элемент, который нужно переместить, здесь это bobs.txt
, и новое место назначения для элемента, здесь это ..
или один каталог выше состав. Вы также можете ввести каталог назначения, заменив ..
на , материал
, и он выполнит ту же работу.
Упражнение 2:
cd
вернуться в temp и создать пару новых папок с файлами в них