Работа со строками cmd: CMD/BAT Поиск строк и запись в файл

Урок 9 по CMD — цикл for, обработка текстовых строк

Автор Coding На чтение 5 мин Просмотров 1.6к. Опубликовано

В этой статье мы рассмотри как используется цикл командной строки for для обработки текстовых строк и файлов. Тут будет фигурировать ключ /f, который меняет логику работы цикла командной строи (cmd) for и позволяет производить разбор любого текста по полочкам, так сказать.

Давайте начнем…

Для обработки текста или содержимого текстового файла применяется следующая конструкция:

for /f [«параметры»] %%переменная in (источник) do (оператор)

Тут “параметры” задают параметры поиска, мы их рассмотрим ниже, “источник” – тут нужно указать или путь к текстовому файлу, или текст, или вывод команд, “оператор” – тут собственно, находятся команды для обработки текста. Сам текст можно хранить в переменной, имя которой мы зададим в качестве источника.

Значение “параметры” может быть одним или комбинацией таких параметров:

eol – позволяет задать признак концевого комментария (end-of-line comment character). Весь текст, что будет находиться после него, будет приниматься за комментарий, например,“eol=#” – тут символ # является признаком концевого комментария. Собственно, комментарий не будет обрабатываться.

skip – позволяет в цикле cmd for задать количество строк, которые нужно пропустить, счет идет с начала файла, например, “skip=10” – в данном случае будут пропущены строки от первой до десятой.

delims – параметр позволяет задать дополнительные разделители строки на подстроки. Так, стандартными разделителями является пробел и символ табуляции. Например, “delims=,.:” – тут мы определили, что запятые, точки и двоеточия являют­ся разделителями.

tokens  — данный параметр командной стоки цикла for cmd позволяет указать, какие номера полей строки, полученных из заданного текста, нужно передать для обработки в цикл. Полученные поля будут храниться в отдельной переменной. Фактически, если принимать каждое слово строки как отдельный элемент, то параметр tokens позволяет указать, какие именно слова по счету нужно обработать. Как упоминалось выше, стандартным разделителем является пробел и табуляция.

Для дополнительной переменной, как и для переменной инициализации, в качестве имени указывается латинская буква, большая или маленькая. Значения можно указывать как через запятые, например, “tokens=1,4, 9” – первый, четвертый и девятый элемент, так и через диапазон, например, “tokens=4-11” – с четвертого по одиннадцатый. Можно комбинировать: “tokens=4-10,15,20” – с четвертого по десятый, а также, пятнадцатый и двадцатый элемент. Если мы укажем в качестве последнего значения звездочку, то создастся еще одна переменная, которая будет хранить в себе все остальные элементы (строки) текста.

usebackq – данный параметр является довольно интересным и полезным, так как позволяет выполнять команды, передав их как параметр. Включив этот параметр, двойные кавычки будут применяться для имен файлов и пути к ним, обратные кавычки (`), они находятся на той же кнопке, что и символ (~) – для исполняемых команд, а одинарные кавычки – для литеральных строк.

Хорошо, теперь можно рассмотреть цикл cmd for и работу с ним на практике.

Допустим, у нас есть файл test.txt, в котором прописаны такие строки:

100 200 300
#это комментарий
400 500 600
10; 20; 30;

Попробуем выполнить такой код:

@echo off
for /F "eol=#" %%A in(d:\work\test.txt) do echo %%A

На выходе функция echo выведет:

100
400
10;

Как видим, строка с комментарием не вывелась, но и остальные строки вывелись не полностью, что бы это исправить, напишем так:

@echo off
for /F "eol=# tokens=*" %%A in(d:\work\test.txt) do echo %%A

Бинго, теперь нам вывело все строки полностью, кроме строки с комментариями, так как мы указали в параметре tokens значение *, то есть все. В предыдущем примере сценарий принимал пробелы как разделители.

Теперь запишем в текстовый файл такой текст:

Ukraina-Kijev-grivna-salo
Rossija-Moskva-rubl-bliny
Belorussija-Minsk-zajec-kartoska
Chechija-Praga-krona-pivo

@echo off
for /f "tokens=1-4 delims=-" %%A in (d:\work\test.txt) do (
(@echo Strana:%%A Stolica:%%B Valuta:%%C Produkt:%%D)& Echo.)

Тут мы указали, что разделителем является тире, и указали, что надо обработать первые четыре поля строки, каждое из которых хранится в отдельной переменной. Как видим, в цикле for cmd идет обработка каждой строки из текста, на выходе мы получим:

Strana:Ukraina Stolica:Kijev Valuta:grivna Produkt:salo

Strana:Rossija Stolica:Moskva Valuta:rubl Produkt:bliny

Strana:Belorussija Stolica:Minsk Valuta:zajec Produkt:kartoska

Strana:Chechija Stolica:Praga Valuta:krona Produkt:pivo

Я специально вставил между строк пустую (echo. > «%get_dir%»`)do echo OK
type %get_dir%
set get_dir=

В данном случаем мы выполняем команду: записываем фразу “Hello, Wold” в текстовый файл, путь к которому содержится в переменной get_dir. В конце выводим содержимое файла и удаляем переменную.

Знаю, знаю, мало примеров, ничего, я исправлюсь…

Сочетания клавиш приложения «Терминал» на Mac

Поиск по этому руководству

В приложении «Терминал»  на Mac можно быстро выполнять многие действия, используя сочетания клавиш. Сочетания клавиш приведены ниже и в меню приложения «Терминал» в строке меню. В меню приложения сочетания клавиш представлены с помощью символов.

Примечание. Сочетания клавиш в приложениях могут зависеть от языка и раскладки клавиатуры, которые используются на Mac. Если приведенные ниже сочетания клавиш работают не так, как ожидалось, посмотрите правильные сочетания в меню приложения в строке меню. Текущую раскладку клавиатуры, также называемую источником ввода, можно посмотреть в панели «Клавиатура».

Открыть «Терминал»

Работа с окнами и вкладками Терминала

Действие

Сочетание клавиш

Новое окно

Command-N

Новое окно с той же командой

Control-Command-N

Новая вкладка

Command-T

Новая вкладка с той же командой

Control-Command-T

Показать или скрыть панель вкладок

Shift-Command-T

Показать все вкладки или выйти из обзора вкладок

Shift-Command-обратная косая черта (\)

Новая команда

Shift-Command-N

Новое удаленное подключение

Shift-Command-K

Показать или скрыть инспектор

Command-I

Править заголовок

Shift-Command-I

Изменить цвет фона

Option-Command-I

Увеличить шрифты

Command-знак «плюс» (+)

Уменьшить шрифты

Command-знак «минус» (–)

Следующее окно

Command-обратный апостроф (`)

Предыдущее окно

Command-Shift-тильда (~)

Следующая вкладка

Control-Tab

Предыдущая вкладка

Control-Shift-Tab

Разделить окно на две панели

Command-D

Закрыть панель

Shift-Command-D

Закрыть вкладку

Command-W

Закрыть окно

Shift-Command-W

Закрыть другие вкладки

Option-Command-W

Закрыть все

Option-Shift-Command-W

Прокрутить вверх

Command-Home

Прокрутить вниз

Command-End

Страница вверх

Command-Page Up

Страница вниз

Command-Page Down

Строка вверх

Option-Command-Page Up

Строка вниз

Option-Command-Page Down

Редактирование командной строки

Действие

Сочетание клавиш

Перемещение точки вставки

Переместите курсор в новую точку вставки при нажатой клавише Option.

Перемещение точки вставки в начало строки

Control-A

Перемещение точки вставки в конец строки

Control-E

Перемещение точки вставки на один символ вперед

Стрелка вправо

Перемещение точки вставки на один символ назад

Стрелка влево

Перемещение точки вставки на одно слово вперед

Option-правая стрелка

Перемещение точки вставки на одно слово назад

Option-левая стрелка

Удаление строки

Control-U

Удаление до конца строки

Control-K

Удаление вперед до конца слова

Option-D (доступно при выбранном параметре Использовать клавишу «Option» в качестве мета-клавиши)

Удаление назад до начала слова

Control-W

Удалить один символ

Delete

Удаление одного символа после курсора

Удаление вперед (или используйте сочетание клавиш Fn-Delete)

Транспонирование двух символов

Control-T

Выбор и поиск текста в окне Терминала

Действие

Сочетание клавиш

Выбрать полный путь файла

Дважды нажмите путь к файлу, удерживая клавиши Shift и Command

Выбрать всю строку текста

Трижды нажмите строку

Выбрать слово

Дважды нажмите слово

Выбрать URL

Дважды нажмите URL-адрес, удерживая клавиши Shift и Command

Выбрать прямоугольный блок

Выберите текст, удерживая клавишу Option

Вырезать

Command-X

Копировать

Command-C

Скопировать без цвета фона

Control-Shift-Command-C

Скопировать простой текст

Option-Shift-Command-C

Вставить

Command-V

Вставить выбранное

Shift-Command-V

Вставить текст с escape-эквивалентами

Control-Command-V

Вставить текст с escape-эквивалентами

Control-Shift-Command-V

Найти

Command-F

Найти далее

Command-G

Найти ранее

Command-Shift-G

Найти выбранное

Command-E

Перейти к выбранному

Command-J

Выбрать все

Command-A

Открыть панель «Символы»

Control-Command-пробел

Работа с маркерами и закладками

Действие

Сочетание клавиш

Маркировать

Command-U

Отметить как закладку

Option-Command-U

Удалить пометку

Shift-Command-U

Отметить строку и отправить символ переноса строки

Command-Return

Отправить Return без маркировки

Shift-Command-Return

Вставить закладку

Shift-Command-M

Вставить закладку с именем

Option-Shift-Command-M

Перейти к предыдущему маркеру

Command-стрелка вверх

Перейти к следующему маркеру

Command-стрелка вниз

Перейти к предыдущей закладке

Option-Command-стрелка вверх

Перейти к следующей закладке

Option-Command-стрелка вниз

Очистить до предыдущего маркера

Command-L

Очистить до предыдущей закладки

Option-Command-L

Очистить до начала

Command-K

Выбрать область между маркерами

Shift-Command-A

Другие сочетания клавиш

Действие

Сочетание клавиш

Включить или выключить полноэкранный режим

Control-Command-F

Показать или скрыть цвета

Shift-Command-C

Открыть настройки Терминала

Command-запятая (,)

Break

Ввод точки (. ) при нажатой клавише Command равнозначен сочетанию клавиш Control-C в командной строке

Напечатать

Command-P

Безопасный сброс состояния эмулятора Терминала

Option-Command-R

Аппаратный сброс состояния эмулятора Терминала

Control-Option-Command-R

Открыть URL

Удерживая клавишу Command, дважды нажмите URL

Добавить полный путь к файлу

Перетяните файл из Finder в окно Терминала.

Экспортировать текст как

Command-S

Экспортировать выбранный текст как

Shift-Command-S

Поиск по истории команд в обратном направлении

Control-R

Переключить параметр «Разрешить отчеты об использовании мыши»

Command-R

Переключить параметр «Использовать клавишу Option как метаклавишу»

Command-Option-O

Показать альтернативный экран

Shift-Command-стрелка вниз

Скрыть альтернативный экран

Shift-Command-стрелка вверх

Открыть man-страницу для выбранного

Control-Shift-Command-знак вопроса (?)

Искать выбранное в указателе man-страницы

Control-Option-Command-косая черта (/)

Завершить имя каталога или файла

Введите один или несколько символов в командной строке, затем нажмите Tab

Отобразить список возможных вариантов завершения имени каталога или файла

Введите один или несколько символов в командной строке, затем дважды нажмите Tab

См. такжеСоздание собственных функциональных клавиш в Терминале на MacИзменение настроек клавиатуры для профиля в Терминале на MacСтатья службы поддержки Apple: «Сочетания клавиш Mac»

Максимальное количество символов:
250

Не указывайте в комментарии личную информацию.

Максимальное количество символов: 250.

Благодарим вас за отзыв.

Интерфейс командной строки: плюсы и минусы

Интерфейс командной строки (CLI) часто называют символьным пользовательским интерфейсом, интерпретатором командного языка или консольным пользовательским интерфейсом. конкретная программа. Несмотря на его кажущуюся сложность, более 70% опытных разработчиков используют интерфейс командной строки (CLI) из-за его прямого контроля и эффективности. В этой статье мы рассмотрим плюсы и минусы интерфейсов командной строки, сравнивая их с их аналогом — графическим пользовательским интерфейсом (GUI). Узнайте, почему этот текстовый инструмент выбирают большинство и подходит ли он вам.

5 важных выводов из этой статьи:
  • Интерфейс командной строки обеспечивает мощное и эффективное текстовое взаимодействие с компьютерами.
  • Плюсы

  • CLI: более высокая производительность, меньшее использование ресурсов и высокая гибкость — благо для программистов и администраторов.
  • CLI

  • по стабильности и согласованности превосходит GUI, обеспечивая надежную среду для автоматизации и сложных операций.
  • Тем не менее, крутая кривая обучения CLI и запоминание команд могут пугать новичков.
  • Несмотря на препятствия, популярность CLI среди продвинутых пользователей остается высокой для эффективных крупномасштабных операций.

Содержание

  • Что такое интерфейс командной строки?
  • Преимущества интерфейса командной строки
  • Недостатки интерфейса командной строки

Связанный : Как история ИТ изменилась за эти годы и будет меняться дальше 

Достигните эластичности облака с помощью Iron

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

Начните бесплатный пробный период

Что такое интерфейс командной строки?

 

Если вы новичок в программировании, CLI — это, по сути, программа командной строки, которая использует текст для выполнения функций в операционной системе.

Обычно использовавшийся в 1960-х, 1970-х и в 1980-х годах, этот подход позволял пользователям взаимодействовать с операционной системой или приложением с помощью клавиатуры. Пользователи будут вводить команды в CLI для получения определенного вывода или ответа (например, таблицы, сообщений, списка и т. д.). До появления мыши это был единственный способ связи с компьютером.

Сегодня большинство пользователей больше не используют интерфейсы командной строки из-за разработки графического интерфейса. Тем не менее, CLI по-прежнему используется разработчиками и администраторами при установке программного обеспечения, настройке компьютеров и доступе к функциям, которые иначе недоступны с графическим интерфейсом. Примерами интерфейсов командной строки являются операционная система MS-DOS и командная оболочка Windows. Языки программирования, такие как Python, также поддерживают CLI.

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

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

Бессерверные инструменты Iron.io = IronWorker и IronMQ

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

Адрес электронной почты

Пожалуйста, введите действительный адрес электронной почты.

Начните бесплатный пробный период

Спасибо за подписку! Пожалуйста, проверьте свою электронную почту для получения дальнейших инструкций.

Что-то пошло не так. Пожалуйста, проверьте свои записи и повторите попытку.

Преимущества интерфейса командной строки 

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

Интерфейс командной строки также может повысить безопасность. В 2015 году стоимость вредоносных программ по всему миру составляла 500 миллиардов долларов. Однако при текущей траектории общие глобальные затраты, как ожидается, достигнут 6 триллионов долларов к 2021 году. Когда речь идет о рекламном ПО, вирусах и вредоносных программах, интерфейс командной строки является очень эффективным инструментом. Специалисты по безопасности часто упускают из виду этот простой метод, выбирая более сложные инструменты на основе графического интерфейса. Тем не менее, командный интерфейс Windows прост в использовании и гораздо менее сложен, что является огромным плюсом.

Подводя итог, основные преимущества интерфейса командной строки включают:

  • Если вы знаете команды, интерфейс командной строки может быть намного быстрее и эффективнее, чем интерфейс любого другого типа. Он также может легко справляться с повторяющимися задачами.
  • Для использования CLI требуется меньше памяти по сравнению с другими интерфейсами. Он также не использует столько процессорного времени, сколько другие интерфейсы.
  • CLI не требует Windows, и можно использовать монитор с низким разрешением. Это означает, что для этого требуется меньше ресурсов, но при этом он очень точен.

Недостатки интерфейса командной строки 

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

Поскольку интерфейс командной строки строго текстовый, знание языка имеет решающее значение. Также практически нет права на ошибку. Вам потребуется запомнить множество различных команд, чтобы получить максимальную отдачу от использования интерфейса командной строки. Если вы введете неправильную команду, вы можете случайно удалить файлы или закрыть программу до того, как сохраните свою работу. Это считается основным недостатком использования CLI.

Подводя итог, отметим некоторые из основных недостатков:

  • Если вы новичок в программировании или никогда не использовали интерфейс командной строки, этот подход может сбить с толку. Есть также много команд, которые необходимо выучить (например, в этом случае Unix есть сотни команд).
  • Точность имеет первостепенное значение. Если есть орфографическая ошибка, команда не будет выполнена. Кроме того, если инструкция введена с ошибкой, вам часто придется начинать с нуля.

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

Готовы узнать о командном интерфейсе IronWorker?

 

Читать здесь.

Получите доступ к облаку с помощью Iron.io

Узнайте, как IronWorker и IronMQ могут помочь вашему приложению получить доступ к облаку благодаря фанатичной поддержке клиентов, надежной производительности и конкурентоспособным ценам.

Получить железо

← Очередь сообщений против Apache KafkaSQS против Kafka: сравнение и руководство →

Взаимодействие с командной строкой

На прошлом уроке мы узнали, как получить доступ к командной строке. В этом уроке мы рассмотрим некоторые из наиболее распространенных команд, которые мы можем использовать с Bash. Мы будем использовать многие из них ежедневно в Epicodus, а также в промышленности.


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

В этом уроке мы узнаем, как использовать командную строку для выполнения следующих действий:

  • Печать рабочего каталога
  • Создание новых файлов и каталогов
  • Навигация между каталогами
  • Просмотр содержимого каталога
  • Перемещение файлов
  • Удаление файлов

Прежде чем мы начнем, нам нужно перейти на рабочий стол. Если вы используете Mac, введите в терминале следующее и нажмите Enter . Помните — вы не должны вводить $ — это символ самой подсказки, а не команды, которую вы должны ввести!

 $ компакт-диск ~/рабочий стол
 

Приведенная выше команда перемещает нас из домашнего каталога на рабочий стол. Мы обсудим это в ближайшее время!

Если вы пользователь Windows, щелкните правой кнопкой мыши на рабочем столе и выберите «Git Bash здесь», чтобы открыть экран Git Bash на рабочем столе. Вы уже находитесь в каталоге рабочего стола.

Получение текущего местоположения с помощью

$ pwd

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

Мы можем использовать командную строку для осмотра нашего компьютера так же, как мы делаем это с помощью программ Mac Finder или Windows Explore. Единственное отличие состоит в том, что мы используем текстовый интерфейс вместо графического пользовательского интерфейса (GUI).

Введите $ pwd , чтобы проверить текущий каталог. На компьютерах Epicodus мы увидим следующее (если мы следовали вышеуказанным указаниям, чтобы перейти к рабочему столу). pwd возвращает файл path следующим образом:

 /Пользователи/Гость/Рабочий стол
 

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

В приведенном выше примере Desktop находится внутри каталога Guest , который, в свою очередь, находится внутри каталога Users , который находится в нашем корневом каталоге.

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

Когда мы открываем приложение «Терминал» на Mac или открываем Git Bash через проводник Windows, по умолчанию мы начинаем с домашнего каталога. Однако на наших персональных машинах путь от домашнего каталога к рабочему столу может различаться в зависимости от используемых нами операционных систем. Вот почему мы позаботились о том, чтобы все мы начали в Каталог рабочего стола .

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

Создание новых каталогов

Прежде чем мы научимся перемещаться по различным каталогам, мы собираемся создать несколько новых каталогов. Мы можем сделать это с помощью команды $ mkdir , что является сокращением от make directory .

Введите следующее в командную строку (а затем нажмите Enter ):

 $ mkdir практика кодирования
 

Это создаст каталог с именем coding-practice на вашем рабочем столе. Как мы видим, команду $ mkdir нельзя запустить самостоятельно — ей нужно знать имя каталога, который нужно создать. Для этого после ставим пробел $mkdir и далее пишем название директории, которую хотим создать. Также ставим дефис между «кодированием» и «практикой» — иначе команда $ mkdir создаст два каталога , один с именем , кодирующий , и один с именем , практика . Это не то, что мы хотим здесь! Разработчики обычно используют дефисы или символы подчеркивания для имен файлов, содержащих более одного слова.

Поначалу создание каталога может показаться не очень интуитивным, но большинство разработчиков предпочитают этот подход более громоздкому интерфейсу графического интерфейса «укажи и щелкни». Например, если мы хотим создать пять новых каталогов, мы можем сделать что-то вроде следующего. (На самом деле не запускайте эту команду — это просто пример.)

 $ mkdir кодирование1 кодирование2 кодирование3 кодирование4 кодирование5
 

Это намного быстрее, чем использование графического интерфейса для создания пяти каталогов по отдельности.

Команда $ mkdir всегда будет создавать каталог в нашем текущем рабочем каталоге. Мы знаем, что наш текущий рабочий каталог — Desktop из-за команды pwd . На самом деле это относится ко всем командам Bash — они будут выполняться из текущего рабочего каталога.

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

Для практики создадим еще один каталог:

 $ mkdir my-first-website
 

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

Список всего содержимого с помощью

$ ls

Команда $ ls означает список . Выполнение этой команды предлагает терминалу перечислить каталоги («каталоги» — это просто технический термин для папок) и файлы в нашем текущем местоположении. Теперь запустим команду. Должно быть где-то от двух до слишком большого количества каталогов, в зависимости от состояния вашей личной машины. Однако давайте представим, что у нас есть абсолютно чистый рабочий стол (потому что мы так организованы и готовы начать кодирование). Выполнение этой команды будет выглядеть примерно так:

 epicodus-5:~ Guest$ ls
Практика кодирования на моем первом веб-сайте
 

Мы видим список каталогов, которые мы только что создали. Мы также можем перечислить каталоги внутри одного из этих каталогов, включив его имя после команды $ ls . Вот пример:

 $ ls практика кодирования
 

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

Скоро мы научимся создавать файлы, но сначала давайте посмотрим, как мы можем перемещаться между каталогами.

Перемещение между каталогами с помощью

$ cd

$ cd означает изменение каталога . Как следует из названия, эта команда позволяет нам перейти в каталог, отличный от того, в котором мы сейчас находимся. Как и в случае с $ mkdir , мы не можем запустить команду $ cd самостоятельно. В этом случае командная строка должна знать, в какой каталог она должна перейти.

Рассмотрим несколько способов выполнения команды $ cd :

$ cd имя-каталога

Мы можем указать имя каталога, к которому мы хотим перейти, после команды cd . Например, если мы хотим перейти в каталог coding-practice , мы должны запустить следующую команду:

 $ cd coding-practice
 

После запуска $ cd текст на экран не выводится. Это нормально. Однако приглашение, предшествующее командной строке, изменится, чтобы отразить наше новое местоположение. Вместо того, чтобы видеть что-то вроде $ desktop , мы увидим $ coding-practice . Мы можем проверить наш текущий каталог с помощью команды $pwd .

Помните команду, которую пользователи Mac выполнили в начале этого урока, чтобы перейти на рабочий стол?

 $ cd ~/рабочий стол
 

В приведенном выше примере мы использовали $ cd для перехода в каталог с правой стороны пути ( Desktop ). ~ (символ тильды) представляет домашний каталог на Mac (а также в операционных системах Linux). Мы всегда можем вернуться в домашний каталог в операционной системе Mac или Linux, набрав $ кд ~ . Затем мы можем указать дополнительные каталоги в пути, чтобы перейти в другое место из домашнего каталога. (Windows не использует символ тильды для обозначения домашнего каталога, поэтому пользователи Windows не смогут использовать этот ярлык, если только вы не используете Git Bash, который использует символ тильды. )

Другими словами, как пока мы знаем правильный путь, мы можем добраться до любого места на нашем компьютере с помощью одной команды $ cd . Например, чтобы добраться до практики кодирования из любого места на компьютере Mac, мы просто добавим coding-practice к приведенной выше команде:

 $ cd ~/Desktop/coding-practice
 

Хотя у пользователей Windows нет ярлыка ~ , применяется та же общая идея. Пока мы вводим правильный путь, мы можем использовать одну команду $ cd для перемещения по любому количеству каталогов.

$ cd — одна из самых полезных команд, которую вы выучите, и мы будем использовать ее все время в Epicodus.

$ cd ..

Включение двух точек, например .. , позволяет перейти в каталог на один уровень выше текущего каталога. Если мы находимся в каталоге coding-practice , $ cd .. поднимет нас на один уровень в каталог desktop . Мы могли бы продолжать выполнять $ cd .. , пока не достигнем нашего корневого каталога — тогда мы не можем двигаться дальше.

Если бы мы хотели подняться на два уровня выше, мы могли бы сделать что-то вроде этого:

$ кд ../..
 

Как вы могли догадаться, мы просто добавили /.. к команде, чтобы подняться еще на один уровень.

Создание файлов

Мы уже научились создавать каталоги. Теперь пришло время научиться создавать файлы. Мы можем сделать это с помощью команды $ touch . Давайте добавим новый файл в каталог my-first-website . Используйте команду $ cd , чтобы перейти в этот каталог. Если вы в настоящее время находитесь в каталоге coding-practice , мы можем попасть туда, выполнив следующие действия:

 $ cd ../мой-первый-сайт
 

В приведенном выше примере мы указываем относительный путь . Это отличается от абсолютного пути , где мы начинаем с корневого каталога. С относительным путем нам просто нужно указать нашей машине, как получить доступ из нашего текущего каталога, а не полностью из корневого каталога.

Теперь давайте создадим новый файл:

 $ touch index.html
 

Как и в случае с $ mkdir , нам нужно указать имя. В данном случае это будет имя файла, который мы создаем. Не забудьте добавить расширения, если это необходимо. В приведенном выше случае мы создаем файл HTML, поэтому нам нужны .html расширение. Мы создадим множество HTML-файлов, начиная с самой первой недели занятий. ( index.html — очень распространенное соглашение об именах для файлов HTML.)

Если вы запустите $ ls , вы увидите, что наш новый файл создан:

 $ ls
index.html
 

Перемещение файлов

Команда $ mv означает move . Он может перемещать и переименовывать файлы. Если мы хотим переименовать наш файл index.html в my-first-website , мы должны сделать следующее:

 $ mv index. html my-first-webpage.html
 

Как видите, для команды $ mv требуется две части информации. Первое — это имя файла, который мы хотим переименовать или переместить. Второе — это новое имя или местоположение, которое мы хотели бы предоставить файлу. В приведенном выше примере мы переименовываем файл с именем index.html в my-first-webpage.html .

Мы можем подтвердить, что файл был успешно переименован, используя $ ls для вывода списка всех файлов в текущем местоположении:

 $ ls
моя первая веб-страница.html
 

Однако что, если мы хотим переместить этот файл из каталога my-first-website в каталог coding-practice ? Вот что нам нужно сделать:

 $ mv my-first-webpage.html ../coding-practice/my-first-webpage.html
 

Здесь мы используем команду $ mv для перемещения файла вместо его переименования. Во-первых, мы указываем имя файла, который хотим переместить ( my-first-webpage. html ). Нам не нужно указывать путь, потому что мы уже находимся в каталоге, где находится my-first-webpage.html . Затем мы указываем относительный путь к тому месту, где мы хотим, чтобы файл находился. Это говорит нашему компьютеру, где именно должен находиться файл и как он должен называться.

Обратите внимание, что мы должны перейти от до каталога с .. в приведенной выше команде. .. используется не только с $ cd . Он используется с путями в целом. Есть много-много команд, в которых нам нужно будет предоставить нашей машине путь, чтобы она точно знала, что делать. Далее указываем, что наш файл должен идти в практика кодирования справочник. Наконец, мы указываем, что файл по-прежнему должен называться my-first-webpage.html . Если бы мы хотели, мы могли бы также переименовать файл в процессе, выполнив что-то вроде этого:

 $ mv my-first-webpage.html ../coding-practice/index. html
 

Это переместило бы my-first-webpage.html , а переименовало бы файл обратно в index.html .

Если мы снова запустим $ ls , мы увидим, что my-first-webpage.html больше не указан:

 my-first-website $ ls
 

Давайте вернемся в каталог coding-practice :

 $ cd ../coding-practice
 

Теперь, если мы снова запустим $ ls , мы увидим наш перемещенный файл:

 epicodus-5:first-webpage Guest$ ls
моя первая веб-страница.html
 

Удаление файлов с помощью

$ rm имя-файла

Команда $ rm означает удалить и позволяет полностью удалить указанный файл. Предупреждение: Вы должны соблюдать осторожность при запуске $ rm ! Эта команда , а не перемещает файлы в корзину, так что нет возможности передумать. Как только вы удалите файл, он исчезнет и не может быть восстановлен.

Наш файл my-first-webpage.html готов к удалению — в конце концов, он не содержит всех наших любимых рецептов или чего-то еще. Так что заткнем!

 практика кодирования $ rm my-first-webpage.html
 

Объединяем $ rm команда с именем файла, который мы хотим удалить.

Удаление каталогов

Было ли удаление файла немного рискованным? Если это так, сделайте глубокий вдох… мы также можем использовать команду $ rm , чтобы удалить целых каталогов. Предупреждение: Как вы можете догадаться, это потенциально гораздо более рискованно, чем простое удаление одного файла. Например, если вы укажете, что ваш корневой или домашний каталог должен быть удален, это уничтожит все и, вероятно, сделает вашу машину полностью непригодной для использования.

Обратите внимание, что вы не можете находиться внутри каталога, который вы пытаетесь удалить. Это все равно, что завернуть себя в подарок. Если мы хотим удалить каталог coding-practice , нам сначала нужно перейти вверх и выйти из каталога. Предполагая, что мы все еще находимся в coding-practice , начнем с ввода:

 $ cd ..
 

Теперь мы можем запустить $ ls и убедиться, что практика кодирования все еще существует. Давай-ка и этого тоже!

 epicodus-5:введение в программирование Гость$ rm -r Практика кодирования
 

Обратите внимание, что нам нужно включить флаг -r . Это говорит о том, что каталоги должны быть рекурсивно удалены. Если бы мы не добавили флаг -r (а просто использовали $ rm ), мы бы получили следующую ошибку:

 rm: coding-practice: is a directory
 

Это означает, что мы забыли флаг -r .

Иногда Bash жалуется на удаление каталога. Вы можете переопределить Bash и удалить каталог с помощью -f флаг, что означает заставить .