Введение
Debian всегда в состоянии постоянного развития. Последний релиз Debian GNU/Linux 11.1. Также (в настоящее время) известен как stable или по его кодовому имени «stretch».
Каждой версии соответствует набор именных репозиториев ПО (по крайней мере по одному на каждую архитектуру CPU).
В любое время, есть один стабильный релиз Debian, который поддерживается командой безопасности Debian. Когда новая стабильная версия выпущена, как правило команда безопасности поддерживает новую/текущую версию и предыдущий релиз . Только стабильная версия рекомендуется для промышленного использования.
Также есть два основных разрабатываемых репозитория unstable и testing ,которые постоянно обновляются во время разработки следующего стабильного релиза. Новые пакеты поступают в unstable (который всегда имеет кодовое имя «Sid»). Когда пакеты не имеют и удовлетворяют зависимости других пакетов в testing, они автоматически копируются из unstable в testing.
Вы можете установить бесплатную версию программного обеспечения
Когда вы устанавливаете большинство дистрибутивов Linux, закрытые проприетарные двоичные двоичные объекты становятся частью ядра. Если у вас есть компьютер, который не нуждается в таком коде для работы, вы можете не захотеть добавлять эти ненужные черные ящики в вашу операционную систему. Debian — это самый большой дистрибутив Linux, который не устанавливает эту прошивку по умолчанию. Если вы хотите, вы должны согласиться.
То же самое относится и к репозиториям приложений Debian. Если вы будете придерживаться настроек по умолчанию, вы не сможете случайно установить на свой компьютер какой-либо частный код. Вот почему Debian служит базой для нескольких поддерживаемых Free Software Foundation Linux-дистрибутивов, таких как Trisquel и PureOS.
Как узнать, какую версию Linux вы используете
Существует несколько способов узнать версию Linux, которую вы используете на своем компьютере, а также название вашего дистрибутива и версию ядра.
Поэтому в этом простом, но важном руководстве для новых пользователей Linux мы покажем вам как это сделать. Выполнение этой задачи может показаться относительно простым делом, однако наличие хорошего знания вашей системы всегда важно по множеству причин, включая установку и запуск пакетов соответствующих вашей ОС
С учетом сказанного перейдем к тому, как вы можете узнать информацию о своем дистрибутиве Linux.
Узнаем версию ядра Linux
Мы поговорим о команде uname, которая используется для вывода вашей системной информации в Linux, такой как версия ядра, имя выпуска, имя сетевого узла, имя аппаратного оборудования, архитектура процессора, аппаратная платформа и операционная система.
Чтобы узнать, какую версию ядра Linux вы используете, введите:
В предыдущей команде параметр -o выводит имя операционной системы, а -r выводит версию выпуска ядра.
Вы также можете использовать опцию -a с командой uname для вывода всей системной информации, как показано ниже:
Далее мы будем использовать файловую систему /proc, которая хранит информацию о процессах и другой системной информации, файловая система /proc монтируется во время загрузки.
Просто введите команду приведенную ниже, чтобы отобразить некоторые сведения о вашей системе, включая версию ядра Linux:
На приведенном выше изображении вы найдете следующую информацию:
- Версия Linux (ядро), на которой вы работаете: версия Linux 4.5.5-300.fc24.x86_64
- Имя пользователя, скомпилировавшего ядро:
- Версия компилятора GCC, используемого для построения ядра: версия gcc 6.1.1 20160510
- Тип ядра: #1 SMP (ядро Symmetric MultiProcessing) поддерживает системы с несколькими процессорами или несколькими ядрами ЦП.
- Дата и время создания ядра: Чт Май 19 13:05:32 UTC 2016
Примеры использования команды cat
Простейший вариант ввода команды, когда она просто отображает содержимое указанного файла:
$ cat file
Если нужно передать системе несколько файлов, достаточно перечислить их в параметрах:
$ cat file1 file2 file3
Большинство команд, используемых в Linux, поддерживают стандартный поток ввода данных при помощи символа «-». В случае с cat это будет выглядеть так:
$ cat - file1
Теперь опробуем одну из ранее приведенных опций. Например, нумерацию непустых строк:
$ cat -b file1
Или всех строк, имеющихся в файле:
$ cat -n file1
Если попутно требуется удалить повторяющиеся пустые строки, команда будет выглядеть так:
$ cat -n -b file1
При отсутствии параметров и опций команда будет отображать данные из стандартного ввода:
$ cat
Чтобы завершить запись, нужно нажать <Ctrl+D>. Фактически получается примитивный текстовый редактор, ведь утилита считывает вводимые символы и выводит их на экран монитора. Можно направить данные в указанный файл на диске:
$ cat > file1 $ cat file1
Чтобы записать данные из нескольких файлов в один, команда будет выглядеть так:
$ cat file1 file2 > file3 $ cat file3
Основное назначение команды cat – считывание данных из файлов, поэтому можно смело экспериментировать с комбинацией опций и параметров
При объединении файлов рекомендуется указывать уникальное имя создаваемого файла, дабы исключить риски перезаписи важной информации
UserParameter для агента Zabbix
Запуск скрипта и передача результата его работы серверу мониторинга выполняется с помощью Zabbix-агента. Для этого необходимо настроить UserParameter.
Открываем настройки агента:
vi /etc/zabbix/zabbix_agentd.conf
В самый низ добавляем строку:
UserParameter=raid_mon,/etc/zabbix/zabbix_agentd.d/raid_mon.sh
* в данном случае, мы создаем в zabbix агенте пользовательский параметр с именем raid_mon — при его вызове будет запускаться скрипт /etc/zabbix/zabbix_agentd.d/raid_mon.sh, который мы ранее создали.
Перезапускаем агента:
systemctl restart zabbix-agent
Если используется SELinux, отключаем его:
setenforce 0
sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config
Проверяем работу параметра. Для этого с сервера zabbix выполняем команду:
zabbix_get -s 192.168.0.15 -k raid_mon
* в данном примере мы обращаемся к серверу 192.168.0.15 и запускаем пользовательский параметр raid_mon.
В итоге, мы должны получить такой же ответ, который получили, запустив скрипт локально с компьютера, на котором его создали.
Работа с утилитой ifconfig
В завершении сетевых настроек хотел немного поговорить об ifconfig. Ранее я упомянул, что более современным средством для настройки сети является утилита ip. В последних релизеах Debian и CentOS ifconfig вообще исключили из базовой установки, ее приходится устанавливать отдельно. IP объединяет в себе два функционала — настройка сетевых интерфейсов и маршрутизации. То есть по сути она заменяет ifconfig + route. В ней реализован функционал обоих программ.
Сам я привык к ifconfig, так как она есть не только в linux, но и в freebsd. Удобно использовать одно и то же средство во всех дистрибутивах. Но последнее время переучиваюсь на ip, так как надо идти в ногу со временем. Тенденция такова, что ip будут продвигать все сильнее и сильнее в силу его большей новизны и, наверное, удобства. Что касается удобства, лично я ничего не могу сказать, мне совершенно все равно, какую команду использовать:
или
Делают они одно и то же. Остальные команды по конфигурированию сетевых интерфейсов тоже не сильно отличаются, просто пишутся немного по-разному. Вот пример работы с маршрутами:
или
В случае с ip мы работаем с одной командой, а не двумя. Чем пользоваться вам, выбирайте сами. Если не привыкли к чему-то конкретному, рекомендую использовать ip. Мне было бы любопытно узнать, кто, что использует. Оставьте свой комментарий на эту тему.
На этом я завершаю свой материал по теме настройки сети в debian. Я рассмотрел все наиболее значимые и необходимые параметры, с которыми приходится сталкиваться во время конфигурирования сервера.
Проверьте версию Debian, работающую в системе Linux
How to Check out Debian Version ?
Самый простой способ узнать, какая версия Debian запущена, — просто прочитатьсодержание документа. пример:
Но приведенная выше команда может не отображать текущую версию точки обновления Debian. Итак, вы можете использовать следующиекоманда linuxПолучите более точную информацию:
Далее вы можете проверитьОпубликовать файлы:
Другой способ — использоватькоманда. Эта команда может отсутствовать по умолчанию, поэтому вам может потребоваться сначала установить ее:
После установки вышеуказанного пакета запустите следующийкоманда linux, Проверьте версию debian, которую вы используете в ящике debian:
PS: Этот инструмент не установлен, возможно потому, что автор использует версию buster
дляверсию debian, вы также можете использовать:
API для получения версии в Windows
Версия Windows отображается в модуле настройки, доступном из панели управления:
Узнать версию ОС программно Windows можно с помощью WinAPI. WinAPI расшифровывается как Windows API. Он детально задокументирован на сайте msdn.microsoft.com — портале от компании Microsoft, предназначенном для сторонних разработчиков. Найти документацию по функциям WinAPI можно, передав в поисковик запрос “msdn FunctionName” или “FunctionName site:msdn.microsoft.com”. Также помогают запросы из разряда “winapi how to …”.
Большая часть WinAPI доступна при подключении единственного заголовочного файла . А это — небольшой пример:
Имейте ввиду, что функция GetVersion возвращает кодовый номер версии, который нужно сопоставить с таблицей версий и определить человекопонятное имя.
В WinAPI действует ряд соглашений в именовании:
- функции именуются в UpperCamelCase, например, GetVersion, GetVersionEx. Сокращения используются в редких случаях, например, суффиксом “Ex” помечают расширенную версию более старой фукнции.
- имена типов данных именуются в верхнем регистре, часто с сокращениями: RECT, POINT, HMENU (handle to menu), OSVERSIONINFO (OS version information) и так далее
- для создания и удаления системных объектов, например, типа XYZ, предоставляются функции с именами вида “CreateXYZ” и “DestroyXYZ”
- многие привычные типы данных получили свои синонимы (в целях максимального контроля над стабильностью)
- WORD — машинное слово, 16-битное целое без знака, аналог uint16_t
- DWORD — удвоенное машинное слово, 32-битное целое без знака, аналог uint32_t
- BOOL — синоним типа int, введённый по той причине, что в языке C89 нет типа bool. Тип появился в C++, а тип — в C99
- LPCSTR — синоним , расшифровывается как Left-Pointer to Const String, т.е. изменяемый (способный стоять в левой части присваивания) указатель на неизменяемую строку в стиле C, завершённую нулевым символом.
- LPSTR — синоним , расшифровывается как Left-Pointer to String, т.е. изменяемый (способный стоять в левой части присваивания) указатель на изменяемую строку в стиле C, завершённую нулевым символом.
- LPCWSTR — синоним , расшифровывается как Left-Pointer Wide Const String, т.е. вместо типа char использует тип wide char, способный представлять символы одной из кодировок Unicode — UTF16
Вы могли заметить, что в предыдущих двух примерах используются устаревшие функции. Начиная с Windows 8, компания Microsoft решила объявить устаревшими GetVersion и GetVersionEx, и они теперь могут возвращать неправильное значение согласно спецификации.
Вместо них предлагается использовать функции из заголовка VersionHelpers.h. Эти функции не реализованы в библиотеках WinAPI и всего лишь дают фасад для вызова VerifyVersionInfo. Функции из состава VersionHelpers.h имеют более привычное именование версий ОС в сравнении с GetVersion и GetVersionEx.
ПРОСМОТР ФАЙЛА В LINUX ПОЛНОСТЬЮ
Самая простая и в то же время наиболее часто используемая утилита для просмотра содержимого файла linux — cat. Выводит все содержимое файла в стандартный вывод. В параметре нужно передать только адрес файла, или нескольких файлов. Идеально подходит для просмотра небольших файлов. Общий синтаксис команды cat такой:
Например просмотр содержимого файла linux /etc/passwd:
Также можно посмотреть сразу несколько файлов:
Опция -n включает нумерацию строк:
Для удобства, можно включить отображение в конце каждой строки символа $
А также отображение табуляций, все табуляции будут заменены на символ ^I:
Больше о ней говорить не будем, потому что большинство ее опций направлены на форматирование вывода, и вы сможете их легко изучить выполнив:
Есть еще одна очень похожая на cat утилита — tac. Принимает те же параметры и делает то же самое, только наоборот — выполняет вывод содержимого файла linux в обратном порядке — с конца:
Скользящие или фиксированные релизы
Все активные дистрибутивы Linux выпускают новые релизы, только все по-разному. Конечно, дистрибутивы обновляются и между релизами, но пользователям привычен такой порядок, что обновления релиза получают только исправления безопасности и ошибок, а все новые возможности выпускаются новым релизом. Но существуют и другие пути. Сейчас есть два способа выпуска релизов:
- Скользящие релизы (rolling);
- Фиксированные релизы (fixed).
Эти способы работают немного по-разному и вам нужно понимать это прежде чем мы перейдем к версии Linux. Скользящие релизы не имеют точек выпуска нового релиза, новые возможности, исправления и улучшения постоянно добавляются в официальный репозиторий и их получают пользователи. Такой подход используется в ArchLinux, Gentoo и OpenSUSE Thumbleweed. Поэтому у таких дистрибутивов нет версий, они всегда имеют самую новую версию после того, как было выполнено обновление пакетов. Но у них есть минус – это более низкая стабильность по сравнению с фиксированными релизами, которые можно хорошо протестировать.
Фиксированные релизы используются в Ubuntu. Каждые 6 месяцев выходит новый релиз, поэтому тут есть четкое разделение на версии, новая версия дистрибутива Linux получает новое программное обеспечение, а затем на протяжении всего термина поддержки получает обновления безопасности.
Бонус: бесполезное использование команды cat в Linux
Никакая статья о команде не была бы полной без упоминания об использовании анти-шаблона «Бесполезное использование cat».
Это происходит, когда вы используете , для единственной цели отправки содержимого файла на стандартный ввод другой команды. Это использование команды называется «бесполезным», поскольку простой параметр перенаправления или имени файла выполнил бы эту работу и сделал бы это лучше. Но пример стоит тысячи слов:
В приведенном выше примере мы использовали контейнер для отображения содержимого файла с помощью команды less:
Таким образом, единственной целью команды было подавать стандартный ввод команды с содержимым файла . Мы бы получили такое же поведение, используя перенаправление оболочки:
Собственно, команда,, как и многие команды, также принимает имя файла в качестве аргумента. Поэтому мы могли просто написать это вместо этого:
Как вы можете видеть, здесь нет необходимости в применении команды . Мы упоминаем анти-шаблон «Бесполезное использование cat», потому, что, если вы публично используете ее на форуме или в другом месте, несомненно, кто-то укажет на это с аргументом, который вы создадите «лишний процесс для ничего».
Должны признаться, что долгое время мы были довольно пренебрежительным с такими комментариями. В конце концов, на нашем современном оборудовании добавление одного дополнительного процесса для однократной операции не может вызвать слишком много накладных расходов.
Но при написании этой статьи мы сделали быстрый эксперимент, сравнивая время, требуемое с UUOC и без него тестовым скриптом для обработки 500 МБ данных, поступающих с медленного носителя.
К нашему удивлению, разница была далека от незначительной.
Однако причина заключается не в создании дополнительного процесса. Но из-за дополнительного чтения/записи и переключения контекста UUOC берет на себя (как вы можете вывести его из времени, потраченного на выполнение системного кода). Поэтому, действительно, когда вы работаете с большими наборами данных, дополнительная команда имеет невыгодную стоимость. Что касается нас, мы постараемся быть более бдительными с этим сейчас! А вы? Если у вас есть примеры бесполезного использования Cat, не стесняйтесь делиться ими с нами!
Работа с файлами и директориями Linux
ls #показать список файлов в текущем каталоге (list) ls -la <имя каталога> #список файлов в каталоге <имя каталога>, включая скрытые pwd #выводит текущий путь (команда вывода текущей директории) cd #cменить текущий каталог (change directory) cp <что_копировать> <куда_копировать> #копировать файлы (copy) mv <что_перемещать> <куда_перемещать> #переместить или переименовать файл (move) mkdir <каталог> #создать новый каталог (make directory) rmdir <каталог> #удалить пустой каталог (remove directory) rm <файлы> #удалить файлы (remove) rm -rf <имя каталога> #удаление директории вместе с вложенными файлами locate /var/www*index.php #найти все файлы с названием, заканчивающимся на index.php #в директории /var/www tail <имя файла> #выводит конец файла. Удобно при работе с логами и большими файлами du . -bh | more #вывод на экран информации о размере файлов и каталогов, начиная с текущего каталога sudo chmod 777 -R ~/Общедоступные #разрешение на чтение/запись/исполнение для всех на каталог ~/Общедоступные # -R - рекурсивно, то есть и на все вложенные файлы и папки sudo chown <имя пользователя> <имя файла> #задать владельца файла >filename #делает filename пустым файлом, т.е. стирает содержимое touch filename #создаёт пустой файл, также меняет время последнего изменения файла
Настройка статического IP
Вы установили сервер и во время установки указали какие-то сетевые параметры, или не указали, не важно. Но сейчас вы решили, что вам нужно назначить статический ip (static ip) адрес
Воспользуемся для этого утилитой ip. Сначала посмотрим список всех сетевых интерфейсов:
У меня в системе 1 сетевой интерфейс eth0 и он каким-то образом уже сконфигурирован. Назначим ему еще один статический адрес:
Этот адрес будет добавлен к уже существующему адресу. Проверим это:
Теперь сервер будет доступен по обоим адресам. Текущая настройка сохранится только до перезагрузки сервера. Чтобы она применялась во время загрузки, нужно либо каким-то образом добавить команду на изменение настроек в автозагрузку, например в /etc/rc.local, но это будет костыль. Правильнее отредактировать файл, который отвечает за сетевые настройки в debian — /etc/network/interfaces. Для того, чтобы назначить постоянный статический ip адрес, его нужно привести к следующему виду:
auto | указанный интерфейс необходимо запускать автоматически при загрузке системы |
iface | интерфейс eth0 находится в диапазоне адресов IPv4 со статическим ip |
address | статический ip адрес |
gateway | шлюз по-умолчанию |
netmask | маска сети |
Для проверки перезагружаем сервер и смотрим, все ли в порядке с настройкой статического ip адреса. Если вам нужно сменить ip адрес в debian, то вы можете временно изменить его с помощью команды ip, либо постоянно, отредактировав параметр address в файле сетевых настроек interfaces.
ПРОСМОТР ФАЙЛОВ LINUX В СЖАТОМ ВИДЕ
Иногда можно встретить в системе текстовые файлы в сжатом виде, формате gz. Это, например, конфигурационный файл ядра, или логи некоторых программ. Для того чтобы открыть файл в linux через терминал не распаковывая его есть целый ряд аналогов вышеописанных утилит с приставкой z. Это zcat, zless, zgerp, zegrep.
Например, открываем сжатый файл для просмотра:
Или более практичный пример, распаковываем и копируем конфигурационный ядра в текущую директорию:
Так же можно использовать less, для просмотра сжатых файлов с прокруткой:
А для фильтрации сжатых файлов по шаблону есть zgrep и zegrep. Например, ищем в сжатом логе ошибки:
Применяем команду cat в Linux
Рассматриваемая сегодня команда доступна для всех дистрибутивов, основанных на ядре Линукс, и везде выглядит одинаковым образом. Из-за этого используемая сборка не имеет никакого значения. Сегодняшние примеры будут осуществляться на компьютере под управлением Ubuntu 18.04, а вам останется только ознакомиться с аргументами и принципом их действий.
Подготовительные действия
Сначала хотелось бы уделить время предварительным действиям, поскольку не все юзеры знакомы с принципом работы консоли. Дело в том, что при открытии файла требуется либо указывать точный путь к нему, либо производить запуск команды, находясь непосредственно в самой директории через «Терминал». Поэтому мы советуем для начала просмотреть такое руководство:
- Запустите файловый менеджер и перейдите в ту папку, где хранятся необходимые файлы.
Нажмите на одном из них правой кнопкой мыши и выберите пункт «Свойства».
Во вкладке «Основные» ознакомьтесь с информацией по поводу родительской папки. Запомните этот путь, ведь он пригодится далее.
Запустите «Терминал» через меню или комбинацию клавиш Ctrl + Alt + T.
Пропишите команду , где user — имя пользователя, а folder — папка, где хранятся объекты. За перемещение по пути отвечает стандартная команда .
Таким методом осуществляется переход к определенной директории через стандартную консоль. Дальнейшие действия также будут производиться через эту папку.
Просмотр содержимого
Одна из основных функций упомянутой команды — просмотр содержимого различных файлов. Вся информация отображается отдельными строками в «Терминале», а применение cat выглядит так:
- В консоли введите , где testfile — имя необходимого файла, а затем нажмите на клавишу Enter.
Ознакомьтесь с содержимым объекта.
Вы можете открыть сразу несколько файлов, для этого потребуется указать все их названия, например, .
Строки будут совмещены и отобразятся одним целым.
Вот так работает cat без применения доступных аргументов. Если же вы просто пропишите в «Терминале» , то получите некое подобие консольного блокнота с возможностью записывать нужное количество строк и сохранять их нажатием на Ctrl + D.
Нумерация строк
Сейчас давайте затронем рассматриваемую команду с применением различных аргументов. Начать следует с нумерации строк, а за это отвечает .
- В консоли напишите , где testfile — название нужного объекта.
Как видите, были пронумерованы все присутствующие не пустые строки.
Вы можете использовать этот аргумент с выводом нескольких файлов, как это было показано выше. В таком случае нумерация будет продолжаться.
Если есть желание пронумеровать все строки, включая пустые, придется задействовать аргумент , и тогда команда приобретает вид: .
Удаление повторяющихся пустых строк
Случается так, что в одном документе присутствует множество пустых строк, возникших каким-либо образом. Вручную удалять их через редактор не всегда удобно, поэтому здесь тоже можно обратиться к команде cat, применив аргумент . Тогда строка приобретает вид (доступно перечисление нескольких файлов).
Добавление знака $
Знак $ в командной строке операционных систем Linux означает, что введенная далее команда будет выполнена от имени обычного пользователя, без предоставления рут-прав. Иногда бывает необходимо добавить такой знак в конец всех строк файла, и для этого следует применить аргумент . В итоге получается (буква E должна быть обязательно прописана в верхнем регистре).
Объединение нескольких файлов в один новый
Cat позволяет достаточно быстро и легко объединить несколько объектов в один новый, который будет сохранен в той же папке, откуда и осуществляются все действия. Вам достаточно выполнить следующее:
- В консоли напишите (Количество названий перед > может быть неограниченным). После ввода нажмите на Enter.
Откройте директорию через файловый менеджер и запустите новый файл.
Видно, что в нем присутствуют все строки из всех указанных документов.
Намного реже используется еще несколько аргументов, но их обязательно следует упомянуть:
- — покажет версию рассматриваемой утилиты;
- — отобразит справку с основной информацией;
- — добавит отображение для табуляции в виде символов ^I.
Подробнее: Создаем и удаляем файлы в Linux
Кроме всего, в операционных системах на Линукс существует еще большое количество популярных и часто использующихся команд, узнайте о них подробнее в отдельном материале далее.
Теперь вы знаете о стандартной команде cat все, что может пригодиться при работе в «Терминале». Во взаимодействии с ней нет ничего сложного, главное — придерживаться синтаксиса и регистров атрибутов.
Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.
Отображение содержимого файла
Самое основное и распространенное использование команды cat — это чтение содержимого файлов.
Например, следующая команда отобразит содержимое файла в терминале:
Перенаправить содержимое файла
Вместо отображения вывода на стандартный вывод (на экране) вы можете перенаправить его в файл.
Следующая команда будет копировать содержимое с помощью ( оператора):
Обычно вы используете команду для копирования файла.
Если файл не существует, команда создаст его. В противном случае файл будет перезаписан.
Используйте ( оператор) , чтобы добавить содержимое из к :
То же, что и раньше, если файл отсутствует, он будет создан.
Опция позволяет визуально различать вкладки и пробелы.
Символы табуляции будут отображаться как .
Показать конец строк
Чтобы отобразить невидимый символ окончания строки, используйте аргумент:
Окончания строк будут отображаться как .
B. Использование команды cat с двоичными файлами
1. Объединение разделенных файлов
Команда не делает никаких предположений о содержимом файла, поэтому она будет работать с двоичными данными. Что-то, что может быть полезно, для объединения файлов разбитых с помощью команд или . Или присоединить к частичным загрузкам, как мы это сейчас сделаем:
У нас теперь две половины изображения. Вы можете открыть первую половину и увидеть, что она «сломана» с помощью ImageMagick, , , или любого другого программного обеспечения, способного читать файлы изображений:
Если вы изучите команду curl, которую мы использовали, вы увидите, что две части прекрасно дополняют друг друга. Первая половина – от 0 байт до 50000, а вторая половина – от 50001 байта до конца файла. Между ними не должно быть недостающих данных. Поэтому нам нужно только связать две части вместе (в правильном порядке), чтобы вернуть полный файл:
2. Работа с потоковыми форматами файлов
Вы можете не только использовать команду для «воссоединения» двоичных файлов, которые были разделены на несколько частей, в некоторых случаях вы также можете создавать новые файлы таким образом. Это особенно хорошо работает с «без заголовка» или «потоковыми» файловыми форматами, такими как видеофайлы (файлы ) транспортного потока MPEG :
Теперь мы можем комбинировать все эти видеопотоки с потоком данных с помощью команды , получив в выходном файле абсолютно корректный TS-файл:
Благодаря формату файла TS вы можете объединить эти файлы в том порядке, который вы хотите, и вы даже можете использовать один и тот же файл несколько раз в списке аргументов для создания циклов или повторения в выходном видео. Очевидно, это было бы забавно, если бы мы использовали анимированные изображения, но сможете ли вы сделать это самостоятельно: многие устройства потребительского класса записывают файлы TS, а если нет, вы все равно можете использовать для конвертирования практически любого видеофайла в файл транспортного потока. Не стесняйтесь делиться своими творениями, используя раздел комментариев!
3. Взлом cpio-архивов
В качестве последнего примера давайте посмотрим, как мы можем использовать команду для объединения нескольких архивов . Но на этот раз это будет не так просто, поскольку для этого потребуется немного знаний о формате архивного файла .
В архиве хранятся метаданные и содержимое файла последовательно, что делает его подходящим для конкатенации файла с помощью утилиты . К сожалению, в архиве также есть контейнер, используемый для обозначения конца архива:
Хорошо является то, что двоичный архив cpio, этот контейнер с фиксированной длиной 280 байтов. Итак, используя стандартную команду head, у нас есть простой способ ее удалить:
Как узнать версию Linux
Когда мы говорим о Linux, то обычно подразумеваем какой-либо дистрибутив Linux. Также под Linux мы можем иметь ввиду ядро Linux.
Иногда требуется определить версию Linux, в которой вы работаете. Пользователь может не знать или забыть, какая версия дистрибутива или какая версия ядра Linux используется. Если это чужая система, то может потребоваться узнать название используемого дистрибутива.
В данной статье рассматриваются различные способы, которые помогут нам определить используемую версию Linux. Рассматривается несколько команд для определения версии Linux. Приведенные команды универсальны и не зависят от дистрибутива. Возможно, некоторые из них могут не работать в каких-то дистрибутивах, в таком случае переходите к следующей команде и пробуйте ее.
- Команда lsb_release
- Команда hostnamectl
- Команда uname — версия ядра
- Файл /etc/os-release
- Файл /etc/issue
- Файлы /etc/***release и /etc/***version
- Файл /proc/version
- Через графические утилиты
- Заключение
Отображение файла с помощью команды cat
Чтобы просмотреть файл, введите:
cat filename cat pathtofile cat etcpasswd |
cat filename
cat /path/to/file
cat /etc/passwd
Примеры результатов:
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh .... ... ..hplip:x:109:7:HPLIP system user,,,:/var/run/hplip:/bin/false vivek:x:1000:1000:Vivek Gite,,,:/home/vivek:/bin/bash bind:x:110:118::/var/cache/bind:/bin/false haldaemon:x:111:119:Hardware abstraction layer,,,:/var/run/hald:/bin/false sshd:x:112:65534::/var/run/sshd:/usr/sbin/nologin mysql:x:113:121:MySQL Server,,,:/var/lib/mysql:/bin/false
Альтернативные методы проверки версии CentOS
Проверьте версию CentOS с помощью команды
(Red Hat Package Manager) — это инструмент управления пакетами для систем на базе Red Hat, таких как RHEL, CentOS и Fedora.
Вы можете использовать инструмент rpm для отображения информации о пакете, который включает версию CentOS в своем названии:
Проверить версию CentOS с помощью файла
Пакет содержит файл.
Чтобы найти свою версию CentOS, введите следующую команду:
Проверьте свою версию CentOS с помощью файла
Файл присутствует на всех системах , работающих под управлением Systemd и содержит действующие идентификационные данные системы.
Этот метод будет работать, только если у вас CentOS 7:
Проверьте свою версию CentOS с помощью команды
— это команда, которая позволяет вам установить системное имя хоста , но вы также можете использовать ее, чтобы найти свою ветку CentOS.
Этот метод будет работать, только если у вас CentOS 7: