Terminal команды: Терминал: необходимый минимум команд для начала работы | GeekBrains

Содержание

Командная строка | Основы командной строки

Для работы с командной строкой понадобятся две вещи:

  1. Терминал
  2. Командный интерпретатор

Терминал

Терминалом называют программу, которая эмулирует поведение «железного» терминала, состоящего из клавиатуры и монитора. В простейшем случае — это просто окошко с командной строкой внутри. Хороший терминал всё же не ограничивается одним окном, а позволяет открывать новые терминалы в табах — по такому же принципу, как работают вкладки в браузере. Такая функция есть в терминалах, идущих в составе Ubuntu и macOS. Терминал Windows не умеет ровным счётом ничего и нуждается в замене.

Некоторые терминалы позволяют делать сплиты, то есть разделять окно на части. Довольно удобный механизм, он реализован, например, в iterm2:

Хорошие терминалы также умеют восстанавливать завершённую сессию, создавать профили под разные задачи и многое другое.

Командный интерпретатор

У этого понятия множество синонимов, среди них shell («шелл»), командная оболочка и командный процессор. Командная оболочка — программа, через которую пользователь (или администратор) управляет операционной системой и установленными программами, используя командную строку. Оболочка отличается от большинства других программ тем, что она является лишь средством для выполнения определённых задач, а не самой задачей. Shell запускается внутри терминала и приглашает к вводу команд.

~$ █

Каждая строка, передаваемая пользователем системе — это команда, которую та должна выполнить. После ввода команды обязательно нажать Enter, только в этом случае она отправится на исполнение. До этого момента её можно редактировать.

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

date, которая выводит текущую дату.

date

Sun Aug 26 14:02:59 CEST 2018
█

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

# я комментарий

█

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

Командная оболочка и терминал — не одно и то же. Терминал — это программа, которая запускает командную оболочку внутри себя.

Как вы увидите далее, shell — это полноценная среда программирования, а многие команды являются стандартными конструкциями любого языка программирования, такими как переменные, циклы или условия. Кроме того, некоторые команды являются программами, а некоторые — нет. В ближайших уроках для простоты я буду говорить слово «команда», но потом объясню разницу

Командную оболочку нередко называют реплом (REPL, Read-Eval-Print-Loop), что отражается в способе взаимодействия с пользователем:

  1. Read — шелл ждёт ввода команды от пользователя
  2. Eval — шелл исполняет введённую команду
  3. Print — шелл выводит результат
  4. Loop — возвращаемся к первому пункту

Этот процесс называется интерактивной сессией: после загрузки шелл ждёт ввода команды, затем он её исполняет, выводит результат и снова ждёт ввода команды. Так происходит до тех пор, пока не будет дана команда на выход из терминала или выключение компьютера. REPL — широко распространённый способ взаимодействия с пользователем. В следующих курсах вы увидите, что он есть и у баз данных, и у языков программирования.

Для вашего удобства, в среде Хекслета сразу запущено два терминала, которыми можно и нужно пользоваться, выполняя упражнения к урокам. Терминалы доступны в нижних вкладках (там, где описание задачи) под именами Terminal 1 и Terminal 2.

Во время изучения и экспериментов достаточно легко допустить ошибки. Всегда внимательно читайте вывод, в случае паники переоткройте терминал. Это позволит начать всё с чистого листа (если, конечно, не было произведено деструктивных действий).


Самостоятельная работа

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

  1. Установите терминал под вашу операционную систему, если его нет. Если вы используете Linux или MacOS, в вашей операционной системе уже есть установленный терминал. Можете использовать его или скачать более продвинутую версию, например iTerm2 для MacOS и Tilix для Linux. Если вы работаете с ОС Windows, вам потребуется использовать WSL.

  2. Убедитесь, что внутри запускается bash-сессия. Сделать это можно так:

    echo $SHELL
    
    /bin/bash # - это вывод команды, введённой выше
    

Дополнительные материалы
  1. Руководство по настройке Windows для работы в командной строке

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Ошибки, сложный материал, вопросы >
Нашли опечатку или неточность?

Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.

Что-то не получается или материал кажется сложным?

Загляните в раздел «Обсуждение»:

  • задайте вопрос. Вы быстрее справитесь с трудностями и прокачаете навык постановки правильных вопросов, что пригодится и в учёбе, и в работе программистом;
  • расскажите о своих впечатлениях. Если курс слишком сложный, подробный отзыв поможет нам сделать его лучше;
  • изучите вопросы других учеников и ответы на них. Это база знаний, которой можно и нужно пользоваться.
Об обучении на Хекслете

Команды терминала, node.js и yarn · GitHub

BASH / WINDOWS
pwd - вывести рабочий каталог
mkdir [имя папок] - создать папки
rm -r [имя папок] - удалить папки
touch [имя файлов] - создать файлы
touch [имя папки]/{[имя файла],[...]} - создать файлы внутри указанной папки
cd .. | [имя папки] - подняться на уровень вверх | перейти в дерикторию
ls -*a -*l - вывод файлов и папок в текущей директории *вместе со скрытыми *и информацией о размере и дате создания
echo ['текст'] >> [имя файла] - создать файл с указанным текстом
cat [имя файла] - вывести содержимое файла в консоль
NPM / NODE.JS
npm init -*y - инициировать проект *с ответом "да" на все вопросы
npm version - отобразить информацию о Node.JS
npm prefix -*g - отобразить путь расположения *глобальных пакетов
npm *run [название скрипта] - запуск скрипта
npm install | i [название пакетов] - установить пакеты
npm uninstall | un [название пакетов] - удалить пакеты 
npm list --depth=[уровень] -*g - вывести список установленных пакетов *в глобальный путь 
npm list [название пакетов] - отбразить версию пакетов 
npm update - обновить все пакеты

Ключи для комманд install, uninstall и update:
-g - установить, удалить и обновить пакет глобально
--save | -S - установить, удалить и обновить пакет в зависимость dependencies
--save-dev | -D - установить, удалить и обновить пакет в зависимость devDependencies
YARN / NODE.JS
yarn init -*y - инициировать проект *с ответом "да" на все вопросы
yarn --version - отобразить версию yarn'а
yarn *install - уставить все пакеты и зависимости
yarn *run [название скрипта] - запуск скрипта
yarn add [навзание пакетов]*@[версия] --*offline - установить пакеты *определенной версии *офлайн
yarn remove [название пакетов]*@[версия] - удалить пакеты *определенной версии
yarn check - проверяет, что зависимости в package.json совпадают с зависимостями в файле yarn.lock
yarn list --depth=[уровень] - вывести список установленных пакетов
yarn list --pattern [название пакетов] - отбразить версию пакетов 
yarn upgrade --*latest - полностью удалить и установить все пакеты *до последней версии
    
Ключи для комманд add, remove и upgrade:
global - установить, удалить и обновить пакет глобально
--dev - установить, удалить и обновить пакет в зависимость devDependencies
--peer - установить, удалить и обновить пакет в зависимость peerDependencies
--optional - установить, удалить и обновить пакет в зависимость optionalDependencies

консольные команды Unix/Linux, которые нужно знать наизусть

Первые шаги: 40 основных команд

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

Толчок в развитии дала статья «40 основных команд» и книга Скотта Гараннемана «Linux/ Необходимый код и команды. Карманный справочник» (в магазинах доступно ее 2-е издание).

Нагугилшь команду, а перейти в нужную папку забудешь. Или перепутаешь направление dd (команда поблочного переноса данных) и все, здравствуй вечер переустановки системы и потеря данных. Справочники – это хорошо, но основы работы в командной строке Unix/Linux нужно знать наизусть.

У меня получился примерно такой список необходимых внутренних команд оболочки Bourne shell (командные процессоры sh, bash и т.д.) и внешних утилит. Вызываются они одинаково:

  • Навигация по каталогам и файлам: cd, ls, pwd.
  • Работа с файлами и каталогами: rm, mv, cp, mkdir, cat, more, grep, sort, touch, tail, head, less, find.
  • Повышение привилегий: su, sudo.
  • Управление правами: chmod, chown, chgrp.
  • Текстовые редакторы: vi, vim, nano.
  • Архивация и разархивирование: tar, unzip, zip.
  • Установка программ: apt, yum.
  • Информация о командах: man, опция -h (—help).
  • История ранее выполняемых команд: history.
  • Работа с сетью: curl, ping, nslookup, netstat, wget, telnet, ifconfig, ip, ss.
  • Информация о системе и процессах: top, du, df, ps.
  • Управление процессами: kill.

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

Совершенствуем чтение логов

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

Начать можно с простого. Команда tail показывает окончание файла (аналогично команда head читает данные с начала), а если добавить ключ -n, то можно увидеть заданное количество строк:

        tail -n 300 console.log
    

С ключом -f команда будет показывать дозапись в файл в реальном времени:

        tail -f console.log
    

Команда tail помогает, если ошибка произошла только что и ее найти в последних строках, или она воспроизводится прямо сейчас. Если нужно просмотреть весь журнал и найти определенные события (строки по шаблону), можно воспользоваться командой grep:

        grep -i ‘error’ console.log
# где i - регистронезависимый поиск

    

В данном случае будут найдены все строки в которых есть строка ‘error’ без зависимости от регистра. У команды гораздо больше возможностей, чем я показала. Про grep можно писать отдельную статью. Вот вариант поиска классов, логи которых включены на уровне DEBUG и сортировка их с помощью утилиты sort (один из примеров, который понадобился в реальной работе):

        grep DEBUG console-main.log | grep -oP '[a-z\.]+\.[A-Z][a-zA-Z0-9]*' | sort | uniq -c
    

Третий способ чтения логов – команда less. Работа в ней схожа с работой в редакторе vim, но с возможностью только чтения и поиска по файлу:

        less console.log # откроет файл на просмотр.

# Для навигации можно и нужно пользоваться клавишами:
#	Shift+g - для перемещения в конец файла
#	Shift+f - для перехода в режим чтения дозаписи файла
#	/ + “text” - для поиска значения вниз от курсора
#	? + “text” - для поиска значений вверх от курсора
#	Q - выход

    

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

Спасаем показ: подключаемся к базе данных

Рано или поздно в жизни тестировщика наступает сдача проекта. Бессонные ночи, правки на прод за час до релиза, написание ПМИ и постоянный перетест. И вот уже почти конец, остался показ.

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

В системе объект должен был двигаться по определенному жизненному циклу. Пользователь нажал кнопку, и ничего не произошло. Даже в логах не отобразилась никакая информация. Показ встал. Действовать нужно быстро, иначе не засчитывалась защита. Под рукой только терминал. Выход из такой ситуации достаточно прост:

        psql -h localhost -U <user>
#	где psql - утилита для работы с бд постгрес
#	     h - хост подключения к бд
#	     U - пользователь для подключения к бд

    

А дальше найти селектом нужный объект и посмотреть, был ли переход объекта. Оказалось, что кнопка не была нажата, и показ продолжился в штатном режиме.

Ошибка не на нашей стороне: связанность, курлы и интеграции

Тестирование интеграций – одна из самых интересных в сфере Quality Assurance. Поиск возможных ошибок всегда усложняется тем, что не понятно, на чьей они стороне, есть ли связанность и на тот ли тестовый стенд настроено каждое приложение.

Прежде чем перейти к собственно тестированию, я провожу проверку связности.

Начнем с проверки сетевой доступности сервиса, с которым вы интегрируетесь (действия производятся с машины, на которой поднят интегрирующийся сервис):

        ping <host>
    

Пинг проходит, значит на той стороне как минимум поднят стенд (противоположный результат ни о чем не говорит, поскольку пакеты ICMP может резать сетевой экран – прим. ред.). Теперь нужно проверить, открыты ли нужные порты:

        telnet <ip> <port>
# Например:
telnet checkip.dyndns.org 80

    

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

        
curl <host>| jq # jq для структурированного просмотра ответа, если используется формат json

    

Например:

        curl 'https://proglib.io/api/paging/live'| jq
    

Ответ 200, значит можно приступать к тестированию. Минимальные условия для проверки выполнены.

Перезагрузка приложений и изменение настроек

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

В проектах настройки лежат в файлах application.properties (конфигурация приложения может описываться в самых разных файлах и даже с использованием языков разметки – прим.ред.). Чтобы найти их и открыть файл, воспользоваться командой locate:

        locate application.properties
    

Команда locate проводит поиск в специальной базе данных (не стоит путать ее с сервером SQL), которая периодически обновляется через планировщик. Для немедленного обновления нужно запустить команду updatedb с администраторскими полномочиями (su, sudo).

После нахождения пути, по которому лежат настройки, их можно открыть в vim или в другом текстовом редакторе:

        vim <path>/application.properties

    

После изменения и сохранения :wq настроек, нужно перезагрузить приложение. Рестарт приложения в Linux обычно выполняется командой (если в нем реализована вся необходимая обвязка, иначе придется убивать процессы с помощью kill и запускать программу заново – прим. ред.):

        sudo systemctl restart <serviceName>.service
    

После рестарта лучше смотреть логи, поскольку изменение настроек может так критично повлиять на приложение, что оно не запустится. Также нужно посмотреть статус приложения спустя несколько минут после рестарта:

        sudo systemctl stаtus <serviceName>.service
    

Прим. ред.

Этот метод сработает, если в приложении реализована вся скриптовая обвязка, в противном случае воспользуйтесь командой ps.

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

Нужно ли это тестировщику?

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

Удачи в обучении!

Выполнение сразу нескольких команд в командной строке. Linux статьи

В командной строке Linux можно объединять сразу несколько команд в одну строку (в один запуск). Например, вам нужно выполнить сначала одну команду, за ней вторую и так далее. Но вы хотите сразу вбить в командной строке одну инструкцию, которая все сделает. Для этого можно воспользоваться служебными символами.

Выполнение команд последовательно

Например, мы хотим выполнить сначала одну команду. Затем, когда она отработает (вернет управление в командную строку), нам нужно запустить вторую команду. Для этого служит символ точка с запятой ;. Таким образом, если вы выполните в терминале:

mycommand1; mycommand2; mycommand3

то сначала запустится первая команда mycommand1, а когда управление вернется в терминал, то запустится вторая и так далее.

Для теста попробуйте выполнить (в Ubuntu):

gnome-terminal; gedit

Это называется последовательным выполнением команд. Вне зависимости от того, как выполнилась предыдущая команда, вторая команда должна будет запуститься. Можно выполнять команды в зависимости от того, как отработала предыдущая для этого служат символы && и ||.

Зависимое выполнение команд

Символы && и || означают не что иное, как логическое И и ИЛИ. Поэтому когда мы пишем:

mycommand1 && mycommand2 && mycommand3

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

Если выполнить конструкцию:

mycommand1 || mycommand2 || mycommand3

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

Linux. Полезные команды терминала — cd, ls, !, !!, du. Часть 1.


Работа с командной строкой — не такая страшная задача, как вы могли бы подумать. Чтобы использовать командную строку не требуется специальных знаний, так как это такая же программа, как и все остальные. Большинство задач в Linux можно выполнить в командной строке. И хотя для большинства программ существуют графические утилиты, иногда их просто недостаточно. Здесь и используется командная строка.
Терминал часто называют командной строкой или оболочкой. В далекие дни пользователи общались с компьютером именно так; и тем не менее пользователи Linux находят, что использование терминала может быть быстрее графического метода.

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

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

guake terminal — выпадающий эмулятор терминала для GNOME
mc                      — графический фаловый менеджер

Команды — это предопределенный набор букв, цифр, символов, которые можно ввести в командной строке и выполнить нажав энтер.
Команды делятся на два вида:

  • команды встроенные в программную оболочку (например history)

  • команды управляющие программами, установленными в системе  

Команды для управления программами строятся по такой схеме:
название_программы -ключ значение 

Ниже идут терминальные команды с их описанием и примерами.
pwd
(Print the name of the current Working Directory) показать путь к текущей директории. Это может быть полезно, если ваша командная строка Linux не выводит такую информацию, а также особенно полезно в Bash программировании, для получения ссылки на каталог в котором выполняется скрипт.
cd
(Change the working Directory)
cd —           вернуться в предыдущую директорию(аналогия с кнопкой «Назад»), если вызвать
                 2 раза подряд эту команду, то вы останетесь в той-же директории с которой
                 вызывали.
cd ..          перейти на уровень выше
cd ../..       перейти в директорию двумя уровнями выше
cd /           перейти в корень файловой системы
cd             перейти в домашнюю директорию текущего пользователя
cd ~          перейти в домашнюю директорию текущего пользователя
cd ~user   перейти в домашнюю директории пользователя user

cd my\ img

cd «my img»
cd ‘my img’  перейти в директорию в имени которой содержаться пробелы

ls
(LiSt information about the FILEs) — Посмотреть содержимое текущего каталога

ls -l  выдавать (в одноколоночном формате) тип файла, права доступа к файлу, количество
        ссылок на файл, имя владельца, имя группы, размер файла (в байтах), временной
        штамп и имя файла.
ls -i предварять вывод для каждого файла его серийным номером.
Пример работы команды: ls -i -l


ls -a   вывести в список файлы с именем, начинающимся с точки (показывать скрытые
          файлы).
ls -r    вывести список отсортированный в обратном порядке
ls -t    вывести список отсортированный по временному штампу(время создания/
          модификации)
ls -R  рекурсивно вывести все каталоги и подкаталоги с их содержанием
ls -f    вывести список файлов и директорий не сортируя их, выводить в том порядке в
          котором они записаны на диск
ls -F  вывести список файлов и директори, к концу имен директорий добавляется символ /

Ниже результат работы команды ls -ilhF (список аргументов объдинён, всего 4 аргумента)

ls -Documents/        вывести содержимое поддиректории Documents
ls -*.png                   вывести все файлы в текущей директории с расширением png
ls -d $PWD/*.png   вывести все файлы с расширением png добавив в начало полный путь
ls -d */                      вывести только директории

history 
Выводит историю всех введенныъ команд, с их номером в истории.
history -c      очистить историю команд
!!                   выполнить предыдущую команду
!12                выполнить команду из истории с номером 12
!-2                 выполнить команду с номером — текущий — 2
history -d n  удалить из истории команду с номером n
history 10     вывести последние 10 команд включаяя текущую

sudo !!         запустить предыдущую команду с правами root(такое иногда бывает, набрали
                     команду, но она не выполнилась потому что требуются права администратора,
                     выполняем sudo !! и предыдущая команда запускается с правами админа)
cd !!             запустить предыдущую команду вначале которой поставить cd(тоже бывает,
                     набрал путь, но забыл написать вначале cd, и выполнил, в результате команда
                     не отработает, пишем cd !! и жизнь наладилась 🙂 )

как вы уже успели догадаться command !! — означает выполнить команду command и в качестве аргументов передать предыдущюю команду.

!?ls?             запустить последнюю команду из истории в названии которой есть слово ls
!ls                 запустить последнюю команду из истории c названием ls (со всеми
                     аргументами)
du  
(Summarize Disk Usage) — информация о использовании дискового пространства
du -sh                         выводит размер текущей директории
du -sh Documents/    выводит размер поддиректории Documents

Что такое терминал в линуксе. Команды работы с файлами. Другие полезные команды.

Все новички Linux уже, наверное, слышали про терминал, или как его еще называют командную строку. Ведь присутствие и сложность терминала — это один из основных аргументов оппонентов Linux. Возможно, вы уже сталкивались с командной строкой в Windows на практике и уже знаете что это такое.

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

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

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

Тем не менее, кое-где администрация должна быть выполнена, и поэтому для входа в корневой каталог. Либо текущий, либо тот, который мы помещаем в пути. Параметр — это программа, о которой вы хотите узнать. Можно использовать либо абсолютный путь — путь от корня -.

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

Что такое терминал Linux?

Применение терминала началось очень давно. Еще до того как была создана DOS и не существовало никакого графического интерфейса. В далеких восьмидесятых годах операционная система Unix только начинала развиваться. Пользователям нужно каким-то образом взаимодействовать с системой и самый простой способ — это использование команд. Вы вводите команду, система вам возвращает ответ.

Без параметров он работает в интерактивном режиме. Любой исторический отчет можно повторить следующим образом. Более менее Улучшенная кошка — распечатайте файл по частям, если мы хотим «прыгать» ниже, мы поместим пробел — страницу или введите строку. Если у вас более одного механика, вы можете показать его следующим образом.

В котором перечислены программы, в которых установлена ​​программа. Заменяет только один произвольный символ. ~ Указывает домашнюю папку. Это определенно не то же самое, что регулярные выражения! Ну, но когда вы выйдете, изменения будут потеряны. Файл может выглядеть так. Мы закончим работу путем перезарядки.

С тех пор, такой способ ввода использовался во многих системах, в том числе DOS и OS/2 от Apple, пока не был придуман графический интерфейс. Затем текстовый режим терминала был успешно вытеснен, но его до сих пор продолжают использовать там, где это нужно.

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

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

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

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

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

TTY — это файл устройства, который создается ядром и предоставляет доступ к терминалу для программ. Это могут быть файлы /dev/tty для постоянных текстовых терминалов и /dev/pts/* для эмуляторов терминалов. Вы можете выполнить команду или отправить сообщение просто записав данные в этот файл, и также получить результат, прочитав данные из этого файла.

Это также используется в «комментировании», то есть если вы хотите отключить что-то в скрипте, но вы не хотите его удалять, просто введите сетку перед ним. На мой взгляд, это вполне нормально, поскольку я, несмотря на некоторые дополнительные знания, думаю только как пользователь.

Самый быстрый путь к терминалу — щелкнуть правой кнопкой мыши на рабочем столе и подтвердить «Открыть в терминале». То же самое можно сделать в любом каталоге или папке, если хотите. В принципе, мы можем сделать то же самое в терминале, что можно сделать в графической среде. Большинство команд терминала предназначены в первую очередь для работы в нем, а затем в графической среде. Чтобы получить дополнительную информацию, мы можем попробовать информацию. Каждая команда может отображаться явно с тем, что она делает. В следующем разделе выбранные команды будут обучаться и повторяться.

Эмулятор терминала — это графическая программа, которая предоставляет вам доступ к tty или pts терминалу. Например, Gnome Terminal, Konsole, Terminix, Xterm и многие другие.

Командная оболочка — устройство tty занимается только передачей и приемом данных, но все эти данные должен еще кто-то обрабатывать, выполнять команды, интерпретировать их синтаксис. Командных оболочек достаточно много, это bash, sh, zsh, ksh и другие, но чаще всего применяется Bash.

Мы можем перемещаться в любое место по пути. Вот как мы можем видеть файлы в каталоге, где мы не находимся. Папка уже должна существовать. Для получения дополнительной информации используйте страницу «человек». Используйте его с осторожностью и убедитесь, что смазка действительно то, что вы хотите, а не только то, что вы думаете. Эта команда может несколько раз нарушать вашу конфигурацию, если что-то используется неправильно, оно не отображается, если необходимо удалить что-то критичное.

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

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

Теперь, когда мы разобрались что такое терминал Linux и знаем все основные принципы, перейдем к практике работы с ним.

Как открыть терминал Linux?

Есть несколько способов получить доступ к терминалу. Ваша система инициализации по умолчанию создает 12 виртуальных терминалов. В одном из них — обычно седьмом, запущена ваша графическая оболочка, но все другие могут быть свободно использованы. Для переключения между терминалами можно использовать сочетания Ctrl+Alt+F1-F12. Для авторизации нужно будет ввести логин и пароль.

Он используется как команда соединения. Труба выводит из одной команды и использует ее в качестве второй команды, которая связана с ней. Это полезно, когда есть отчет об ошибке, который так быстро летает по экрану, что мы не можем его прочитать; Это способ захвата в файл. Может ли файл работать с терминалом? Убедитесь, что он отмечен как исполняемый файл. Если вы не попробуете Совет № 4 ниже.

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

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

Второй способ позволяет открыть виртуальный терминал прямо в графическом интерфейсе с помощью эмулятора терминала. Эмулятор терминала linux работает с файлами в каталоге /dev/pts/* и еще называется псевдотерминалом, потому что не использует tty.

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

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

В Ubuntu вы можете запустить терминал linux нажав сочетание клавиш Ctrl+Alt+T :


Также его можно найти в меню приложений Dash:


Как видите, открыть командную строку в linux очень просто.

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

Основной способ запуска программы

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

Выполнение команд в терминале

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

Вы можете набрать что-либо и убедиться, что это работает:

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

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


Чтобы выполнить команду достаточно написать ее и нажать Enter.


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

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

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


Точно такая же схема работает для путей к файлам и параметров команд:



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

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


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

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

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

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

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

$ команда опции параметр1 параметр2…

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

Решение этой проблемы снова относительно просто. В этой статье мы уже что-то говорили о диалоге регистрации. Просто выберите тему в инструменте, который вы найдете в центрах распределения. Помимо менее важных записей в диалоговом окне входа в систему, таких как выключение, перезагрузка и т.д. У вас есть важная запись для тех, кто хотел бы попробовать другие графические среды. Этот пункт часто называется «Сидячий» или «Сессия».

Опции часто необязательны и уточняют тот или иной аспект работы программы. Они записываются в форме черточка и символ или двойная черточка и слово. Например -o или —output. Приведем пример для команды ls. Без опций и параметров:


С параметром, указывающим какую папку посмотреть:


С опцией -l, вывести в виде списка:


В с опцией и параметром:


Можно комбинировать две опции:


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

Выводы

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

&nbsp &nbsp Командная строка, оболочка, консоль — эти термины используются для обозначения взаимодействия человека-оператора с операционной системой с применением стандартных устройств ввода-вывода, обеспечивающих ввод команд и получение результатов их выполнения. В операционных системах семейства Linux подобное взаимодействие обеспечивается специальным программным продуктом — оболочкой (shell) . Наиболее распространенной из них, является оболочка проекта GNU bash (B ourne A gain SH ell). Bash основывается на оболочке Bourne (sh) созданной Стефеном Борном и включает в себя свойства множества других оболочек — C (csh) , Korn (ksh) , tc (tcsh) . Bash была написана Брайаном Фоксом (Brian Fox) и в настоящее время поддерживается Четом Рейми (Chet Ramey).

&nbsp &nbsp Свойства оболочки Bash делают ее наиболее универсальным и удобным средством взаимодействия с ОС Linux:

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

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

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

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

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

Bash позволяет создавать целые наборы последовательно выполняемых команд (сценарии или скрипты) с использованием гибкого и функционального языка программирования данной оболочки.

Bash имеет гибкие настройки, обеспечивающие изменение внешнего вида командной строки.

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

&nbsp &nbsp Команда оболочки Linux — это строка символов из имени команды и аргументов, разделенных пробелами. Аргументы предоставляют команде дополнительные параметры, определяющие ее поведение. Например, команда
echo 12345
выведет на экран строку символов 12345, введенных в качестве аргумента команды.

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

Ls -l

ls — команда для отображения информации о файлах.. При вводе без аргументов, эта команда просто отобразит список файлов в текущем каталоге. При вводе с параметром -l — список в длинном формате — с отображением атрибутов, владельцев, даты и времени.

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

Как получить подсказку по использованию команды Linux

При работе в командной оболочке Linux, в большинстве случаев, можно получить справочную информацию по использованию конкретной команды, введя ее имя с параметром —help :

Ls —help — отобразить справку для команды ls . В большинстве случаев, для получения справочной информации, допускается использование ключа -h

Ls -h В операционных системах семейства Linux, более подробную справочную информацию можно получить из комплекта документации, известного как man-страницы , поскольку он доступен по команде man . Этот комплект включает в себя 8 разделов, содержащих справочную информацию, которую можно вывести на экран с использованием команды man

Перечень разделов man-страниц :

1 — Команды уровня пользователя.

2 — Системные вызовы. Документация о библиотечных системных вызовах, как open, read, exec и т. п. Данный раздел обычно используется программистами.

3 — Библиотеки. Этот раздел также предназначен для программистов и содержит справочную информацию о библиотеках прикладных программ (abs, rint и т.п.)

4 и 5 — Форматы системных и пользовательских файлов. Содержит документацию о различных форматах файлов, как например, файл passwd

6 — Игры. Описание игр, поставляемых с установленной системой.

7 — Драйверы. Документация к драйверам, как например ip или ipv6

8 — Поддержка системы. Документация с информацией о командах для системного администрирования (init, fdisk, ifconfig и т.п.).

Примеры:

Man 1 ls — отобразить справку для команды ls из первого раздела документации (в нем хранится информация о командах уровня пользователя).

На практике, если требуется справка именно о команде, номер раздела опускают. В таком случае, поиск будет выполнен по всем разделам, начиная с первого до совпадения с аргументом, заданным в команде man :

Man ls — отобразить справку для команды ls из первого раздела документации, где она будет найдена.

Иногда отсутствие номера раздела в команде man даже предпочтительнее. Например, справка по команде

Man 1 init — отобразить справку для команды init из первого раздела документации, завершится сообщением об отсутствии справочной информации, потому, что данная команда относится к командам поддержки системы и информация о ней содержится в 8-м разделе.

Для поиска справочной документации во всех разделах, используется опция -a :

Man -a passwd — отобразить справку для аргумента passwd из всех разделов, где она будет найдена: В результате, отобразится справка по команде passwd из первого раздела и описание формата файла паролей passwd из пятого.

В качестве аргумента для строки поиска в команде man можно использовать шаблон:

Man -a ip* — отобразить справку для всех параметров, начинающихся с ip из всех разделов справочной документации.

При просмотре справочной документации, отображаемой по команде man используются клавиши:

стрелка вверх/вниз — переход на строку вверх/вниз.

PgUp/PgDown — переход на страницу вверх/вниз.

Enter — переход на строку вниз.

Пробел — переход на страницу вниз

Q — выход из справки.

Также, удобным средством поиска справочной информации являются утилиты apropos и whatis , позволяющие выполнить поиск по ключевому слову в базе данных документации. Первая из них выводит те строки, которые содержат строку поиска в в именах справочных страниц и кратких описаниях, а вторая – показывает однострочные описания справочных страниц, которые имеются в начале каждой страницы. С параметрами по умолчанию команды выдадут различающуюся информацию. Например, команда whatis tar , выдаст информацию имеющую отношение к утилите архивирования tar , а команда apropos tar — выдаст информацию и об утилите tar , и, кроме этого, справочные данные, где строка “tar” является частью слова, например “star t”. Использование утилиты apropos на первый взгляд кажется не очень эффективным, однако, это не так. Например, команда apropos net позволит быстро получить краткую справку по сетевым утилитам, присутствующим в данной системе. В данных командах можно использовать параметр -s указывающий номер раздела справочной системы, в котором будет выполняться поиск:

apropos –s 1 net — выполнить поиск только в первом разделе man.

При поиске обе утилиты используют индексные базы данных, которые обновляются с помощью программы mandb (или традиционной текстовой базы данных, создаваемой программой makewhatis ), поэтому поиск выполняется очень быстро. Дополнительные параметры командной строки, используемые apropos и whatis можно получить с помощью команды man .

&nbsp &nbsp Работа в командной строке Linux имеет некоторые принципиальные отличия по сравнению с работой в среде Windows.

&nbsp &nbsp Во-первых, не забывайте, что строчные и заглавные буквы для Linux — это разные символы. В операционной системе Windows каталог TEMP и каталог Temp — это один и тот же каталог, в Linux — это два разных. То же самое касается команд, их ключей, имен пользователей,паролей и т.п.

&nbsp &nbsp Во-вторых, справка по команде с параметром —help и справка из man-страницы различаются. Последняя, как правило, более подробная, с примерами и ссылкой на связанные разделы документации.

В-третьих, доступный список команд и результат их выполнения зависит от ваших прав в системе. Как правило, потенциально опасные для целостности системы команды, и команды, влияющие на работу других пользователей, не доступны обычному пользователю. Полными правами по отношению к системе имеет только один пользователь (суперпользователь)- root . Обычно, учетная запись данного пользователя используется только для изменения настроек системы, и в большинстве дистрибутивов Linux, после установки системы, нет возможности работать под root ‘ом в графической среде, в сеансах удаленного подключения, или даже при локальном входе в систему, как это сделано в Ubuntu . Такой подход позволяет предотвратить разрушение системы при ошибках пользователя, и вполне оправдан, однако существуют случаи, когда без прав root не обойтись. Для получения прав пользователя root (суперпользователя, superuser) , которому доступны все возможные команды, используйте команду su . Она позволяет сменить текущего пользователя. Если пользователь не задан, то подразумевается root. .

Для выполнения отдельно взятой команды от имени суперпользователя root или другого пользователя используется команда sudo :

sudo ifconfig — выполнить команду ifconfig от имени суперпользователя root

sudo su — Комбинация sudo и su — выполнить команду su от имени суперпользователя root. Данный вариант команды позволяет пользователю перейти в учетную запись root без сохранения текущей пользовательской среды (знак «-«).

Обычно, использование команды sudo предпочтительнее, чем использование su и, при дополнительных настройках системы, позволяет легко отдавать отдельным пользователям только строго необходимые привилегии. Основная часть настроек sudo хранится в файле /etc/sudoers и задает правила, определяющие, какие пользователи, каких компьютеров, какие команды могут выполнять с вводом или без ввода пароля. Администратор системы может даже на какое-то время передать полномочия суперпользователя root любому пользователю, не передавая ему пароль от учетной записи root .

&nbsp &nbsp Начинающих пользователей Linux обычно пугает работа в командной оболочке из-за необходимости набирать слишком длинные строки команд, имен каталогов или файлов. Однако, очень часто в таком наборе нет необходимости. При работе в среде командной оболочки очень удобно использовать режим подстановки имен с помощью клавиши Tab . Например, для получения списка файлов каталога /home/everyone пользователю необходимо набрать команду

ls /home/everyone

Однако, оболочка позволяет обойтись без полного набора пути. Если после набора ls /h нажать клавишу Tab , то в командной строке будет подставлена недостающая часть имени каталога — ome , и в строке ввода отобразится

ls /home/

Аналогично, не нужно набирать полностью оставшуюся часть пути, а только e и Tab . Если существуют частично совпадающие имена файлов или каталогов, то подстановка выполняется только для общей части имени. Если в каталоге /home имеются подкаталоги everyone1 и everyone2 то после нажатия клавиши Tab выполнится подстановка общей части everyone и на экране отобразится список из возможных вариантов ввода — everyone1 и everyone2 . Остается только ввести недостающую часть имени (1 или 2). Тот же прием используется и при наборе команд. Например, если набрать в качестве команды символ e и нажать Tab то отобразится список всех доступных команд, начинающихся с буквы e , если затем набрать символ c и снова нажать Tab , то будет выставлена подстановка имени до echo , или если есть другие варианты — подстановка общей части и возможные варианты имени.


Как управлять выводом на экран. &nbsp Для просмотра текста, ушедшего за пределы видимости экрана используются комбинации клавиш SHIFT и PAGE UP или PAGE DOWN (в зависимости от направления просмотра).
Для приостановки вывода на экран — CTRL-S , отмена приостановки — CTRL-Q

&nbspДля вывода большого объема текста на экран в постраничном режиме используется команда less , в цепочке с основной командой. Объясню на примере. Пусть у нас есть текстовый файл mytxt размером на 10 экранов. Для вывода текста на экран (стандартный вывод) можно воспользоваться командой cat имя файла
cat mytxt
После выполнения этой команды вы увидите быстро промелькнувший текст и последний (десятый) экран вывода. Можно, конечно, воспользоваться комбинациями клавиш SHIFT-PAGEDOUN или SHIFT-PAGEUP для просмотра текста, но существует возможеость воспользоваться и командой less .
cat mytxt | less
Символ | означает объединение в цепочку выполнения команды выдачи текста cat и команды управления постраничным выводом less . В результате, после отображения на экране первой страницы текста, вывод будет приостановлен до нажатия
PAGE DOWN
или ENTER (построчное перемещение). Для завершения постраничного вывода нажмите клавишу Q .
&nbsp В цепочки можно объединять несколько команд. Например, вам понадобилось вывести на экран в постраничном режиме все строки, содержащие слово mail . Для поиска можно воспользоваться командой
grep
Итоговая цепочка из трех команд:
cat mytxt | grep mail | less

&nbsp Для большинства дистрибутивов Linux вместо less можно использовать more .

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

Для переключения используется комбинация клавиш CTRL — ALT — F1…F6 (от первого терминала до 6-го или далее). Для переключения в графическую оболочку используется одна из комбинаций, которая может отличаться для разных дистрибутивов. Например, CTRL-ALT-F7 .

Чтобы запустить еще один графический сервер на этом же компьютере, используйте команду startx 1 — :1 . У вас добавится новый графический терминал. Чтобы перейти во второй графический терминал, нажмите Alt+F8 ., а чтобы вернуться в первый — Alt+F7 . Таким образом можно открывать до 64 графических терминалов. (startx 2 — :2 и т.д).

Для завершения сеанса работы в командной оболочке используется команда exit .

&nbsp &nbsp Вы можете создать журнал своей консольной сессии, в котором будет отображено все, что вы вводили с клавиатуры, и все, что выдавалось на экран терминала.
Для этого используется команда

script имя файла журнала

Например:

script /home/user/mysession.log

Чтобы прекратить запись в журнал введите команду exit .

Для просмотра истории ранее введенных команд используются стрелки Вверх/Вниз. При вводе набранной или вызванной из истории команды положение курсора относительно строки ввода значения не имеет.

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

Для просмотра информации в конечной части файлов (например, журналов) используется команда tail :

tail /var/log/mrssages — отобразить последние 10 строк (значение по умолчанию) из файла журнала /var/log/messages.

tail –n 100 /var/log/mrssages — отобразить последние 100 строк из файла журнала /var/log/messages.


Как перезагрузить или выключить компьютер.

&nbsp Одно и то же действие в Linux очень часто можно выполнить несколькими способами. Стандартно для перезагрузки или выключения компьютера используется shutdown . Команда имеет много опций, позволяющих выполнить перезагрузку в определенное время, быструю перезагрузку без проверки файловой системы, имитировать и отменять уже запущенный (ждущий своего времени) процесс перезагрузки.

Полный список опций можно получить по shutdown —help

Для немедленной перезагрузки (restart) команда будет выглядеть так:
shutdown -r now
&nbsp Для выключения питания (halt):
shutdown -h now

В большинстве дистрибутивов можно использовать короткие команды:
— выключение

Можно также воспользоваться изменением уровня запуска системы командой init , позволяющей управлять запуском и завершением процессов в системе с использованием скриптов, хранящихся в /etc/inittab. Уровень 0 — выключение, уровень 6 — перезагрузка. Соответственно
для выключения:
init 0

Для перезагрузки:
init 6

Команду init можно использовать для изменения уровней запуска системы.
Уровни:
1 — Однопользовательский режим. Доступ разрешен пользователю root.
2 — Многопользовательский режим без поддержки сетевых функций.
3 — С поддержкой сети.
4 — Зарезервировано.
5 — С использованием графической оболочки.

&nbsp &nbsp Если вам нужно завершить графическую оболочку (например, когда инсталляция некоторых приложений требует ее закрытия) введите:

init 3

&nbsp &nbsp Графическая оболочка закроется, и система перейдет на уровень запуска 3. Для возврата на уровень 5 введите:

init 5

&nbsp &nbsp Уровень запуска системы по умолчанию определяется значением initdefault из файла /etc/inittab. Для запуска системы с поддержкой графической оболочки она выглядит так:

Id:5:initdefault:

Если 5 заменить на 3, то графическая оболочка при старте системы запускаться не будет.

Все выше сказанное относится к системам инициализации SysV (SystemV), которая много лет использовалась во всех дистрибутивах Linux для загрузки рабочей среды с помощью скриптов init . Однако, начиная с 2012г, наметился постепенный переход на systemd новую систему инициализации, изначально разработанную для дистрибутива Fedora, начиная с Fedora 148 . Попросту говоря, systemd — это демон инициализации других демонов в Linux, пришедший на замену используемому ранее скрипту инициализации (/sbin/init). Главная его особенность — распараллеливание запуска служб в процессе загрузки системы, что позволяет существенно ускорить запуск операционной системы. Реализация systemd значительно отличается не только логикой, но и принципами управления процессом запуска, набором программных модулей и конфигурационных файлов. Файла /etc/initd больше нет, и для определения уровня запуска в systemd используются символические ссылки, например:

Для состояния init 3
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

Для состояния init 5
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

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


Управление процессами в Linux. &nbsp &nbsp Посмотреть список процессов в Linux можно с помощью команды ps . Если ее запустить без всяких параметров, то она выдает список процессов, запущенных в текущем сеансе пользователя. Полный список опций можно получить стандартно — выполнив

Ps —help

Примеры использования:

  • Список всех процессов, запущенных в системе:
    ps -e — выдаст список процессов с идентификаторами (PID) и их именами
    или:
    ps -eF — выдаст тот же список процессов, но с полной строкой запуска
  • список задач, порожденных пользователем user:
    ps -U user
  • список задач, связанных с текущим терминалом:
    ps -T
  • список задач, связанных с терминалом N:
    ps t ttyN
  • Если список задач большой, а нас интересует состояние одной или нескольких задач, можно воспользоваться grep:
    ps -U root | grep ppp — выдать список задач, содержащих «ppp» в имени

    &nbsp &nbsp Для получения сведений об использовании ресурсов компьютера можно воспользоваться командой top

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

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

  • s или d — изменить интервал обновления окна.
  • z — цветное/черно-белое отображение
  • n или # — количество отображаемых процессов
  • Можно отсортировать список процессов по использованию ресурсов процессора (P ), памяти (M ), времени выполнения (T ) и т.п.

    &nbsp &nbsp В среде утилиты top также существуют подкоманды, которые позволяют управлять процессами в интерактивном режиме:

  • k — снять (kill) задачу. По этой команде будет запрошен идентификатор процесса (PID), после ввода которого, процесс будет завершен.
  • r — изменить текущий приоритет задачи (renice). Как и при выполнении предыдущей команды, будет запрошен PID, и затем, новое значение приоритета (отображается в колонке NI). Диапазон значений приоритетов — от минус 20 (наивысший) до плюс 19. Отрицательные значения и 0 может устанавливать только пользователь root.
    &nbsp &nbsp Для выхода из top нажмите q


    Команда kill &nbsp &nbsp Эти же действия (принудительное завершение процесса и изменение его приоритета) можно выполнить и без команды top.

    &nbsp &nbsp Процессы в Linux имеют возможность обмениваться так называемыми «сигналами» с ядром и другими процессами. При получении сигнала процессом, управление передается подпрограмме его обработки или ядру, если такой подпрограммы не существует. В Linux имеется команда kill, которая позволяет послать заданному процессу любой сигнал. Список сигналов можно получить по команде:
    kill -l
    В результате выполнения этой команды вы увидите список номеров и названий сигналов. Для того, чтобы послать определенный сигнал выбранному процессу, нужно ввести:
    kill номер PID выбранного процесса
    Например, нам нужно завершить работу приложения Midnight Commander (mc).

  • Определим идентификатор процесса mc:
    ps -e | grep mc
    Пусть PID= 11597.
  • Посылаем сигнал SIGQUIT (номер 3):
    kill -3 11597
    После чего процесс mc обработает сигнал GIGQUIT и выполнит завершение работы. Однако, если mc «завис», то, естественно, завершиться он не сможет, поскольку подпрограмма обработки сигнала SIGQUIT не получит управления. В таких случаях используется сигнал под номером 9 (SIGKILL), обрабатываемый ядром операционной системы, и принудительно завершающий указанный процесс:
    kill -9 11597

    Если в команде kill номер сигнала не задан, то используется значение SIGKILL, т.е предыдущую команду можно было ввести как kill PID:
    kill 11597

    &nbsp &nbsp При завершении процесса завершаются и порожденные им процессы.

    &nbsp &nbsp Для завершения процесса по его имени используется команда killall:
    killall mc — завершить процесс, в имени которого есть «mc»
    killall -u user — завершить процессы, порожденные пользователем user


    Изменение приоритетов — команды nice и renice &nbsp &nbsp Для изменения приоритета процессов используются команды nice и renice. При запуске процесса, его приоритет задается значением родительского процесса, например, терминала xterm или командной оболочки (shell) . Команда nice позволяет запустить процесс с приоритетом, равным сумме родительского (например 8) и числа, задаваемого в качестве опции команды nice:
    nice — команда
    nice -4 mc — запустит mc с приоритетом = 8+4=12

    Команда renice используется для изменения приоритета уже запущенного процесса:
    renice -p PID
    renice 4 -p 11597 — установить значение приоритета для процесса mc (PID=11597) равным 4.
    После выполнения, renice выдаст строку результата:
    11597: old priority 12, new priority 4 — старый приоритет 12, новый приоритет 4
    Задание нулевого и отрицательного числа приоритета возможно только с правами root.

    Перечень наиболее часто используемых команд:

    Команды для работы с файлами и каталогами:

    pwd – отобразить путь текущего каталога
    cd – перейти в указанный каталог
    ls – отобразить список файлов каталога, с ключом -l показывает дополнительные сведения о файлах.
    cp – копирование файлов/папок
    mv – перемещение файлов/папок
    mkdir – создать папку
    rm – удалить файлы/папки, с ключом -r удаляет и все вложенные папки, с ключом -f — удаляет открытые файлы или каталоги
    rmdir – удаление пустой папки
    chmod – изменить права доступа к файлу
    chown — сменить владельца файла или каталога
    find — найти файл. Задается исходный путь для поиска и шаблон поиска, find / -name .X* — искать от корневого каталога файлы, содержащие в имени символы .X
    which — отобразить полный путь исполняемого файла, доступного в данной оболочке, например which ifconfig
    touch — изменить временные отметки файла. Удобно использовать для создания пустых файлов – touch myfile создаст пустой файл myfile .

    Системные команды

    Эти команды обычно используется от имени суперпользователя (с командой sudo).

    – выключение компьютера
    reset – очищает окно терминала
    passwd – сменить свой пароль, а суперпользователю — поменять пароль любого пользователя
    users — отобразить список пользователей, вошедших в систему.
    yum — установка, удаление или обновление программного обеспечения в дистрибутивах Fedora, RedHat и т.п.
    dpkg — установка, удаление или обновление программного обеспечения в дистрибутивах Debian, Ubuntu и т.п.
    apt-get — установка, удаление или обновление программного обеспечения в дистрибутивах на основе Debian (Ubuntu, Mint и т.п.)

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

    ps – отобразить список текущих активных процессов
    lsof — отобразить список открытых файлов процесса или пользователя
    strace — отобразить список системных вызовов
    last — отобразить историю перезагрузок и регистраций пользователей в системе
    kill – послать сигнал процессу, обычно используется для принудительного завершения работы процесса.
    killall – завершение работы всех процессов, имена которых заданы параметром командной строки
    top – отображение списка текущих процессов и интерактивное управление ими.

    Сетевые команды

    ifconfig – конфигурация сетевых интерфейсов
    route — таблица маршрутизации
    ifup / ifdown — включить /выключить сетевой интерфейс
    ip — просмотр или изменение параметров конфигурации протокола IP
    netstat — отобразить состояние сетевых соединений
    arp, ping, nslookup, traceroute — наиболее часто используемые команды сетевой диагностики.

  • SMS команды — OmniDoc

    Команда Назначение
    Текст команды в SMS Ответ на команду в SMS
    *SOUND 1# SOUND ON Запрос на включение сирены
    *SOUND 0# SOUND OFF Запрос на выключение сирены
    *SETDOUT param#
    Param=0
    Param=1
    Param=0,1
    SETDOUT
    Возможные значения параметра:
    param = OK если команда передана на исполнение
    param = ER если команда не передана на исполнение
    Запрос на включение дискретного выхода
    *GETIMG# GETIMG param
    Возможные значения параметра:
    param = OK если команда передана на исполнение
    param = ER если команда не передана на исполнение
    Запрос на выполнение снимка (при настроенной камере)
    *CLRDOUT param#
    Param=0
    Param=1
    Param=0,1
    CLRDOUT param
    Возможные значения параметра:
    param = OK если команда передана на исполнение
    param = ER если команда не передана на исполнение
    Запрос на выключение дискретного выхода
    *GETDOUT# DOUT 0=1 1=0
    где: номер_выхода=состояние_выхода
    Запрос состояния дискретного выхода
    *CONNECT# CONNECT адрес_КС:порт Запрос на установку соединения Терминала с КС
    *GETLINK# LINK ip4_адрес_КС:порт дата_и_время Запрос состояния подключения к КС
    *GETINFO# INFO DID=deviceID
    HW=код_версия_аппаратуры
    BL=версия_загрузчика
    FW=версия_прошивки REC=число_записей_в_архиве
    IMEI=уникальный_идентификатор_GSM_модема
    Запрос состояния терминала
    *RESET# RESET param
    Возможные значения параметра:
    param = OK если команда передана на исполнение
    param = ER если команда не передана на исполнение
    Перезагрузка терминала
    *GETSTAT# STAT дата_и_время_терминала
    GPS=положение по GPS
    SPD=скорость
    IGN=состояние_зажигания
    L1=уровень_топлива:состояние_датчика …L6=уровень_топлива:состояние_датчика
    Коды состояния датчика уровня топлива LLS/LLS-AF:
    • 0 — выключен;
    • 1 — не готов;
    • 2 — готов, частота 20 — мах Гц;
    • 3 — ошибка, частота 0 — 19 Гц.
    Запрос состояния ТС
    *SETPWDID vid pwdid#
    vid — идентификатор Терминала;
    pwdid — пароль
    SETPWDID ERRID/ERRNulPWD/ERRAlrSet/PWD:pwdid OK Установка параметра «пароль»
    *CONNECTSC# CONNECT SC Запрос на установку соединения терминала с сервером настройки
    *SETAPN apn#
    apn — APN оператора
    SETAPN apn ERR/OK Установка APN
    *SETAPN2 apn#
    apn — APN оператора второй SIM карты
    SETAPN apn ERR/OK Установка APN для второй SIM карты
    *GPSCOLD# GPSCOLD ERR/OK Холодный старт GPS приемника
    *UNBLOCK# Разблокировка терминала

    17 команд терминала, которые должен знать каждый программист | by Mahbub Zaman

    Улучшите свой повседневный рабочий процесс

    Photo by Goran Ivos on Unsplash

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

     mkdir test 
    cd test
    for i in {1..100}
    do
    mkdir "$i"
    done

    Чтобы иметь возможность запускать эти команды, нам нужно использовать приложение Terminal. Этот терминал предоставляет вам оболочку. Shell — это среда, в которой мы можем запускать наши команды оболочки и сценарии оболочки. Это позволяет нам управлять инструментами командной строки. MacOS X поставляется с оболочкой bash (оболочка Bourne Again), но вы можете изменить свою оболочку на csh (оболочка C), zsh (оболочка Z), ksh (оболочка Korn), tcsh (оболочка TENEX C) и т. д.Теперь давайте рассмотрим некоторые основные команды оболочки, чтобы увидеть, что происходит. Список всех доступных оболочек в macOS X.

     cat /etc/shells 

    Чтобы узнать, какую оболочку вы используете.

     echo $0 

    Чтобы перейти на оболочку bash.

     chsh -s /bin/bash 

    Чтобы перейти на оболочку zsh.

     chsh -s /bin/zsh 

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

    Команда pwd означает Печать рабочего каталога . Он напечатает полный путь к текущему рабочему каталогу.

     pwd 
    # /Users/universe/Desktop

    Оболочка игнорирует слово, если оно начинается с # (решетка) и любые оставшиеся символы в этой строке.

     # /Users/universe/Desktop 

    Команда mkdir означает Make Directory . Здесь мы создаем каталог на моем рабочем столе с именем neptune .

     mkdir neptune 

    Мы можем создать несколько каталогов, используя опцию -p .

     mkdir -p space/neptune 

    Приведенная выше команда создаст папку с именем space и вложенную папку или подпапку neptune . Если мы хотим создать нашу третью папку naiad под neptune , мы можем использовать следующую команду. Нам не нужно указывать параметр -p для этой команды, потому что путь space/neptune уже существует.

     mkdir space/neptune/naiad 

    Команда cd означает Изменить каталог . Давайте используем эту команду для доступа к каталогу space , который мы создали ранее.

     cd space 
    cd neptune
    cd naiad

    Или вы можете использовать следующую команду для доступа к каталогу naiad .

     cd space/neptune/naiad 

    Обе команды дадут одинаковый результат. Теперь мы должны оказаться внутри каталога наяда .

    одна и две точки

    .. (две точки) представляет или указывает на каталог, который содержит текущий каталог, также известный как родительский каталог. Здесь родительский каталог наяда — это neptune . Давайте воспользуемся следующей командой, чтобы переместиться на один уровень вверх в иерархии каталогов.

     pwd 
    # /Users/universe/Desktop/space/neptune/naiad
    cd ..
    pwd
    # /Users/universe/Desktop/space/neptune

    Более того, мы можем перемещаться на несколько уровней.В этом случае давайте переместимся на 2 уровня вверх.

     cd ../.. 
    pwd
    # /Users/universe/Desktop

    Теперь мы вернулись к каталогу Desktop .

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

     ./space-robot 

    ~ (тильда) или $HOME представляет домашний каталог или указывает на него.Для macOS X домашний каталог пользователя находится в каталоге /Users .

     cd ~ 
    pwd
    # /Users/universe
    cd $HOME
    pwd
    # /Users/universe

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

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

     cd / 

    С помощью команды touch мы можем создать файл.

     cd ~/Desktop/neptune 
    touch todo.txt

    Команда ls означает List . Мы можем использовать его для вывода всего содержимого указанного каталога, если путь не указан, он выведет список всего в текущем каталоге.

     cd ~/Desktop/neptune 
    mkdir todo
    ls
    # todo todo.txt

    Используйте флаг -a для отображения списка скрытых файлов и каталогов.

     ls -a 

    Используйте флаг -l для отображения подробной информации.

     ls -l 

    Или используйте вместе.

     ls -al 

    Мы некоторое время писали команды, поэтому давайте очистим экран Терминала.

     очистить 

    Команда mv означает Move . Мы можем использовать эту команду для перемещения файлов и каталогов из одного места в другое. Кроме того, мы можем использовать его для переименования файлов и каталогов. Следующая команда переместит файл todo.txt из его текущего каталога в его дочерний каталог todo .

     cd ~/Desktop/neptune 
    mv todo.txt todo/todo.txt

    Теперь давайте переименуем файл. Здесь мы переименовываем файл todo.txt в my-todo.txt .

     cd todo 
    mv todo.txt my-todo.txt

    Команда cp означает Копировать . Теперь давайте скопируем наш файл my-todo.txt в родительский каталог.

     cd ~/Desktop/neptune 
    cp todo/my-todo.txt my-todo-bu.txt

    Мы можем использовать флаг -r для копирования каталога. Следующая команда скопирует все содержимое папки todo в папку с именем bu .

     cp -r todo bu 

    Команда rm означает Remove, и rmdir команда означает Remove Directory . Команда rmdir может удалить каталог, только если он пуст. Теперь давайте удалим файл и каталог.

     cd ~/Desktop/neptune 
    rm my-todo-bu.txt
    mkdir empty
    rmdir empty

    Мы можем использовать флаг -r для удаления непустой папки.

     rm -r bu 
    rm -r todo

    > можно использовать для перенаправления stdout (стандартный вывод).Здесь мы добавляем задачу в наш файл todo.txt . Команда echo записывает свои аргументы в стандартный вывод. Эта команда > перезапишет файл todo.txt , если он уже существует.

     cd ~/Desktop/neptune 
    echo 1. Сделать космического робота > todo_today.txt

    Если мы хотим добавить данные, нам нужно использовать команду >> .

     echo 2. Сделать космического робота v2 >> todo_today.txt 

    < можно использовать для перенаправления stdin (стандартный ввод).Здесь мы перенаправляем содержимое нашего файла todo.txt команде wc для печати количества строк, количества слов и количества символов.

     wc < todo_today.txt 
    # 2 9 43

    * (звездочка) можно использовать в качестве подстановочного знака для соответствия нулю или более символов.

     ls *.txt 
    # todo_today.txt

    ? (вопросительный знак) может использоваться для соответствия одному символу.

     лс ????_?????.txt 
    # todo_today.txt

    [] (квадратные скобки) можно использовать для соответствия любому количеству символов внутри них.

     лс t[o]do_*.??? 
    # todo_today.txt

    ; (точка с запятой) можно использовать для записи нескольких команд в одной строке, все, что нам нужно сделать, это разделить каждую команду точкой с запятой.

     cd ~/Desktop/neptune ; wc < todo.txt 
    # 2 9 43

    $ (долларов) можно использовать для создания и хранения значений.

     echo $HOME 
    # /Users/universe
    MyValue=99
    echo $MyValue
    # 99

    \ (обратная косая черта) может использоваться для экранирования специального символа.

     echo \$MyValue 
    # $MyValue
    echo \$$MyValue
    # $99

    Команда cat означает Concatenate . Он выводит содержимое файла или файлов на стандартный вывод. Печать содержимого одного файла.

     cd ~/Desktop/neptune 
    cat todo.txt
    # 1. Сделать космического робота
    # 2.Make space robot v2

    Печать содержимого нескольких файлов.

     cd ~/Desktop/neptune 
    echo ФАЙЛ 1 > file_1.txt
    echo ФАЙЛ 2 > file_2.txt
    echo ФАЙЛ 3 > file_3.txt
    cat file_1.txt file_2.txt file_3.txt
    # FILE 1 900 2
    # FILE 3

    Команда grep означает Global Regular Expression Print . Он ищет текст внутри файла, указанного с заданным шаблоном поиска. По умолчанию grep чувствителен к регистру.Для поиска по запросу мы можем использовать флаг -i .

     cd ~/Desktop/neptune 
    grep "FILE" file_1.txt
    # FILE 1
    grep -i "file" file_1.txt
    FILE 1

    Флаг -r используется для рекурсивного поиска внутри каталога. Здесь он будет искать все внутри текущего каталога и его дочерних каталогов.

     grep -r "ФАЙЛ" . 
    # ./file_1.txt:FILE 1
    # ./file_2.txt:FILE 2
    # ./file_3.txt:FILE 3

    Существуют и другие полезные флаги, например, флаг -n будет напечатан совпадающие строки с номером строки, флаг -c напечатает количество совпадающих строк.

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

     команда_1 | команда_2 | ................... | command_N 

    Здесь мы сортируем файл todo.txt в обратном порядке, комбинируя команду cat и sort .

     кошка todo.txt | sort -r 
    # 2. Сделать космического робота v2
    # 1. Сделать космического робота

    Команды head и tail можно использовать для вывода содержимого файла на стандартный вывод.Флаг -n используется для определения количества строк, которые мы хотим вывести. Теперь давайте напечатаем первую 1 строку файла.

     cd ~/Desktop/neptune 
    head -n 1 todo.txt
    # 1. Сделать космического робота

    Напечатать последнюю 1 строку файла.

     tail -n 1 todo.txt 
    # 2. Make space robot v2

    Эти команды могут быть полезны при работе с большими файлами.

    Команда find используется для поиска файлов.

     find dir -name search_pattern 

    Найдем все текстовые файлы в текущем каталоге.

     cd ~/Desktop/neptune 
    найти . -name "*.txt"
    # ./file_1.txt
    # ./todo.txt
    # ./file_2.txt
    # ./file_3.txt

    Команду open можно использовать для открытия файла и откройте каталог с помощью приложения Finder.

     cd ~/Desktop/neptune 
    открыть .
    open todo.txt

    Наконец, у нас есть команда man , что означает Manual . Он печатает руководство пользователя для команды.

     man cd 

    Используйте клавиши со стрелками вверх и вниз для навигации по документации.Используйте клавишу f для перехода на одну страницу вперед и клавишу b для возврата на одну страницу — нажмите q для выхода.

    Командная строка для начинающих. Как использовать терминал как профессионал [Полное руководство]

    Всем привет! В этой статье мы подробно рассмотрим командную строку (также известную как CLI, консоль, терминал или оболочка).

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

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

    Поехали! =D

    Содержание

    Думаю, для начала неплохо бы точно знать, что такое командная строка.

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

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

    Консоль:

    Консоль — это физическое устройство , позволяющее взаимодействовать с компьютером.

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

    Терминал:

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

    Снова говоря простым языком, это «окно», в котором вы вводите фактические команды, которые будет обрабатывать ваш компьютер.

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

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

    Оболочка:

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

    То же, что и терминал, оболочка — это программа, которая по умолчанию входит во все операционные системы, но также может быть установлена ​​и удалена пользователем.

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

    В большинстве операционных систем Linux и Mac оболочкой по умолчанию является Bash. В то время как в Windows это Powershell. Некоторыми другими распространенными примерами оболочек являются Zsh и Fish.

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

    Далее в этой статье мы рассмотрим сценарии. А пока просто имейте в виду, что оболочка — это программа, которую ваш компьютер использует для «понимания» и выполнения ваших команд, и что вы также можете использовать ее для программирования задач.

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

    Командная строка или CLI (интерфейс командной строки):

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

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

    Здесь стоит упомянуть одну интересную вещь: большинство операционных систем имеют два разных типа интерфейсов:

    • Интерфейс командной строки , который принимает команды в качестве входных данных для выполнения задач компьютером.
    • Другим является GUI (графический пользовательский интерфейс), в котором пользователь может видеть объекты на экране и нажимать на них, а компьютер будет реагировать на эти события, выполняя соответствующую задачу.

    Мы только что упомянули, что большинство операционных систем поставляются с графическим интерфейсом. Итак, если мы можем видеть что-то на экране и щелкать мышью, чтобы делать все, что захотим, вы можете задаться вопросом, зачем вам изучать этот сложный терминал/cli/shell?

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

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

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

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

    Сценарии — отличный способ сэкономить время при выполнении повторяющихся задач.

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

    Таким образом, удобство использования CLI позволит вам взаимодействовать с компьютерами в любое время.

    Последняя причина в том, что это выглядит круто и весело. Вы же не видите, как хакеры из фильмов щелкают по своим компьютерам, верно? 😉

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

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

    Немного истории — Posix

    Для оболочек существует общий стандарт Posix .

    Posix работает для оболочек так же, как ECMAScript работает с JavaScript. Это стандарт, диктующий определенные характеристики и особенности, которым должны соответствовать все оболочки.

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

    Как узнать, какую оболочку я запускаю?

    Чтобы узнать, какую оболочку вы используете в данный момент, просто откройте терминал и введите echo $0 . Это напечатает имя текущей запущенной программы, которая в данном случае является фактической оболочкой.

    Какая оболочка лучше?

    Между большинством оболочек нет БОЛЬШОЙ разницы. Поскольку большинство из них соответствуют одному и тому же стандарту, вы обнаружите, что большинство из них работают одинаково.

    Есть некоторые небольшие отличия, которые вы, возможно, захотите узнать:

    • Как уже упоминалось, Bash является наиболее широко используемым и устанавливается по умолчанию на Mac и Linux.
    • Zsh очень похож на Bash, но он был создан после него и имеет несколько приятных улучшений. Если вы хотите получить более подробную информацию о его различиях, вот классная статья об этом.
    • Fish — еще одна часто используемая оболочка, которая поставляется с некоторыми хорошими встроенными функциями и конфигурациями, такими как автозаполнение и подсветка синтаксиса.Дело в том, что Fish не жалуется на Posix, в то время как Bash и Zsh. Это означает, что некоторые команды, которые вы сможете выполнять на Bash и Zsh, не будут работать на Fish и наоборот. Это делает сценарии Fish менее совместимыми с большинством компьютеров по сравнению с Bash и Zsh.
    • Существуют и другие оболочки, такие как Ash или Dash (название только делает все более запутанным, я знаю...), которые являются урезанными версиями оболочек Posix. Это означает, что они предлагают только функции, необходимые для Posix, и ничего больше.В то время как Bash и Zsh добавляют больше возможностей , чем требуется Posix.

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

    Таким образом, обычной практикой является использование «расширенных» оболочек, таких как Bash или Zsh, для общего взаимодействия и «урезанных» оболочек, таких как Ash или Dash, для выполнения сценариев.

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

    Если вас интересует более подробное сравнение этих оболочек, вот видео, которое очень хорошо объясняет:

    Если бы мне порекомендовали оболочку, я бы рекомендовал bash, так как она самая стандартная и часто используемая. Это означает, что вы сможете применить свои знания в большинстве сред.

    Но опять же, правда в том, что между большинством оболочек нет СИЛЬНОЙ разницы. Так что в любом случае вы можете попробовать несколько и посмотреть, какой из них вам больше нравится. 😉

    Я только что упомянул, что Fish поставляется со встроенной конфигурацией, такой как автозаполнение и подсветка синтаксиса.Это встроено в Fish, но в Bash или Zsh вы также можете настроить эти функции.

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

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

    Кроме того, в Интернете доступно множество подключаемых модулей, упрощающих настройку оболочки.Вы просто устанавливаете их и получаете функции, которые предлагает плагин. Некоторые примеры: OhMyZsh и Starship.

    Эти параметры настройки также применимы для терминалов.

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

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

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

    Имейте в виду, что эти примеры будут основаны на моей текущей конфигурации (Bash в ОС Linux). Но в любом случае большинство команд должны применяться к большинству конфигураций.

    • Echo печатает в терминале любой параметр, который мы ему передаем.
      эхо Здравствуйте, freeCodeCamp! // Вывод: Здравствуйте, freeCodeCamp!
      
    • pwd означает печать рабочего каталога и печатает «место» или каталог, в котором мы сейчас находимся на компьютере.
      pwd // Вывод: /home/немецкий
      
    • ls представляет вам содержимое каталога, в котором вы сейчас находитесь. Он представит вам как файлы, так и другие каталоги, содержащиеся в вашем текущем каталоге.

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

      лс // Вывод:
    node_modules package.json package-lock.json общедоступный README.md src
      

    Если вы передадите этой команде флаг или параметр -a , она также покажет вам скрытые файлы или каталоги.Как .git или .gitignore файлы

      лс -а // Вывод:
    . .env .gitignore package.json общедоступный источник
    .. .git node_modules package-lock.json README.md
      
    • cd — это сокращение от «Изменить каталог», и он перенесет вас из текущего каталога в другой.

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

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

    Если вы введете только cd , вы попадете прямо в свой домашний каталог.

    • mkdir означает make directory, и он создаст для вас новый каталог. Вы должны передать команде параметр имени каталога.

    Если бы я хотел создать новый каталог под названием «Test», я бы ввел mkdir test .

    • rmdir означает «Удалить каталог», и он делает именно это. Ему нужен параметр имени каталога так же, как mkdir : rmdir test .

    • touch позволяет создать пустой файл в текущем каталоге. В качестве параметров принимает имя файла, например touch test.txt .

    • rm позволяет удалять файлы, точно так же rmdir позволяет удалять каталоги.
      РМ test.txt

    • cp позволяет копировать файлы или каталоги. Эта команда принимает два параметра: первый — это файл или каталог, который вы хотите скопировать, а второй — место назначения вашей копии (куда вы хотите скопировать файл/каталог).

    Если я хочу сделать копию своего текстового файла в том же каталоге, я могу ввести следующее:

      cp test.txt testCopy.txt
      

    Вижу, что каталог не меняется, а в "destination" ввожу новое имя файла.

    Если я хочу скопировать файл в другой каталог, но сохранить то же имя файла, я могу ввести это:

      cp test.txt ./testFolder/
      

    И если я хочу скопировать в другую папку, изменив имя поля, конечно, я могу ввести это:

      cp тест.txt ./testFolder/testCopy.txt
      
    • mv — это сокращение от move и позволяет нам перемещать файл или каталог из одного места в другое. То есть создайте его в новом каталоге и удалите в предыдущем (так же, как вы могли бы сделать это путем вырезания и вставки).

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

      мв test.txt ./testFolder/
      

    Мы также можем изменить имя файла в той же команде, если захотим:

      тест мв.txt ./testFolder/testCopy.txt
      
    • head позволяет просматривать начало файла или передаваемые данные непосредственно с терминала.
      head test.txt // Вывод:
    это начало моего тестового файла
      
    • tail работает так же, но показывает конец файла.
      tail test.txt // Вывод:
    
    это конец моего тестового файла
      
    • Флаг --help можно использовать для большинства команд, и он вернет информацию о том, как использовать данную команду.
      cd --help // вывод:
    cd: cd [-L|[-P [-e]] [[email protected]]] [каталог]
    Измените рабочий каталог оболочки.
      

    Изменить текущий каталог на DIR. DIR по умолчанию — это значение переменной оболочки HOME.

    Переменная CDPATH определяет путь поиска для каталога, содержащего DIR. Альтернативные имена каталогов в CDPATH разделяются двоеточием : .

    Пустое имя каталога совпадает с текущим каталогом, если DIR начинается с ... .

    • Аналогичным образом команда man вернет информацию о любой конкретной команде.
      man cp // вывод:
    
        CP(1) Пользовательские команды CP(1)
    
        НАЗВАНИЕ
               cp - копировать файлы и каталоги
    
        СИНТАКСИС
               cp [ОПЦИЯ]... [-T] ИСТОЧНИК НАЗНАЧЕНИЕ
               cp [ВАРИАНТ]... ИСТОЧНИК... КАТАЛОГ
               cp [ОПЦИЯ]... -t ИСТОЧНИК КАТАЛОГА...
    
        ОПИСАНИЕ
               Скопируйте ИСТОЧНИК в DEST или несколько ИСТОЧНИКОВ в DIRECTORY.Обязательные аргументы для длинных опций обязательны для коротких опций
               слишком.
    
               -а, --архив
                      то же, что и -dR --preserve=all
    
               --атрибуты-только
                      не копируйте данные файла, только атрибуты
        ...
      

    Вы даже можете ввести man bash , и это вернет огромное руководство обо всем, что нужно знать об этой оболочке. 😉

    • код откроет редактор кода по умолчанию.Если вы введете команду в одиночку, она просто откроет редактор с последним открытым файлом/каталогом.

    Вы также можете открыть данный файл, передав его в качестве параметра: code test.txt .

    Или откройте новый файл, передав новое имя файла: code thisIsAJsFile.js .

    • edit откроет текстовые файлы в текстовом редакторе командной строки по умолчанию (который, если вы работаете на Mac или Linux, скорее всего, будет либо Nano, либо Vim).

    Если вы открываете файл и не можете выйти из редактора, сначала посмотрите на этот мем:

      ![vimExit](https://www.freecodecamp.org/news/content/images/2022/03/vimExit.png)
      

    А затем введите :q! и нажмите Enter.

    Мем забавный, потому что поначалу все борются с текстовыми редакторами CLI, так как большинство действий (например, выход из редактора) выполняются с помощью сочетаний клавиш. Использование этих редакторов — это совсем другая тема, так что поищите туториалы, если хотите узнать больше. 😉

    • ctrl+c позволяет выйти из текущего процесса, запущенного терминалом.Например, если вы создаете приложение для реагирования с npx create-react-app и хотите в какой-то момент отменить сборку, просто нажмите ctrl+c , и сборка остановится.

    • Копирование текста из терминала можно выполнить с помощью ctrl+shift+c , а вставку можно выполнить с помощью ctrl+shift+v

    • очистить очистит ваш терминал от всего предыдущего содержимого.

    • exit закроет ваш терминал и (это не команда, но тоже круто) ctrl+alt+t откроет для вас новый терминал.

    • Нажимая клавиши вверх и вниз , вы можете перемещаться по ранее введенным командам.

    • Нажав на вкладку , вы получите автодополнение на основе текста, который вы уже написали. Дважды нажав вкладку , вы получите предложения, основанные на тексте, который вы уже написали.

    Например, если я дважды напишу edit test и tab , я получу testFolder/ test.txt .Если я напишу edit test. и нажмите вкладку мой текст автоматически дополняется до редактировать test.txt

    Git-команды

    Помимо работы с файловой системой и установки/удаления вещей, взаимодействие с Git и онлайн-репозиториями, вероятно, является наиболее распространенной задачей, для которой вы собираетесь использовать терминал как разработчик.

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

    • git init создаст для вас новый локальный репозиторий.
      git инициализация // вывод:
    Инициализирован пустой репозиторий Git в /home/German/Desktop/testFolder/.git/
      
    • git add добавляет один или несколько файлов в промежуточную среду. Вы можете указать конкретный файл для добавления в промежуточную среду или добавить все измененные файлы, набрав git add .

    • git commit фиксирует ваши изменения в репозитории.Коммиты всегда должны сопровождаться флагом -m и сообщением фиксации.

      git commit -m 'Это тестовая фиксация' // вывод:
    [master (root-commit) 6101dfe] Это тестовая фиксация
     1 файл изменен, 0 вставок(+), 0 удалений(-)
     создать режим 100644 test.js
      
    • git status сообщает вам, в какой ветке вы сейчас находитесь, и есть ли у вас изменения для фиксации или нет.
      статус git // вывод:
    На мастере ветки
    ничего не коммит, рабочее дерево чистое
      
    • git clone позволяет вам клонировать (копировать) репозиторий в каталог, в котором вы сейчас находитесь.Имейте в виду, что вы можете клонировать как удаленные репозитории (в GitHub, GitLab и т. д.), так и локальные репозитории (те, которые хранятся на вашем компьютере).
      git clone https://github.com/coccagerman/MazeGenerator.git // вывод:
    Клонирование в "MazeGenerator"...
    удаленный: Перечисляем объекты: 15, готово.
    удаленный: Подсчет объектов: 100% (15/15), выполнено.
    remote: Сжатие объектов: 100% (15/15), готово.
    удаленный: Всего 15 (дельта 1), повторно использовано 11 (дельта 0), повторно использовано 0
    Распаковка предметов: 100% (15/15), сделано. 
    • git remote add origin используется для детализации URL-адреса удаленного репозитория, который вы собираетесь использовать для своего проекта. Если вы захотите изменить его в какой-то момент, вы можете сделать это с помощью команды git remote set-url origin .
      git удаленное добавление источника https://github.com/coccagerman/testRepo.git
      

    Имейте в виду, что вам нужно сначала создать удаленное репо, чтобы получить его URL-адрес. Позже мы увидим, как это можно сделать из командной строки с помощью небольшого скрипта.;)

    • git remote -v позволяет указать текущий удаленный репозиторий, который вы используете.
      git remote -v // вывод:
    происхождение https://github.com/coccagerman/testRepo.git (выборка)
    происхождение https://github.com/coccagerman/testRepo.git (push)
      
    • git push загружает внесенные вами изменения в удаленное репо.
      git push // вывод:
    Подсчет предметов: 2, готово.
    Дельта-сжатие с использованием до 8 потоков.Сжатие объектов: 100% (2/2), готово.
    Запись объектов: 100% (2/2), 266 байт | 266,00 КиБ/с, готово.
    Всего 2 (дельта 0), повторно использовано 0 (дельта 0)
      
    • ветвь git перечисляет все доступные ветки в вашем репозитории и сообщает, в какой ветке вы сейчас находитесь. Если вы хотите создать новую ветку, вам просто нужно добавить имя новой ветки в качестве параметра, например git branch <название ветки> .
      ветка git // вывод:
    * главный
      
    • git checkout перемещает вас из одной ветки в другую.Он принимает вашу целевую ветку в качестве параметра.
      git checkout newBranch // вывод:
    Переключился на ветку "newBranch"
      
    • git pull извлекает (загружает) код из вашего удаленного репозитория и объединяет его с вашим локальным репозиторием. Это особенно полезно при работе в команде, когда многие разработчики работают над одной кодовой базой. В этом случае каждый разработчик периодически извлекает данные из удаленного репозитория, чтобы работать с базой кода, которая включает изменения, внесенные всеми другими разработчиками.

    Если в вашем удаленном репозитории есть новый код, команда вернет фактические файлы, которые были изменены при извлечении. Если нет, то получаем Уже обновленный .

      git pull // вывод:
    Уже в курсе.
      
    • git diff позволяет вам просматривать различия между веткой, в которой вы сейчас находитесь, и другой веткой.
      git diff newBranch // вывод:
    diff --git a/newFileInNewBranch.js b/newFileInNewBranch.js
    режим удаленного файла 100644
    индекс е69де29..0000000
      

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

    • git merge объединяет (объединяет) ветку, в которой вы сейчас находитесь, с другой. Имейте в виду, что изменения будут включены только в ту ветку, в которой вы сейчас находитесь, а не в другую.
      git слить новую ветку // вывод:
    Обновление f15cf51..3a3d62f
    Перемотка вперед
     новыйFileInNewBranch.js | 0
     1 файл изменен, 0 вставок(+), 0 удалений(-)
     режим создания 100644 newFileInNewBranch.js
      
    • git log перечисляет все предыдущие коммиты, которые вы сделали в репозитории.
      журнал git // вывод:
    коммит 3a3d62fe7cea7c09403c048e971a5172459d0948 (HEAD -> main, тег: TestTag, origin/main, newBranch)
    Автор: Герман Кокка 
    Дата: Пт, 1 апреля 18:48:20 2022 -03:00
    
        Добавлен новый файл
    
    зафиксировать f15cf515dd3ec398210108dce092debf26ff9e12
    Автор: Герман Кокка <нем[email protected]>
        ...
      
    • Флаг --help покажет вам информацию о заданной команде точно так же, как это работает с bash.
      git diff --help // вывод:
    GIT-DIFF(1) Руководство по Git GIT-DIFF(1)
    
    НАЗВАНИЕ
           git-diff — показать изменения между фиксациями, фиксацией и рабочим деревом и т. д.
    
    СИНТАКСИС
           git diff [опции] [<фиксация>] [--] [<путь>...]
           git diff [опции] --cached [<фиксация>] [--] [<путь>...]
           ...
      

    Теперь мы готовы перейти к действительно интересной и удивительной части командной строки — написанию сценариев!

    Как я упоминал ранее, сценарий — это не что иное, как последовательность команд или инструкций, которые мы можем выполнить в любой момент времени. Чтобы объяснить, как мы можем его закодировать, мы будем использовать простой пример, который позволит нам создать репозиторий github, выполнив одну команду. 😉

    • Первое, что нужно сделать, это создать файл .sh . Вы можете поставить его, где хотите.Я назвал свой newGhRepo.sh .

    • Затем откройте его в любом текстовом/кодовом редакторе.

    • В первой строке мы напишем следующее: #! /бин/ш

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

    Помните, ранее мы упоминали, что можем использовать данную оболочку для общего взаимодействия и другую данную оболочку для выполнения скрипта? Что ж, shebang — это инструкция, которая определяет, какая оболочка запускает сценарий.

    Как уже упоминалось, мы используем «урезанную» оболочку (также известную как оболочки sh) для запуска скриптов, поскольку они более эффективны (хотя разница может быть незаметна, если честно, это просто личное предпочтение). На моем компьютере у меня есть тире в качестве моей оболочки sh.

    Если бы мы хотели, чтобы этот скрипт работал с bash, то shebang был бы #! /бин/баш

    • Наша следующая строка будет repoName=$1

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

    Параметр представляет собой набор символов, который вводится после сценария/команды. Как и в случае с командой cd , нам нужно указать параметр каталога, чтобы изменить каталог (например: cd testFolder ).

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

    Если я ожидаю более одного параметра, я мог бы написать:

      параметрОдин=$1
    ПарамТво=$2
    параметр три = $ 3
    ...
      
    • Итак, мы ожидаем имя репозитория в качестве параметра нашего скрипта. Но что произойдет, если пользователь забудет его ввести? Нам нужно спланировать это, поэтому далее мы собираемся закодировать условное , которое продолжает просить пользователя ввести имя репо, пока этот параметр не будет получен.

    Мы можем сделать это так:

      пока [ -z "$repoName" ]
    делать
       echo 'Укажите имя репозитория'
       read -r -p $'Имя репозитория:' repoName
    сделано
      

    Что мы здесь делаем:

    1. Пока переменная repoName не назначена ( while [ -z "$repoName" ] )
    2. Написать в консоль это сообщение ( echo 'Укажите имя репозитория' )
    3. Затем прочитайте все введенные пользователем данные и назначьте их переменной repoName ( read -r -p $'Имя репозитория:' repoName )
    • Теперь, когда у нас есть имя нашего репозитория, мы можем создать наш локальный репозиторий Git следующим образом:
      эхо "# $repoName" >> README.Мэриленд
    git инициировать
    git добавить .
    git commit -m "Первая фиксация"
      

    Это создает файл readme и записывает одну строку с именем репо ( echo "# $repoName" >> README.md ), а затем инициализирует репозиторий git и делает первую фиксацию.

    • Тогда пришло время загрузить наш репозиторий на github. Для этого мы воспользуемся преимуществами API github в следующей команде:
    • .

    curl -u coccagerman https://api.github.com/user/repos -d '{"name": "'"$repoName"'", "private":false}'

    curl — это команда для передачи данных с сервера или на сервер с использованием одного из множества поддерживаемых протоколов.

    Затем мы используем флаг -u , чтобы объявить пользователя, для которого мы создаем репо ( -u coccagerman ).

    Далее идет конечная точка, предоставляемая GitHub API ( https://api.github.com/user/repos )

    И, наконец, мы используем флаг -d для передачи параметров этой команде. В этом случае мы указываем имя репозитория (для которого мы используем нашу переменную repoName ) и устанавливаем для параметра private значение false , так как мы хотим, чтобы наше репо было общедоступным.

    В API доступно множество других параметров конфигурации, поэтому дополнительную информацию см. в документации.

    • После выполнения этой команды GitHub предложит нам ввести наш закрытый токен для аутентификации.

    Если у вас еще нет личного токена, вы можете создать его в GitHub в Настройки > Настройки разработчика > Токены личного доступа

    • Круто, мы почти закончили! Теперь нам нужен удаленный URL-адрес нашего недавно созданного репозитория GitHub.

    Чтобы получить это, мы снова будем использовать curl и GitHub API, например:

      GIT_URL=$(curl -H "Принять: application/vnd.github.v3+json" https://api.github.com/repos/coccagerman/"$repoName" | jq -r '.clone_url')
      

    Здесь мы объявляем переменную с именем GIT_URL и присваиваем ее тому, что возвращает следующая команда.

    Флаг -H устанавливает заголовок нашего запроса.

    Затем мы передаем конечную точку GitHub API, которая должна содержать наше имя пользователя и имя репозитория ( https://api.github.com/repos/coccagerman/"$repoName" ).

    Затем мы передаем возвращаемое значение нашего запроса. Конвейер просто означает передачу возвращаемого значения процесса в качестве входного значения другого процесса. Мы можем сделать это с | символ вроде | <процесс2> .

    И, наконец, мы запускаем команду jq , которая представляет собой инструмент для обработки входных данных JSON. Здесь мы говорим ему получить значение .clone_url , где будет находиться наш удаленный URL-адрес git в соответствии с форматом данных, предоставленным API GitHub.

    • И в качестве последнего шага мы переименовываем нашу ветку master в main, добавляем только что полученный удаленный источник и отправляем наш код на GitHub! =D
      ветка git -M основная
    git удаленное добавление источника $GIT_URL
    git push -u происхождение основной
      

    Наш полный скрипт должен выглядеть примерно так:

      #! /бин/ш
    repoName=$1
    
    в то время как [ -z "$repoName" ]
    делать
        echo 'Укажите имя репозитория'
        read -r -p $'Имя репозитория:' repoName
    сделано
    
    echo "# $repoName" >> README.Мэриленд
    git инициировать
    git добавить .
    git commit -m "Первая фиксация"
    
    curl -u  https://api.github.com/user/repos -d '{"name": "'"$repoName"'", "private":false}'
    
    GIT_URL=$(curl -H "Принять: application/vnd.github.v3+json" https://api.github.com/repos//"$repoName" | jq -r '.clone_url')
    
    ветка git -M главная
    git удаленное добавление источника $GIT_URL
    git push -u происхождение основной
      
    • Теперь пришло время протестировать наш скрипт! Чтобы выполнить , мы можем сделать две вещи.

    Один из вариантов — ввести имя оболочки и передать файл в качестве параметра, например: тире ../ger/code/projects/scripts/newGhRepo.sh .

    И другой способ сделать файл исполняемым , запустив chmod u+x ../ger/code/projects/scripts/newGhRepo.sh .

    Затем вы можете просто выполнить файл напрямую, запустив ../ger/code/projects/scripts/newGhRepo.sh .

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

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

    Пришло псевдонимов bash для решения нашей проблемы.

    Псевдонимы — это способ, который bash предоставляет для создания имен для конкретных команд, которые мы хотим запустить.

    Чтобы создать новый псевдоним, нам нужно отредактировать файлы конфигурации bash в нашей системе.Эти файлы обычно находятся в домашнем каталоге. Псевдонимы могут быть определены в разных файлах (в основном .bashrc или .bash_aliases ).

    В моей системе есть файл .bash_aliases , так что давайте отредактируем его.

    • В нашем CLI мы вводим cd для перехода к домашнему каталогу.

    • Затем мы можем ввести ls -a , чтобы вывести список всех файлов (включая скрытые) и проверить, есть ли у нас .bashrc или .bash_aliases в нашей системе.

    • Мы открываем файл в любом текстовом/кодовом редакторе.

    • И мы пишем наш новый псевдоним так:
      alias newghrepo="dash /home/German/Desktop/ger/code/projects/scripts/newGhRepo.sh"

    Здесь я объявляю псевдоним, фактическую команду, которую я собираюсь ввести для запуска сценария ( newghrepo ).

    В кавычках укажите, что будет делать этот псевдоним ( "dash /home/German/Desktop/ger/code/projects/scripts/newGhRepo.ш" )

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

    Если вы не знаете абсолютный путь к вашему скрипту, перейдите в каталог скриптов на вашем терминале и введите readlink -f newGhRepo.sh . Это должно вернуть вам полный путь. 😉

    • После редактирования сохраняем файл, перезапускаем терминал и вуаля! Теперь мы можем запустить наш скрипт, просто введя newghrepo , независимо от того, в каком каталоге мы сейчас находимся.Гораздо быстрее, чем открывать браузер и щелкать мышью, чтобы создать репозиторий! =D

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

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

    Если вам интересно узнать больше о терминале и Bash, у Зака ​​Голлвитцера есть потрясающая серия ускоренных курсов на YouTube.
    У него также есть отличные руководства по другим темам, таким как Node и Javascript, поэтому я рекомендую вам следовать за ним. 😉

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

    Удачи и увидимся в следующем! =D

    Команды терминала

    : Справочное руководство: Общие команды для терминала

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

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

    Terminal:
    Программа Terminal встроена в компьютеры Mac и использует текстовые команды для управления компьютером без использования пользовательского интерфейса. Все команды терминала для GitHub будут начинаться с префикса git , за которым следует команда.

    Общие команды:

    • ~ Указывает домашний каталог
    • pwd Печать рабочего каталога (pwd) отображает путь к текущему каталогу
    • cd Изменить каталог
    • mkdir Создать новый каталог/папку с файлами
    • сенсорный Создать новый файл
    • .. Перейти на один уровень/каталог
    • cd ~ Возврат в домашний каталог
    • очистить Очищает информацию на экране дисплея, чтобы обеспечить чистый лист
    • ls Список предоставляет список всех файлов с каталогом
    • ls -l Отображает длинный список по вертикали с правами доступа к файлам, датой изменения и именем файла
    • ls -la Отображает все файлы

    Автозаполнение имен файлов:
    Введите первые пару строк имени файла, а затем клавишу вкладки , и остальная часть пути к файлу будет автоматически заполнена.

    Далее: Часть 2 Создание репозитория GitHub

    Для полной серии справочных руководств:

    основных команд терминала. Командная строка (он же терминал) — это… | by Patrick Sweetman

    Photo by Sai Kiran Anagani on Unsplash

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

    Операционные системы на базе Mac и Linux поставляются с предустановленным приложением под названием «Терминал», которое является идеальным инструментом для помощи в разработке программного обеспечения любого типа. Независимо от того, создаете ли вы нативные приложения для реагирования или голосовые приложения, Terminal — это ваша командная строка.

    Windows немного сложнее. Во-первых, у вас есть два встроенных варианта: командная строка и Powershell. Они ОЧЕНЬ разные. Powershell сложнее, чем традиционная командная строка, но и гораздо мощнее.Powershell напоминает взаимодействие терминалов Mac и Linux. Powershell — рекомендуемый вариант для 90% разработчиков программного обеспечения.

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

    cd , используемой для изменения текущего рабочего каталога в таких операционных системах, как Unix.Это поможет вам перемещаться по матрице (также известной как файловая система вашего компьютера). Используйте команду cd {имя папки} , чтобы перейти в новый каталог. После того, как вы смените каталог, обязательно запустите ls , чтобы зарегистрироваться, чтобы правильно ориентироваться.

    mkdir  — команда, используемая для создания нового каталога в Unix и Unix-подобных операционных системах. Используйте mkdir , чтобы создать новую папку так же, как если бы вы щелкнули правой кнопкой мыши на рабочем столе (команда + щелчок для Mac) и выберите «Новая папка».Как только вы создадите новую папку, используйте cd {new-folder-name} , чтобы перейти внутрь, чтобы начать сборку.

    очистить — стандартная команда операционной системы Unix для очистки экрана. Вы когда-нибудь чувствовали себя ошеломленным количеством строк кода в окне терминала? Сделайте глубокий вдох, введите clear и нажмите Enter, чтобы успокоиться с чистого листа.

    {библиотека} -v — стандартная команда операционной системы Unix, которая используется для проверки версии библиотеки.Общие библиотеки, используемые для современной веб-разработки, включают Node, npm (менеджер пакетов узла) и jovo. После запуска {library} -v вы должны получить текущий номер версии библиотеки (например, node -v возвращает v8.9.3 на моей машине). Если вы получите ответ «команда не найдена», вам нужно будет установить библиотеку и повторить попытку.

    Хотите узнать больше? Посмотрите видеоруководство, которое мы разместили на YouTube: https://www.youtube.com/watch?v=kp5EY1ZzW1E&list=PLUIDNoExzm94DazkMq71DGceBBjORoIuU

    Terminal Commands

    В этой документации описаны команды терминала Natural.Это организована по следующим рубрикам:

    Введение в Терминальные команды Что такое терминальные команды? Как выдавать команды терминала и как использовать их в программе.
    Терминальные команды Сгруппировано по функциям Предоставляет обзор команд терминала, заказанных функциональные группы.
    Клавиша управления терминалом Задания Как назначить функцию часто используемой команды терминала ключ.Информация о клавише CLEAR.
    Терминальные команды в алфавитном порядке Описание команд терминала в алфавитном порядке. Окно выбора ниже предназначено для быстрого доступа к все команды терминала.
    Краткий справочник

    %% и %.- Прервать текущую операцию%* — Запретить отображение символов%

    Linux Mint — Сообщество

    Информация о системе

    date — Показать текущую дату и время
    cal — Показать календарь на этот месяц
    uptime — Показать текущее время uptime
    w — Показать, кто онлайн Пользователь -Информация о дисплее Пользователь
    UNAME -A -Показать информацию о ядре
    CAT /PROC /CPUINFO -CPU Информация
    CAT /PROC /MEMINFO –meamo . -h — Показать использование диска
    du — Показать использование пространства каталога
    свободно — Показать использование памяти и подкачки

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

    Enter — Выполнить команду
    Стрелка вверх — Показать предыдущую команду
    Ctrl + R — Позволяет ввести часть искомой команды и найти ее

    Ctrl + Z — Останавливает текущую команду, возобновляет с fg на переднем плане или bg в фоновом режиме
    Ctrl + C — Останавливает текущую команду, отменяет текущую операцию и/или начинает новую новую строка
    Ctrl + L — Очистить экран

    команда | меньше — Позволяет прокручивать командное окно bash с помощью Shift + стрелка вверх и Shift + стрелка вниз
    !! — Повторяет последнюю команду
    команда  !$ — Повторяет последний аргумент предыдущей команды
    Esc + .(точка) — вставить последний аргумент предыдущей команды на лету, что позволяет редактировать его перед выполнением команды

    Ctrl + A — Вернуться к началу вводимой команды
    Ctrl + E — Перейти в конец вводимой команды
    Ctrl + U — Вырезать все до курсора до специального буфера обмена, стирает всю строку
    Ctrl + K — Вырезать все после курсора в специальный буфер обмена
    Ctrl + Y — Вставить из специального буфера обмена, что Ctrl + U и Ctrl + K сохраняют свои данные в
    Ctrl + T — Поменять местами два символа перед курсором (на самом деле вы можете использовать это для перемещения символа слева направо, попробуйте!)
    Ctrl + W — Удалить слово/аргумент слева от курсор в текущей строке

    Ctrl + D — Выход из текущего сеанса, аналогично выходу

    Изучите команды

    по поводу предмета — Список страниц руководства для предмета
    человека -k ключевого слово — отображение страницы человека, содержащей ключевого слово
    людей команды — Показать руководство для команда
    человек -т человек | ps2pdf -> человек.PDF — сделать PDF страницы вручную
    , который Команда — Показать полный путь команды
    времени команды — Посмотрите, как долго команда занимает

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

    Поиск

    Grep модели файлов — Поиск узор в файлов
    Grep -r шаблон реж — Поиск рекурсивно для узор в дир
    команда | GREP Паттерн -Поиск для Паттерн на выходе
    Locate FILE
    LOCATE FILE
    LOCATE
    at Locate
    . имя файла — Начиная с корневого каталога, ищите файл с именем имя файла
    find / -name ”* имя файла *” — Начиная с корневого каталога, ищите файл, содержащий строку имя файла
    locate имя файла – Найти файл с именем имя файла с помощью команды locate; это предполагает, что вы уже использовали команду updatedb (см. далее)
    updatedb – Создать или обновить базу данных файлов во всех файловых системах, подключенных к корневому каталогу Linux Исполняемый файл под названием Filename
    GREP TextstringTofind / DIR — Начиная с каталога под названием DIR , SEECT FOR FALINGSTAPING 0STING DIR .

    Права доступа к файлам

    chmod восьмеричное файловое — Измените разрешения файла на восьмеричное , которые можно найти отдельно для пользователя, группы и мира, добавив: 4 — чтение (r), 2 — чтение (r), 2 write (w), 1 – выполнить (x)
    Примеры:
    chmod 777 – чтение, запись, выполнение для всех
    chmod 755 – rwx для владельца, rx для группы и мира
    Дополнительные параметры см. man чмод .

    Файловые команды

    ls — Список каталогов
    ls -l — Список файлов в текущем каталоге в длинном формате
    ls -laC — Список всех файлов в текущем каталоге в длинном формате и отображение в столбцах
    ls -F — Список файлов в текущем каталоге и указать тип файла
    ls -al — Форматированный список со скрытыми файлами

    кд реж — Перейдите в каталог реж
    кд — Изменить на главную
    MkDir дир — Создать каталог реж
    PWD — показать текущий каталог

    гт Имя — Удалить файл или каталог с именем Имя
    гт -r реж — Удалить каталог реж
    гт -f файл — Force удалить file
    rm -rf dir — Принудительно удалить весь каталог dir и все входящие в него файлы и подкаталоги (используйте с особой осторожностью)

    сП file1 file2 Копирование file1 в file2
    сП -r dir1 dir2 Копия dir1 до dir2; create dir2 , если он не существует
    cp file /home/ dirname — Скопируйте имя файла с именем file в каталог
    90dirname 90/home/home/

    мв файл / дома / имя_директории — Переместить файл назвал имя файла для / дома / имя_директории каталог
    мв file1 file2 — переименовать или переместить file1 файл2 ; если файл2 является существующим каталогом, перемещает файл1 в каталог файл2

    LN -S Ссылка на файл -Создать символическую ссылку Ссылка до Файл
    Touch файл -Create Oor Update

    0 File -Create Oor Update

    0 File -CREAT OR NUVIL стандартный ввод в файл
    cat файл – Показать файл с именем файл

    more file – Показать файл с именем file по одной странице, переход к следующей странице с помощью пробела HEAD -20 Файл -Отображение первых 20 строк файла под названием Файл
    Хвост Файл -Вывод Последние 10 строк Файл
    Хэт -204440
    9 хвоста -204440
    9 -х. – Показать последние 20 строк файла с именем file
    tail -f file – Вывести содержимое файла по мере его роста, начиная с последних 10 строк

    Сжатие

    tar cf файл.TAR -файлы — Создайте TAR с именем File.TAR , содержащий Файлы
    File.Tar –ISTART. FILES 36.TAR
    –ISTART TAR 36.

    tar czf файлы file.tar.gz – Создать tar с помощью сжатия Gzip
    tar xzf file.tar.gz – Извлечь tar с помощью Gzip

    tar cjf file.tar.bz2 — Создать tar со сжатием Bzip2
    tar xjf файл.tar.bz2 — Извлечь tar с помощью Bzip2

    GZIP Файл -Сжатие Файл и переименование до File.gz
    GZIP -D FILE.GZ – DECOMPPREPES FILE.GZ –CEPPRPPREPES –CEPPRPPREPES –comprppress.

    Печать

    /etc/rc.d/init.d/lpd start — Запустить демон печати
    /etc/rc.d/init.d/lpd stop — Остановить демон печати
    /etc/rc.d/init.d/lpd status — Показать статус демона печати
    lpq — Показать задания в очереди печати
    lprm — Удалить задания из очереди
    lpr — Печать файла
    lpc — Управление принтером инструмент
    человек предмет | lpr – Распечатать страницу руководства с именем subject в виде обычного текста
    man -t subject | lpr — Распечатать страницу руководства под названием Тема в виде вывода Postscript
    printtool — Запустить интерфейс настройки принтера X

    Сеть

    ifconfig — список IP-адресов для всех устройств на локальном компьютере
    iwconfig — используется для установки параметров сетевого интерфейса, характерных для работы беспроводной сети (например, частота)
    iwlist — используется для отображения некоторая дополнительная информация от беспроводного сетевого интерфейса, который не отображается iwconfig
    пинг хост — Ping хост и выходные результаты
    Whois домен — Получить WHOIS информация для домена
    рыть домен — Получить информацию о DNS для домена
    рыть -x хоста — обратный поиск хоста
    Wget файл — Скачать файлов
    wget -c файл — Продолжить остановку пед скачать

    СШ

    SSH Пользователь @ Host -подключите к Host AS Пользователь
    SSH -P Пользователь порта @ SSH -P Пользователь порта @ SSH -P Пользователь @ 941 941 941 941 944 941 944 . Порт AS Пользователь
    SSH-Copy-ID Пользователь @ HOST -Добавьте свой ключ к HOST для

    0 пользователь ost для

    036 user
    7777.

    Администрирование пользователей

    Adduser AccountName — Создайте новый пользователь звонок AccountName
    PASSWD AccountName — дайте Accountname
    Accountname Accountname . exit — перестать быть суперпользователем и вернуться к обычному пользователю

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

    пс — вывести ваши текущие активные процессы
    топ — показать все запущенные процессы
    убивают PID — процесс убийств ID PID
    killall Proc — Убить все процессы с именем прок (используйте с особой осторожностью)
    bg — список остановленных или фоновых заданий; возобновить остановленное задание в фоновом режиме
    fg — Выводит самое последнее задание на передний план
    fg n — Выводит задание n на передний план

    Установка из исходников

    ./ configure
    Make
    Make Install
    DPKG -I PKG.DEB -УСТАНОВКА DEB -пакет (DEBIAN / UBUNTU / Linux MINT)
    RPM -UUV -UUV —

    44440.14444444444444.14440.144444.14440. установить пакет RPM (Red Hat/Fedora)

    Остановка и запуск

    shutdown -h now — Выключить систему сейчас и не перезагружать
    halt — Остановить все процессы — то же, что и выше – Выключить систему сейчас и перезагрузить
    reboot – Остановить все процессы и затем перезагрузиться – аналогично предыдущему
    startx – Запустить систему X

    Рекомендуемое чтение:

    Шпаргалки.org — все шпаргалки, сводки, краткие справочные карточки, краткие справочные руководства и краткие справочные листы на одной странице. Единственный, кто вам нужен.

    Учебное пособие: объяснение лучших советов и приемов для bash — Блог учебных пособий по Linux / Качественные учебные пособия по Linux без беспорядка

    LinuxCommand.org — изучение оболочки, написание сценариев оболочки, библиотека сценариев, страницы SuperMan, кто, что, где, почему

    LinuxManPages.com — Общие команды, Системные вызовы, Подпрограммы, Специальные файлы, Форматы файлов, Игры, Макросы и соглашения, Команды обслуживания, Самые популярные справочные страницы

    Man-страницы Linux от die.net — справочные страницы сгруппированы в разделы, чтобы просмотреть полный список справочных страниц Linux для раздела, выберите один из них. Или вы можете просматривать справочные страницы Linux по имени; выберите первую букву имени интересующей вас команды, функции или файла Linux.

    Руководство для новичков в Linux: ярлыки и команды — основные ярлыки и команды Linux; Общие команды Linux — информация о системе; Основные операции, сетевые приложения, сжатие файлов (распаковка); Контроль процесса; Основные команды администрирования, доступ к дискам/разделам; Инструменты сетевого администрирования, команды, связанные с музыкой, команды, связанные с графикой.

    Страницы руководств Sudo — Sudo (su «do») позволяет системному администратору делегировать полномочия, чтобы дать определенным пользователям (или группам пользователей) возможность выполнять некоторые (или все) команды от имени пользователя root или другого пользователя, обеспечивая контрольный журнал команды и их аргументы. Для получения дополнительной информации см. введение в Sudo. Sudo — это бесплатное программное обеспечение , распространяемое по лицензии ISC.

    LinOxide.com — черно-белая шпаргалка по командам Linux

    Что такое терминал? | ИТ-подключение

    Введение

    Графические пользовательские интерфейсы (GUI) позволяют выполнять повседневные задачи, взаимодействуя с окнами и значками, и полезны для многих задач.Однако для многих задач нам лучше вводить текстовые команды непосредственно в компьютер для большей эффективности и гибкости. Обычно мы делаем это через терминалы.

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

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

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

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

    Mac
    «Терминал» — это предустановленная программа. Введите «Терминал» в инструмент «Прожектор» (CMD + Пробел или нажмите на увеличительное стекло в правом верхнем углу)

    Windows
    Хотя Windows поставляется с «cmd», вам потребуется загрузить инструмент «PowerShell», чтобы выполнить любую из команд в этом руководстве. Его можно скачать отсюда.

    Linux
    Большинство дистрибутивов Linux предоставляют несколько, например: gnome-terminal, konsole, xterm, rxvt, kvt, nxterm и eterm.Не нужно ничего скачивать, просто прочитайте справочную документацию по вашему дистрибутиву, чтобы узнать, какой из них включен.

    Учебник

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

    1. Ввод команд
    2. Навигация
    3. Оглядываясь вокруг
    4. Управление файлами
    5. Подробная работа с командами
    6. Управление вводом и выводом (перенаправление ввода/вывода)
    7. Расширение команды
    8. Разрешения (только для Mac и Linux)
    9. Экскурсия по системным каталогам (только для Mac и Linux)
    10. Управление заданиями (только для Mac и Linux)

    Часто задаваемые вопросы

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

    Какие наиболее часто используемые команды терминала?

    В этой статье о 10 лучших командах терминала описаны некоторые из наиболее полезных команд.

    Дополнительные ресурсы

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

    Команды терминала Mac

    Полный список всех поддерживаемых команд Mac Terminal от A до Z.

    Команды терминала Linux

    Полный список всех поддерживаемых команд Linux Terminal от A до Z.

    Команды Windows PowerShell

    Полный список всех поддерживаемых команд Windows PowerShell от А до Я.

    .

    Leave a Reply