Консольные команды Linux — справочник с примерами

Мефодий не забыл, что cat без параметров следует завершать командой «^D» (конец ввода). Эту команду, как и предыдущие, интерпретирует при вводе с терминала система. Система же превращает некоторые другие управляющие символы (например, «^C» или «^Z») в сигналы. В действительности все управляющие символы, интерпретируемые системой, можно перенастроить с помощью команды stty. Полный список того, что можно настраивать, выдаёт команда stty -a:

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

Даже не изучая специально возможностей командной оболочки, Мефодий активно использовал некоторые из них, не доступные при вводе текста большинству утилит (в частности, ни cat, ни hexdump). Речь идёт о клавишах Стрелка влево и Стрелка вправо, с помощью которых можно перемещать курсор по командной строке, и клавише Del, удаляющей символ под курсором, а не позади него. В лекции Терминал и командная строка он уже убедился, что эти команды работают в bash, но не работают для cat. Более того, для простого командного интерпретатора — sh — они тоже не работают.

Следовательно, возможности редактора командной строки специфичны для разных командных оболочек. Однако самые необходимые команды редактирования поддерживаются во всех разновидностях shell сходным образом. По словам Гуревича «во всех видах Linux обязательно есть bash, а если ты достаточно опытен, чтобы устанавливать и настраивать пакеты, можешь установить zsh, у него возможностей больше, чем может понадобиться одному человеку». Поэтому Мефодий занялся изучением документации по bash, что оказалось делом непростым, ибо в он насчитал более восьми с половиной тысяч строк. Даже про редактирование командной строки написано столько, что за один раз прочесть трудно.

Попытка «наскоком» узнать всё про работу в командной строке принесла некоторую пользу. Во-первых, перемещаться в командной строке можно не только по одному символу вперёд и назад, но и по словам: команды ESCF/ESCB или Alt+F/Alt+B соответственно (от forward и bckward), работают также клавиши &home& и &end&, или, что то же самое, «^A» и «^E». А во-вторых, помимо работы с одной командной строкой, существует ещё немало других удобств, о которых и пойдёт речь в этой лекции.

Используем команду touch в Linux

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

Используем команду touch в Linux

Синтаксис

Обратим внимание на стандартный вид строки при вводе команды touch. Она выглядит так: touch + [Опции] + Файл. Если же действие нужно осуществить от имени суперпользователя, в начале строки придется добавить sudo, а после ее активации написать пароль, подтверждающий учетную запись. Что касается дополнительных опций, то стоит отметить следующие:

Используем команду touch в Linux
  • —help и —version используются редко. Первая опция даст возможность прочесть официальную документацию, а вторая отобразит текущую версию утилиты.
  • -a отвечает за изменение времени доступа к указанному файлу.
  • -m изменяет время модификации.
  • -c определяет, что объект с указанным именем создан не будет.
  • -r позволит использовать время доступа и модификации указанного файла.
  • -t предназначена для изменения даты и времени путем ручного ввода.
  • -d использует дату и время, заданные в виде строки.

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

Используем команду touch в Linux

Генерация пустых файлов

Для начала разберемся с действием команды touch без применения каких-либо аргументов — так она создает пустой файл размером 0 байт с указанным названием.

Используем команду touch в Linux

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

Читайте также:  Как войти в запущенный Docker-контейнер и почему так делать не надо

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

Используем команду touch в Linux

Как вы уже знаете, одна из опций рассматриваемой команды разрешает изменить время доступа к файлу на текущее. Осуществляется это путем ввода всего одной строки которая имеет вид touch -a file, где file — имя необходимого объекта. Количество перечисляемых элементов для одной строки не ограничивается. При этом время последнего изменения не устанавливается, если только в данной строке не дописана дополнительная опция -m, о ней мы и поговорим далее.

Установка времени последнего изменения

Используем команду touch в Linux

По той же аналогии работает и упомянутый выше аргумент -m. Ое переназначает время последнего изменения на текущее, а строка выглядит так: touch -m file. Все внесенные изменения вступают в действие сразу же, а это значит, что вы можете переходить к их проверке или к выполнению других задач, ради которых и вызывалась команда touch с опцией -m.

Запрет на создание объекта

Используем команду touch в Linux

Простая утилита touch иногда позволяет реализовать и сложную цель путем ввода буквально одной строки в консоль. После выполнения команды touch -c file, где file — точное название нужного файла, элемент с указанным именем нельзя будет создать обычному пользователю. Деактивируется эта опция только после того, как привилегированный пользователь создаст пустой объект с таким же названием через эту же команду. Дополнительно ничего не мешает вам создать список из названий, чтобы одновременно установить на них ограничения.

Установка времени доступа и изменений

Используем команду touch в Linux

Приведенные выше опции -a и -m позволяли только изменить параметры файла, установив текущее время, однако имеется возможность задать абсолютно любое время с точностью до секунды. При этом главное — соблюдать правило ввода: [[ВВ]ГГ]ММДДччммм[.сс], где ВВ — первые две цифры года, ГГ — вторые, ММ — месяц, ДД — дата, чч — часы, мм — минуты, сс — секунды. Необходимая команда получается такой: touch -c -t 01261036 file.

Если вы заинтересованы в просмотре итогового результата, напишите в консоли ls -l и нажмите на Enter. В списке остается только отыскать необходимый файл и просмотреть, когда он был модифицирован.

Используем команду touch в Linux

Перенос временных меток выбранного файла

Если вы ознакомились с приведенной выше информацией, то знаете, что опция -r разрешит перенести временные метки одного объекта на другой. Осуществляется это через строку: touch -r file1 file2, где file1 — уже имеющийся файл с определенными временными метками, а file2 — новый объект, к которому они и будут применены.

Используем команду touch в Linux

Создание файла с указанным временем

В конце данного материала отметим, что по умолчанию touch создает файлы с актуальным временем, однако это можно изменить, применив всего одну опцию: touch -t file, где — точно указанное время на ваш выбор, а file — название того самого объекта или объектов, если они будут представлены в виде списка.

Используем команду touch в Linux

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

Просмотр, сохранение, очистка истории команд командной строки

Мы рассмотрим следующие темы:

  1. Просмотр с использованием DOSKEY.
  2. Просмотр с помощью клавиши F7.
  3. Сохраните историю командной строки.
  4. Очистить историю командной строки.

1] Просмотр истории команд с помощью DOSKEY

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

Просмотр, сохранение, очистка истории команд командной строки

doskey/history

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

Читайте также:  Как установить и посмотреть переменные окружения Linux

Вы можете проверить фрагмент экрана того же самого выше.

2] Просмотр истории CMD с помощью клавиши F7

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

Чтобы просмотреть историю команд, вам нужно нажать клавишу F7 . F7 работает также для командной строки и PowerShell.

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

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

Просмотр, сохранение, очистка истории команд командной строки

2] Сохранить историю командной строки

Иногда вам может потребоваться сохранить записи команд, которые они использовали в сеансе с использованием командной строки, в файле TXT, HTML, CSV или RTF.

Для этого вы можете использовать расширение команды DOSKEY.

Вам просто нужно ввести следующую команду, а затем нажать клавишу Ввод ,

doskey/HISTORY>

Затем сохраненный файл истории будет сохранен в том месте, где вы выполнили команду в окне командной строки.

4] Очистить историю командной строки, используя Alt + F7

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

Просмотр, сохранение, очистка истории команд командной строки

Чтобы очистить историю команд, вы также можете использовать сочетание клавиш Alt + F7 . Alt + F7 работает также для командной строки и PowerShell.

Вы также можете удалить историю команд с помощью редактора реестра. Перейдите к следующей клавише:

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ RunMRU

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

Дополнительные советы и рекомендации по командной строке здесь.

Команды Linux, дающие информацию о системе

whoami #вывести имя под которым Вы зарегистрированы date #вывести дату и время time <имя программы> #выполнить программу или команду и получить информацию о времени, #нужном для ее выполнения who #определить кто из пользователей работает на машине uname -a #вывести информацию о версии операционной системы cat /etc/issue #показать версию операционной системы (, etc.) lsb_release -a #название дистрибутива и версия uname -m #узнать, сколько бит в linux ОС free #вывести информацию по использованию памяти df -h #вывести информацию о свободном и используемом месте на дисках uptime #показывает текущее время, время, прошедшее после загрузки ОС, количество текущих #пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут работы после загрузки, #количество текущих пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут top (htop) #выводит список работающих в системе процессов и информацию о них ps axu | grep php #список процессов, в имени которых встречается php ps aux | head -n 1; ps aux | grep :searchd #процессы с пояснением параметров сверху netstat -lnp | grep :9000 #узнать, что висит на 9000 порту netstat -luntp #показывает все открытые порты с использующими их приложениями lsusb #информация об устройствах, подключенных через USB lscpu #характеристики процессора

Как завершить какой-нибудь процесс? Если во время вывода top нажать k (от слова kill), то будет предложено

PID to kill:

нужно ввести идентификатор (PID) процесса и затем нажать enter. Это нечто вроде диспетчера задач в Windows.

Как управлять процессами Linux с помощью команд

Как на Linux удалить файл и директорию — список команд

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

Информация о запущенном процессе

Терминал Linux позволяет разгрузить операционную систему и оперативную память компьютера с помощью ряда специальных команд:

Как управлять процессами Linux с помощью команд
  • «ps» показывает свойства указанного процесса, а также подробную информацию о нём;
  • «pgrep» демонстрирует ID введённого процесса;
  • «kill» — принудительное завершение процесса;
  • «xkill» завершает работу процесса путём клика на рабочее окно;
  • «killall» — принудительное завершение всех запущенных процессов;
  • «htop» демонстрирует активные процессы, выполняет роль консольного менеджера;
  • «time» показывает информацию о времени запуска того или иного процесса.
Читайте также:  Форматирование флешки в FAT32 или NTFS — что лучше?

Использование терминала расширяет пользовательские функции в отношении запущенных программ.

К сведению! Несмотря на то, что операционная система Linux считается одной из самых защищённых от вирусов и вредоносного ПО, со временем даже она может давать сбои.

Дистрибутивы Linux — что это и какие они бывают

Говоря простыми словами:

Дистрибутив Linux — разновидность ОС Линукс

Существуют множество видов дистрибутивов Linux. Самые распространённые в мире дистрибутивами являются:

  • Linux Mint. Самый простой для пользователя дистрибутив. Очень напоминает Windwos 7. Основан на Ubuntu и Debian
  • Ubuntu. Долгое время считался самым популярным дистрибутивом. Стабильная и интуитивно понятная версия для ежедневного использования Основан на Debian
  • Debian. Лег в основу множества других популярных Линуксов.
  • Mageia. Предок бывшей и популярной ОС Mandriva.
  • Fedora. Универсальный, быстро развивающейся и современный Linux. Каждый год появляются новые версии.
  • OpenSUSE. стабильный и мощный дистрибутив
  • ArchLinux. Современный и быстро обновляющейся дистрибутив.
  • CentOS
  • PCLinuxOS
  • Slackware. Консервативный подход разработки и использования

Интересными дистрибутивами также являются и те, которые можно самостоятельно собрать. К таким относятся LFS, Gentoo, CRUX.

Линукс также практикует такой вид дистрибутивов, которые не требуют установки на жесткий диск. Они работают в режиме «LiveCD». Информация загружается в оперативную память и уже работает с нее. Примеры таких систем: Knoppix, Fedora.

Существуют и чисто российские версии:

  • Rosa
  • ALT Linux
  • ASPLinux
  • НауЛинукс
  • Calculate Linux
  • Runtu
  • Rosinka
  • Astra Linux

Очистка истории предыдущих команд в PowerShell

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

Командлет Clear-History можно использовать только для очистки истории команд в оперативной памяти текущего сеанса PowerShell (очищается список предыдущих команд, которые выводит командлет Get-History).

Можно удалить из истории только одну предыдущую команду:

Clear-History -count 1 -newest

Или все команды по определенной маске:Clear-History -CommandLine *set-ad*

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

Remove-Item (Get-PSReadlineOption).HistorySavePath

После этого закройте сессию PoSh.

Если нужно полностью отключить ведение истории команд PowerShell, выполните команду:

Set-PSReadlineOption -HistorySaveStyle SaveNothing

! — логический оператор НЕ и оператор истории

Восклицательный знак (!) — это логический оператор, который означает НЕ.

В этой командной строке есть две команды:

[! -d ./backup] && mkdir ./backup

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

Первая команда использует ! в качестве логического оператора. Квадратные скобки указывают на то, что будет проведено испытание. Опция  -d (directory) проверяет наличие каталога с именем backup. Вторая команда создает каталог.

Поскольку двойные амперсанды разделяют две команды, Bash выполнит вторую только в случае успеха первой  . Однако это противоположность того, что нам нужно. Если проверка для «резервной» директории прошла успешно, нам не нужно её создавать. И если проверка для каталога «backup» не пройдена, вторая команда не будет выполнена, а отсутствующий каталог не будет создан.

! - логический оператор НЕ и оператор истории

Это где логический оператор ! входит. Он действует как логическое НЕ. Таким образом, если тест пройден успешно (т.е каталог существует), он ! переходит на «НЕ успешно», что является ошибкой. Итак, вторая команда не активирована.

Если проверка каталога не пройдена (т.е каталог не существует), ! ответ изменяется на «НЕ сбой», что является успехом . Таким образом, команда для создания недостающего каталога будет выполнена.

Чтобы проверить состояние папки резервной копии, вы используете ls команду и параметры -l (длинный список) и -d (каталог), как показано ниже:

ls -l -d backup

Вы также можете запускать команды из истории команд с восклицательным знаком. Команда history выводит список вашей истории команд, а затем Вы набираете номер команды, с которой хотите выполнить ее повторно !, как показано ниже:

Следующая команда повторно запускает предыдущую команду: