Для обозначения домашнего каталога в командной строке применяются:
•
•
Другие специальные способы обозначения каталогов:
•
•
•
•
•
$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 (будьте осторожны!)Сгенерировать случайные или последовательные данные можно с помощью заранее установленной утилиты
Генерирует числа, текст, все вместе.
Чтобы вывести последовательность чисел, можно воспользоваться командой:
Чтобы вывести случайные числа:
К примеру, вывести 26 строк начиная с xaa до xaz:
JotГенерирует числа, текст, все вместе.
Чтобы вывести последовательность чисел, можно воспользоваться командой:
jot [кол-во чисел] [начиная с]Чтобы вывести случайные числа:
jot -r [кол-во чисел] [нижний предел] [верхний предел]К примеру, вывести 26 строк начиная с xaa до xaz:
jot -w xa%c 26 a