Найти тему
Nuances of programming

11 важнейших консольных команд для разработчика

Оглавление

Источник: Nuances of Programming

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

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

Любая операционная система, основанная на Linux или Mac имеет командную строку по умолчанию. Обычно она называется “терминал”. Командная строка позволяет нам легко перемещать и переименовывать файлы, сортировать данные и осуществлять навигацию. 

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

1. grep

$ grep "some string" file

Команда grep ищет заданные шаблоны в каждом файле и те, которые отделены знаками новой строки, затем печатает все строки, совпадающие с этими шаблонами.

Использование grep для поиска всех ключевых слов React в файле.
Использование grep для поиска всех ключевых слов React в файле.

Добавление опции -i позволяет искать без учета регистра. В этом случае совпадениями будут зачтены такие слова, как “REACT”, “REact” и “react”.

$ grep -i "REact" file

Используя значение -c (count), мы можем найти число строк, совпадающих с заданным шаблоном/строковым типом.

$ grep -c "react" index.js

Подсчитывание количества упоминаний слова “react” в файле.
Подсчитывание количества упоминаний слова “react” в файле.

Также отмечу, что варианты исполнения команды egrep и fgrep означают то же самое, что и grep -E и grep -F, соответственно. Это устаревшие варианты, применяемые для обратной совместимости.

Вы можете использовать grep для гораздо большего числа задач. Подробная инструкция по применению доступна здесь.

2. ls

$ ls

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

Применение команды ls для отображения всех файлов в текущей директории.
Применение команды ls для отображения всех файлов в текущей директории.

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

3. pwd

$ pwd

Вывод пути текущей рабочей директории (pwd)
Вывод пути текущей рабочей директории (pwd)

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

4. cat

$ cat somefile.js

Отображение содержимого файла посредством cat
Отображение содержимого файла посредством cat

Команда cat имеет три возможных функции по отношению к текстовым файлам:

  • Их отображение.
  • Объединение копий.
  • Создание новых.

Наиболее распространенное применение cat —это чтение содержимого файла. Она в этом отношении является наиболее удобной.

В нижеприведенном примере стандартный вывод cat перенаправлен к file2 посредством перенаправляющего оператора (он представлен в виде угловой скобки справа от команды):

$ cat somefile > somefile2

Создание файлов посредством cat
Создание файлов посредством cat

5. echo

$ echo "some text"

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

-8

6. touch

$ touch somefile

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

Создание нового файла посредством touch.
Создание нового файла посредством touch.

Обратите внимание на то, как touch применяется для создания файла, в то время как cat используется для заглядывания внутрь этого файла. Поскольку вновь созданный файл index2.js пуст, cat ничего не отображает.

Вот основные отличия между cat и touch:

  • cat применяется для создания файлов с содержимым.
  • touch создает пустые файлы. Помните. что файл, созданный командой touch, пустой. Эта функция полезна в случаях, когда изначально нет данных для размещения в файле.

7. mkdir

$ mkdir some-directory

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

Создание новой директории посредством mkdir.
Создание новой директории посредством mkdir.

Обратите внимание, что мы можем заглянуть внутрь этой директории через команду ls.

7.1 rm

$ rm someFile

Rm применяетсядля удаления и на все 100% справляется со своей задачей, проще говоря — окончательно удаляет файл.

Удаление файла через команду rm
Удаление файла через команду rm

По умолчанию эта команда не удаляет директории. Однако это возможно, если добавить значение -rf.

$ rm -rf some-directory

Удаление директории через команду rm (обратите внимание, что для этого мы добавили дополнительное значение -rf.
Удаление директории через команду rm (обратите внимание, что для этого мы добавили дополнительное значение -rf.

Имейте в виду, что в этом случае удаляется директория целиком, включая все ее содержимое.

7.2 rmdir

$ rmdir some-directory

Команда rmdir удаляет каталог только в случае, когда в нем нет содержимого.

Удаление пустой директории через rmdir
Удаление пустой директории через rmdir

8. tail

$ tail somefile

Команда tail (хвост) считывает файл и выводит его последнюю часть (тот самый “хвост”).

Вывод определенного числа (-n) последних строк вместо 10 по умолчанию
Вывод определенного числа (-n) последних строк вместо 10 по умолчанию

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

Ниже приведен пример ее применения при работе с логами файлов.

-15

9. wget

$ wget someurl

GNU Wget — бесплатная программа для извлечения файлов с применением HTTP, HTTPS, FTP и FTPS (наиболее широко распространенных протоколов интернет связи). Этот инструмент командной строки не интерактивный, поэтому его можно легко вызван из скриптов, задач CRON, терминалов без поддержки X-Windows и т.п.

Применение wget для извлечения информации о web-странице.
Применение wget для извлечения информации о web-странице.

GNU Wget имеет множество инструментов, позволяющих легко извлекать крупные файлы или зеркалить целые web/FTP сайты. 

Например:

  • Может возобновлять отмененные загрузки посредством REST и RANGE.
  • Может использовать шаблоны имен файлов и рекурсивно зеркалить директории.
  • Поддерживает работу с NLS файлами сообщений для различных языков.
  • При необходимости может преобразовывать абсолютные ссылки загруженных документов в относительные, после чего эти документы могут ссылаться локально один на другой.
  • Запускается на большинстве операционных систем семейств UNIX и Microsoft Windows.
  • Поддерживает HTTPS прокси.
  • Поддерживает HTTP куки.
  • Поддерживает постоянные HTTP соединения.
  • Может работать в автоматическом либо фоновом режиме.
  • Использует временные метки локальных файлов для определения необходимости повторной загрузки при зеркалировании.
  • GNU Wget распространяется под лицензией GNU General Public.

Дополнительную информацию можно получить в официальной документации этого продукта.

10. find

$ find path -name filename

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

Поиск всех файлов с именем index.js
Поиск всех файлов с именем index.js

Поиск файлов конкретного типа

Команда find также позволяет находить файлы одного типа в одной директории (включая поддиректории). Например, следующая команда будет искать все .js файлы в текущей рабочей директории.

$ find . -name "*.js"

Поиск всех .js файлов в каталоге компонентов
Поиск всех .js файлов в каталоге компонентов

11. mv

$ mv somefile /to/some/other/path

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

Перемещение some-directory из директории components в каталог utils.
Перемещение some-directory из директории components в каталог utils.

Заключение

Благодарю за чтение и надеюсь, что вы нашли много нового для себя. 

Оставайтесь любопытными и жаждущими знаний!

Читайте также:

Читайте нас в телеграмме и vk

Перевод статьи Indrek Lasn Here Are 11 Console Commands Every Developer Should Know