Полезные комбинации для ускорения работы.
Поиск введенной ранее команды, щЁлкая клавишу «вверх», может затянуться на некоторое время. Удобнее будет нажать
Поиск введенной ранее команды, щЁлкая клавишу «вверх», может затянуться на некоторое время. Удобнее будет нажать
Ctrl + r и начать набирать команду. Оболочка будет предлагать автозаполнение из истории. Когда искомое будет найдено, останется только нажать ENTER
Команду clear для очистки экрана терминала можно заменить сочетанием Ctrl + l
Команду exit для выхода из терминала можно заменить сочетанием Ctrl + dДля обозначения домашнего каталога в командной строке применяются:
•
•
Другие специальные способы обозначения каталогов:
•
•
•
•
•
$HOME — эта переменная окружения отображает имя домашнего каталога;•
~ — тильда (~) указывает на домашний каталог в командной строке. Ее можно использовать также для того, чтобы идентифицировать чужой домашний каталог. Например, ~vasya указывает на домашний каталог пользователя vasya (вероятно, /home/vasya). Если бы я хотел перейти в каталог /home/vasya/test, то ввел бы cd ~vasya/test. Другие специальные способы обозначения каталогов:
•
. — точка (.) отображает текущий каталог;•
.. — две точки (..) относятся к каталогу, расположенному непосредственно над текущим каталогом;•
$PWD — эта переменная окружения ссылается на текущий рабочий каталог;•
$OLDPWD — эта переменная окружения ссылается на предыдущий рабочий каталог до смены его на текущий. (Ввод команды cd возвращает пользователя в каталог, представленный в виде $OLDPWD.)Для добавления самописных команд или скриптов оболочки в систему, необходимо поместить их в каталог
В одних системах Linux этот каталог автоматически добавляется в ваш путь, а в других может потребоваться создать этот каталог или добавить его в переменную
Таким образом, если вы добавляете команду в каталог
Чтобы сделать команды доступными для всех пользователей, добавьте их в каталог
bin в своем каталоге home (например, /home/vasya/bin для пользователя с именем vasya). В одних системах Linux этот каталог автоматически добавляется в ваш путь, а в других может потребоваться создать этот каталог или добавить его в переменную
PATH. Таким образом, если вы добавляете команду в каталог
bin с разрешением исполнения, ее можно будет использовать, просто введя имя в командной строке интерпретатора. Чтобы сделать команды доступными для всех пользователей, добавьте их в каталог
/usr/local/bin.К примеру, расширить раздел подкачки или погонять файлы на сервере, чтобы посмотреть его скорость - помогут искусственно созданные пустые файлы определенного размера.
Размер задается обозначениями:
•
•
•
•
•
•
•
Размер задается обозначениями:
•
KB • KiB • K•
MB • MiB • M•
GB • GiB • G•
TB • TiB • T•
PB • PiB • P•
ZB • ZiB • Z•
YB • YiB • YPipe
Или просто - конвейер. Это однонаправленный канал межпроцессного взаимодействия. Назван по аналогии с трубопроводом.
Конвейеры чаще всего используются в shell-скриптах для связи нескольких команд путем перенаправления вывода одной команды (
Например:
grep выполняет регистронезависимый поиск строки “error” в файле log, но результат поиска не выводится на экран, а перенаправляется на вход (
Или просто - конвейер. Это однонаправленный канал межпроцессного взаимодействия. Назван по аналогии с трубопроводом.
Конвейеры чаще всего используются в shell-скриптах для связи нескольких команд путем перенаправления вывода одной команды (
stdout) на вход (stdin) последующей, используя символ конвейера ‘|’:cmd1 | cmd2 | .... | cmdNНапример:
grep -i 'error' ./log | wc -lgrep выполняет регистронезависимый поиск строки “error” в файле log, но результат поиска не выводится на экран, а перенаправляется на вход (
stdin) команды wc, которая в свою очередь выполняет подсчет количества строк, в которых содержится одно и более раз слово "error".Файлы, получаемые из ОС Windows, часто имеют в конце каждой строки символы возврата каретки и перевода строки. В системах Linux и macOS для завершения строки предусмотрен только символ разрыва строки.
Если вы переносите файл в Linux и хотите избавиться от дополнительных возвращаемых символов, можно воспользоваться командой
И наоборот, с помощью команды
Параметр
Если вы переносите файл в Linux и хотите избавиться от дополнительных возвращаемых символов, можно воспользоваться командой
tr: tr -d '\r' < fileWind.txt > fileFixed.txtИ наоборот, с помощью команды
sed можно преобразовать конец строки файлов из ОС Linux в конец строки для ОС Windows: sed -i 's/$/\r/' fileLinux.txt Параметр
-i вносит изменения на месте и записывает их обратно во входной файл.В посте [ 10 простых трюков ] было упоминание про команду
А теперь смотрим на пример последовательности действий:
Пробел перед второй командой не добавит эту команду в историю. а значит с sudo будет запущено не то. что надо.
Вывод: Осознанный пробел перед командой не добавляет эту команду в историю.
Случайный пробел перед командой приводит к неприятным последствиям.
sudo !! , которая запустит предыдущую команду с привилегиями. А теперь смотрим на пример последовательности действий:
echo 'Запусти без привилегий' echo 'Запусти только через sudo'sudo !!Пробел перед второй командой не добавит эту команду в историю. а значит с sudo будет запущено не то. что надо.
Вывод: Осознанный пробел перед командой не добавляет эту команду в историю.
Случайный пробел перед командой приводит к неприятным последствиям.
Сравнить два файла, находящихся рядом, и показать все их различия можно командой
К примеру вывести только строки, которые отличаются:
Некоторые параметры:
sdiffК примеру вывести только строки, которые отличаются:
sdiff -s some_file1 some_file2Некоторые параметры:
-a — рассматривает все файлы как текстовые. -i — игнорирует регистр. -s — удаляет общие строки для двух файлов. -w — определяет максимальное количество символов для вывода в строке.По параметрам:
Переменная
-c — для создания архивного файла, -z — для архивирования файла и -f — для указания имени файла вывода.Переменная
HOSTNAME автоматически устанавливается оболочкой на имя текущего хоста. Файл вывода будет иметь то же имя, что и система, что поможет позже с организацией, если журналы собираются из нескольких систем.Для извлечения отдельных частей файла можно использовать команду
К примеру имеется файл
В файле каждое поле разделено пробелом. Для извлечения IP-адреса (второе поле) используйте следующую команду:
Получаем:
Параметр
Параметр
cut.К примеру имеется файл
some_file из двух строк, каждая с тремя столбцами данных:08/06/2022 192.168.10.14 test.html 09/06/2022 192.168.10.185 login.htmlВ файле каждое поле разделено пробелом. Для извлечения IP-адреса (второе поле) используйте следующую команду:
cut -d' ' -f2 some_file Получаем:
192.168.10.14192.168.10.185Параметр
-d' ' указывает, что в качестве разделителя полей используется пробел. Параметр
-f2 определяет, что команде нужно вырезать и отобразить второе поле, в данном случае IP-адреса.Если вам когда-либо понадобятся значения времени по ряду метрик ЦП, вы найдете их в третьей строке вывода top (в процентах).
Краткое объяснение сокращений, которые вы там увидите:
Краткое объяснение сокращений, которые вы там увидите:
us Время выполнения высокоприоритетных (без nice) процессов sy Время выполнения процессов ядра ni Время выполнения низкоприоритетных (niсе) процессов id Время на холостом ходу wa Время ожидания завершения событий ввода/вывода hi Время, потраченное на управление аппаратными прерываниями si Время, потраченное на управление программными прерываниями st Время, украденное у этой виртуальной машины ее гипервизором (хостом)Идентифицировать тип неизвестного вам файла, поможет команда:
В Linux это особенно актуально, так как большинство файлов не имеют расширения, которое можно использовать для идентификации (в отличие от Windows, где расширения файлов есть, например .exe).
К примеру, даже если вы переименуете файл-изображение
Пример использования:
fileВ Linux это особенно актуально, так как большинство файлов не имеют расширения, которое можно использовать для идентификации (в отличие от Windows, где расширения файлов есть, например .exe).
К примеру, даже если вы переименуете файл-изображение
А.png и присвоите ему имя и расширение С.jpg, изменив тем самым его тип, команда file сможет понять это и сообщит вам правильный тип файла (в данном случае это PNG-файл)Пример использования:
file some_fileГлобальные системные журналы
/var/log/syslog
/var/log/messages
(в зависимости от дистрибутива) содержат сообщения с момента запуска системы, от ядра Linux, различных служб, обнаруженных устройствах, сетевых интерфейсов и др.
С помощью команды
Чтобы увидеть запись сразу после ее фиксации:
Можно записать вывод прямо из команды, передав их в
/var/log/syslog
/var/log/messages
(в зависимости от дистрибутива) содержат сообщения с момента запуска системы, от ядра Linux, различных служб, обнаруженных устройствах, сетевых интерфейсов и др.
С помощью команды
logger можно добавить собственное сообщение в журнал, к примеру:logger 'Тестовая запись' Чтобы увидеть запись сразу после ее фиксации:
tail -n 1 /var/log/syslogМожно записать вывод прямо из команды, передав их в
logger. Это может быть особенно полезно для сбора выходных данных или сообщений об ошибках, генерируемых автоматизированными задачами, такими как задания cron.Сначала мы, чтобы вывести список всех файлов в корневом каталоге, используем команду
Каждый файл прогоняется через команду
Затем список сортируется по убыванию, а первые пять строк отображаются с помощью команды
Чтобы увидеть самые маленькие файлы в системе, вместо
find / -type f. Каждый файл прогоняется через команду
ls -s, которая определяет его размер в блоках (не в байтах). Затем список сортируется по убыванию, а первые пять строк отображаются с помощью команды
head. Чтобы увидеть самые маленькие файлы в системе, вместо
head можно использовать tail или удалить параметр -r из сортировки.При взгляде на имя файла
Так было много лет назад, но сегодня все обстоит иначе. Исторически сложилось, что этот файл должен быть доступен для чтения всем пользователям, поэтому хранить в нем пароли, даже в хешированном виде и с применением модификаторов, рискованно.
В современных системах пароли находятся в другом файле —
Посмотреть его в более удобном виде можно так:
/etc/passwd может сложиться впечатление, что в нем хранится информация о паролях. Так было много лет назад, но сегодня все обстоит иначе. Исторически сложилось, что этот файл должен быть доступен для чтения всем пользователям, поэтому хранить в нем пароли, даже в хешированном виде и с применением модификаторов, рискованно.
В современных системах пароли находятся в другом файле —
/etc/shadow, который обычные пользователи не могут прочитать. Он связывает между собой учетные записи и хешированные, модифицированные пароли. Эта информация позволяет деактивизировать учетную запись по прошествии какого-то времени или в случае, если пользователь долго не менял пароль. Посмотреть его в более удобном виде можно так:
sudo cat /etc/shadow | column -t -s :В Linux предусмотрена специальная переменная
[ Пост с примером использования ]
Значение переменной
$?, в которой хранится значение статуса выхода последней выполненной команды. [ Пост с примером использования ]
Значение переменной
$? необходимо рассматривать или использовать сразу после выполнения команды, статус выхода которой должен быть проверен.В папке
Кроме того, в ней хранятся файлы, содержащие данные о некоторых других свойствах системы.
Следующие примеры показывают, какую информацию можно получить из папки
/proc существуют отдельные директории для каждого работающего процесса (названные в соответствии с их ID), которые содержат информацию о процессе. Кроме того, в ней хранятся файлы, содержащие данные о некоторых других свойствах системы.
Следующие примеры показывают, какую информацию можно получить из папки
/proc в системе Linux:cat /proc/cmdline Показывает параметры, переданные ядру при загрузке. cat /proc/cpuinfo Показывает информацию о процессоре. cat /proc/devices Отображает существующие устройства посимвольного ввода-вывода и блочные устройства.cat /proc/diskstats Отображает диски, разделы и статистику по ним. cat /proc/filesystems Выводит список поддерживаемых ядром файловых систем. nodev означает. что данный тип не используется ни одним устройством. cat /proc/interrupts Просмотр присвоенных IRQ каналов.cat /proc/iomem Показывает адреса физической памяти. cat /proc/ioports Показывает адреса виртуальной памяти.cat /proc/loadavg Показывает 1-. 5-и 15-минутные средние загрузки. Запущенные процессы/общий и наивысший PID.cat /proc/meminfo Доступная оперативная память и файл подкачки.cat /proc/modules Загруженные модули, размер памяти, загруженные копии программы, состояние загруженных зависимостей и память ядра. cat /proc/mounts Информация о смонтированных локальных/удаленных файловых системах.cat /proc/stat Статистика ядра с момента запуска системы.cat /proc/swaps Информация о размере файла подкачки.cat /proc/uptime Секунды с момента загрузки системы/общее количество секунд простоя.cat /proc/version Версия ядра и соответствующего компилятора.KDE, GNOME или XFCE?
В Linux существует много видов рабочих столов и менеджеров окон. Кто из них лучше - это вопрос личных предпочтений и возможностей вашего ПК.
Три самые популярные графические оболочки:
1. KDE
Во многих отношениях KDE имеет схожесть с Windows, поэтому, если вы только переходите на линукс, то это отличный вариант. Требует меньше системных ресурсов, чем Unity, и меньше оперативки, чем GNOME 3.
2. GNOME
Оболочка GNOME сосредоточена на свободе. Хоть и более требовательна к ресурсам компьютера, чем KDE. Включает в себя несколько оконных менеджеров, то есть можно выбрать внешний вид окон и других системных элементов из нескольких существующих вариантов.
3. XFCE
XFCE — Менее ресурсоемкий, чем KDE или Gnome. По своему внешнему виду напоминает Mac OS X. Рабочий стол прост и не перегружен значками. Оболочка занимает очень мало места в памяти, а низкая загрузка ЦП также является его отличительной чертой.
В Linux существует много видов рабочих столов и менеджеров окон. Кто из них лучше - это вопрос личных предпочтений и возможностей вашего ПК.
Три самые популярные графические оболочки:
1. KDE
Во многих отношениях KDE имеет схожесть с Windows, поэтому, если вы только переходите на линукс, то это отличный вариант. Требует меньше системных ресурсов, чем Unity, и меньше оперативки, чем GNOME 3.
2. GNOME
Оболочка GNOME сосредоточена на свободе. Хоть и более требовательна к ресурсам компьютера, чем KDE. Включает в себя несколько оконных менеджеров, то есть можно выбрать внешний вид окон и других системных элементов из нескольких существующих вариантов.
3. XFCE
XFCE — Менее ресурсоемкий, чем KDE или Gnome. По своему внешнему виду напоминает Mac OS X. Рабочий стол прост и не перегружен значками. Оболочка занимает очень мало места в памяти, а низкая загрузка ЦП также является его отличительной чертой.
Разбивка текста на столбцы с помощью команды
Текст можно прочитать как из файла, так и со стандартного ввода, если файл не указан.
Формат вызова:
Параметры:
Пример полезного использования команды - в предыдущем посте.
columnТекст можно прочитать как из файла, так и со стандартного ввода, если файл не указан.
Формат вызова:
column [параметры] [файл] Параметры:
-с n - Задает количество столбцов (число n).-s «символ» - указанный символ будет использоваться в качестве разделителя столбцов.-t - Текст будет форматироваться как таблицы. По умолчанию разделителем полей считается пробел, но с помощью параметра -s можно задать другой разделитель.Пример полезного использования команды - в предыдущем посте.
Команда
Команда
Формат вызова:
Выводит следующую информацию:
==== - все три файла разные;
===1 - первый файл отличается от второго и третьего;
===2 - второй файл отличается от первого и третьего;
===З - третий файл отличается от первого и второго.
Параметры:
diff , для сравнения двух файлов, упоминалась ранее, но что если нужно сравнить сразу три файла?Команда
diff3Формат вызова:
diffЗ [параметры] файл1 файл2 файлЗ Выводит следующую информацию:
==== - все три файла разные;
===1 - первый файл отличается от второго и третьего;
===2 - второй файл отличается от первого и третьего;
===З - третий файл отличается от первого и второго.
Параметры:
-a - сравнивать файлы как текстовые, даже если они бинарные-А - Создание сценария для редактора ed, который показывает в квадратных скобках все отличия между файлами.-e - Создает сценарий для ed, который помещает все отличия между файлами файл2 и файлЗ в файл файл1 (будьте осторожны!)