Команда convert
Convert служит для конвертации форматов графических файлов, и для различных преобразований изображений.
Синтаксис:
Если действия не указаны, convert по расширениям файлов поймет, из какого формата в какой нужно преобразовывать, и создаст новый файл указанного формата.
Например:
уменьшить JPG файл infile.jpg в два раза и запишет результат в виде JPG файла outfile.jpg:
смасштабировать изображение в файле infile.jpg в два раза, применить фильтр резкости, и записать результат под тем же именем, удалив предыдущий файл.
Convert служит для конвертации форматов графических файлов, и для различных преобразований изображений.
Синтаксис:
convert infile.jpg [действия] outfile.pngЕсли действия не указаны, convert по расширениям файлов поймет, из какого формата в какой нужно преобразовывать, и создаст новый файл указанного формата.
Например:
уменьшить JPG файл infile.jpg в два раза и запишет результат в виде JPG файла outfile.jpg:
convert infile.jpg -resize 50% outfile.jpgсмасштабировать изображение в файле infile.jpg в два раза, применить фильтр резкости, и записать результат под тем же именем, удалив предыдущий файл.
convert infile.jpg -resize 50% -sharpen 3 infile.jpgКоманда yes
Бесконечно выводит на экран заданную строку или
Если выполнить команду
Если для команды
Бесконечно выводит на экран заданную строку или
y (да). Используется для автоматического подтверждения запросов других команд в командной строке.Если выполнить команду
yes без каких либо аргументов, то на экран бесконечно будет выводиться символ «y» (каждый символ на новой строке).yesЕсли для команды
yes задать строку, то на экран будет бесконечно выводиться эта строка (каждая строка на новой строке).yes строкаКак очистить терминал?
Существует несколько способов очистки терминала.
Самый простой способ очистить терминал - воспользоваться сочетанием клавиш
Тем не менее вся история вывода не будет удалена, вы сможете легко получить к ней доступ просто пролистав немного вверх.
Чтобы полностью очистить вывод, воспользуйтесь командой
Чтобы команда clear работала как
Существует несколько способов очистки терминала.
Самый простой способ очистить терминал - воспользоваться сочетанием клавиш
Ctrl + L. После нажатия этих клавиш весь уже существующий вывод переместиться вверх, так, что текущее окно терминала будет пустым.Тем не менее вся история вывода не будет удалена, вы сможете легко получить к ней доступ просто пролистав немного вверх.
Чтобы полностью очистить вывод, воспользуйтесь командой
clear.Чтобы команда clear работала как
Ctrl+L, передайте аргумент -x:clear -xДрайверы
(программы, или компоненты ядра ОС, обеспечивающие работу ОС со всеми компонентам ПК) могут присутствовать в составе ОС, но для самых новых материнских плат и внешних устройств, не совместимых со старыми, поставляются отдельно.
Касаемо ОС Linux, понятие драйвера в привычном смысле там отсутствует, поддержка нового железа сначала появляется в базовой ветке ядер на
(программы, или компоненты ядра ОС, обеспечивающие работу ОС со всеми компонентам ПК) могут присутствовать в составе ОС, но для самых новых материнских плат и внешних устройств, не совместимых со старыми, поставляются отдельно.
Касаемо ОС Linux, понятие драйвера в привычном смысле там отсутствует, поддержка нового железа сначала появляется в базовой ветке ядер на
www.kernel.org, а оттуда перекочёвывает во все существующие дистрибутивы. Производители или отдают информацию разработчикам и забывают о проблемах совместимости, или регулярно выкладывают у себя на сайте готовые модули ядра, если не хотят делиться программным кодом.Команда host
Используется главным образом для диагностики серверов доменных имен.
Синтаксис:
Утилита поддерживает ряд параметров командной строки. Наиболее полезным параметром является параметр
В частности, поддерживаются следующие типы ресурсных записей: A, AAAA, CNAME, MX, NS, PTR, SOA, TXT
Для получения IP-адреса сервера ресурса по имени его домена достаточно передать утилите имя домена без каких-либо параметров:
Чтобы получить только IP-адресс:
Используется главным образом для диагностики серверов доменных имен.
Синтаксис:
host [параметры] имя-домена-или-ip-адрес Утилита поддерживает ряд параметров командной строки. Наиболее полезным параметром является параметр
-t, позволяющий указать интересующий пользователя тип ресурсной записи.В частности, поддерживаются следующие типы ресурсных записей: A, AAAA, CNAME, MX, NS, PTR, SOA, TXT
Для получения IP-адреса сервера ресурса по имени его домена достаточно передать утилите имя домена без каких-либо параметров:
host google.comЧтобы получить только IP-адресс:
host -t A google.comКоманда screen
Screen позволяет переключаться между терминалами, в которых выполняются процессы, не прерывая их. Это особенно эффективно, когда необходимо производить сборку/установку ПО и мониторить дисковое пространство или использовать аппаратные ресурсы.
Screen может разделять текущий терминал на меньшее количество окон с возможностью запуска в них того же или других терминалов.
Для запуска первого окна наберите в терминале:
Все управляющие команды начинаются с комбинации клавиш
Примеры:
Screen позволяет переключаться между терминалами, в которых выполняются процессы, не прерывая их. Это особенно эффективно, когда необходимо производить сборку/установку ПО и мониторить дисковое пространство или использовать аппаратные ресурсы.
Screen может разделять текущий терминал на меньшее количество окон с возможностью запуска в них того же или других терминалов.
Для запуска первого окна наберите в терминале:
screenВсе управляющие команды начинаются с комбинации клавиш
Ctrl + a, затем следует буква или сочетание клавиш. Буквы разных регистров выполняют разные команды. Примеры:
Ctrl + a + c — создать новое окноCtrl + a + w — просмотр списка созданных оконCtrl + a + номер — переход в любое из созданных окон сессииCtrl + a + n — переход к следующему окнуCtrl + a + p — переход к предыдущему окнуCtrl + a + S — разделить экран по горизонталиCtrl + a + | — разделить экран по вертикалиЕсли применяете инструменты SSH для подключения к одним и тем же системам в течение всего дня, то введение своего пароля снова и снова может быстро надоесть. Вместо аутентификации на основе пароля SSH позволяет настроить аутентификацию на основе ключа. Вот как это работает:
- Создаете открытый и закрытый ключи.
- Защищаете закрытый ключ, но копируете открытый ключ в учетную запись пользователя на удаленном узле, для которого хотите выполнить аутентификацию.
- Когда ключ скопирован в нужное место, вы с помощью любых инструментов SSH подключаетесь к учетной записи пользователя на удаленном узле. Вместо того чтобы запрашивать пароль, удаленная служба SSH сравнивает открытый и закрытый ключи и разрешает доступ, если они совпадают
- Создаете открытый и закрытый ключи.
- Защищаете закрытый ключ, но копируете открытый ключ в учетную запись пользователя на удаленном узле, для которого хотите выполнить аутентификацию.
- Когда ключ скопирован в нужное место, вы с помощью любых инструментов SSH подключаетесь к учетной записи пользователя на удаленном узле. Вместо того чтобы запрашивать пароль, удаленная служба SSH сравнивает открытый и закрытый ключи и разрешает доступ, если они совпадают
Команда pv
Терминальный инструмент, который позволяет отслеживать прогресс и ход выполнения операции. Использовании команды
• Сколько прошло времени.
• Процент завершенной работы, включая индикатор выполнения.
• Показывает текущую пропускную способность.
• Общее количество переданных данных.
• ETA – estimated time (расчетное время).
Примеры использования:
Скопировать файл opensuse.vdi в /tmp/opensuse.vdi:
Сделать zip-файл из файла /var/log/syslog
Подсчитать количество строк, слов и байтов в файле /etc/hosts, показывая только индикатор выполнения
Терминальный инструмент, который позволяет отслеживать прогресс и ход выполнения операции. Использовании команды
pv дает вам визуальное отображение следующей информации:• Сколько прошло времени.
• Процент завершенной работы, включая индикатор выполнения.
• Показывает текущую пропускную способность.
• Общее количество переданных данных.
• ETA – estimated time (расчетное время).
Примеры использования:
Скопировать файл opensuse.vdi в /tmp/opensuse.vdi:
pv opensuse.vdi> /tmp/opensuse.vdiСделать zip-файл из файла /var/log/syslog
pv /var/log/syslog | zip> syslog.zipПодсчитать количество строк, слов и байтов в файле /etc/hosts, показывая только индикатор выполнения
pv -p /etc/hosts | wcЕсли хотите добавить собственные команды или скрипты оболочки, поместите их в каталог
В одних системах Linux этот каталог автоматически добавляется в ваш путь, а в других может потребоваться создать этот каталог или добавить его в переменную
Таким образом, если вы добавляете команду в каталог bin с разрешением исполнения, ее можно будет использовать, просто введя имя в командной строке интерпретатора. Чтобы сделать команды доступными для всех пользователей, добавьте их в каталог
bin в своем каталоге home (например, /home/vasya/bin для пользователя с именем vasya). В одних системах Linux этот каталог автоматически добавляется в ваш путь, а в других может потребоваться создать этот каталог или добавить его в переменную
PATH. Таким образом, если вы добавляете команду в каталог bin с разрешением исполнения, ее можно будет использовать, просто введя имя в командной строке интерпретатора. Чтобы сделать команды доступными для всех пользователей, добавьте их в каталог
/usr/local/bin.Ссылки [ к посту о создании ]
Позволяют одному и тому же файлу существовать в системе под разными именами.
Ссылки бывают жесткими и символические.
Сейчас разберемся в чем разница.
Если на файл указывает хотя бы одна жесткая ссылка, вы не сможете его удалить. Количество ссылок на файл можно узнать командой
У жестких ссылок есть одно ограничение. Они не могут указывать на файл, находящийся за пределами файловой системы. Представим, что каталог
Что касается символических ссылок, то вы можете удалить файл, если на него указывает хоть 100 символических ссылок. После этого они будут ~оборваны~ - ссылки, как файлы, останутся на жестком диске, но они будут указывать на несуществующий файл.
Позволяют одному и тому же файлу существовать в системе под разными именами.
Ссылки бывают жесткими и символические.
Сейчас разберемся в чем разница.
Если на файл указывает хотя бы одна жесткая ссылка, вы не сможете его удалить. Количество ссылок на файл можно узнать командой
ls -l. У жестких ссылок есть одно ограничение. Они не могут указывать на файл, находящийся за пределами файловой системы. Представим, что каталог
/tmp находится физически на одном и том же разделе, что и /. Тогда вы сможете создать ссылки на файлы, которые находятся в каталоге /tmp. Но если /tmp - это точка монтирования, к которой подмонтирован другой раздел, вы не сможете создать жесткие ссылки.Что касается символических ссылок, то вы можете удалить файл, если на него указывает хоть 100 символических ссылок. После этого они будут ~оборваны~ - ссылки, как файлы, останутся на жестком диске, но они будут указывать на несуществующий файл.
Как обмануть историю команд в терминале?
Каждая часть команды, которую вы вводите в терминале, записывается в историю и может быть повторена с помощью команды
Как насчет обмана команды истории? Да, вы можете это сделать, и это очень просто! Просто используйте, так называемую <
Каждая часть команды, которую вы вводите в терминале, записывается в историю и может быть повторена с помощью команды
history.Как насчет обмана команды истории? Да, вы можете это сделать, и это очень просто! Просто используйте, так называемую <
space> команду, поставьте один или несколько пробелов перед вводом команды в терминал, и ваша команда не будет записана.Команда look
Осуществляет разбор текстовых файлов и выводящей строки, начинающиеся с заданных префиксов. Она нередко используется для поиска строк в текстовых файлах в рамках сценариев. В том случае, если имя текстового файла не задано, осуществляется поиск английских слов в системном словаре, расположенном по пути
Для поиска строки, начинающейся с заданного слова, в текстовом файле, достаточно использовать утилиту look:
По умолчанию утилита учитывает регистр символов. Для того, чтобы осуществлять поиск без учета регистра символов, достаточно использовать параметр
Если вы хотите подобрать английское слово, начинающееся с последовательности символов, вы можете передать эту последовательность символов утилите, не указывая имени текстового файла:
Осуществляет разбор текстовых файлов и выводящей строки, начинающиеся с заданных префиксов. Она нередко используется для поиска строк в текстовых файлах в рамках сценариев. В том случае, если имя текстового файла не задано, осуществляется поиск английских слов в системном словаре, расположенном по пути
/usr/share/dict/words.Для поиска строки, начинающейся с заданного слова, в текстовом файле, достаточно использовать утилиту look:
look "Слово" text.txt По умолчанию утилита учитывает регистр символов. Для того, чтобы осуществлять поиск без учета регистра символов, достаточно использовать параметр
-f.Если вы хотите подобрать английское слово, начинающееся с последовательности символов, вы можете передать эту последовательность символов утилите, не указывая имени текстового файла:
look NoveКоманда objdump
С помощью этой утилиты можно производить всесторонний анализ бинарных файлов.
Синтаксис:
Чтобы отобразить сводную информацию из заголовков разделов объектного файла.
Вывести заголовок файла:
Дизассемблирование всех разделов:
Вывести всё содержимое всех секций в шестнадцатеричном представлении:
С помощью этой утилиты можно производить всесторонний анализ бинарных файлов.
Синтаксис:
objdump <флаг> <файл>Чтобы отобразить сводную информацию из заголовков разделов объектного файла.
objdump -h some_fileВывести заголовок файла:
objdump -f some_fileДизассемблирование всех разделов:
objdump -D some_fileВывести всё содержимое всех секций в шестнадцатеричном представлении:
objdump -s some_fileПоддержка сторонних файловых систем
В Linux для обеспечения обмена файлами с другими операционными системами включена поддержка сторонних файловых систем. Однако их функциональные возможности могут оказаться ограниченными.
⁃
⁃
⁃
⁃
⁃
⁃
В Linux для обеспечения обмена файлами с другими операционными системами включена поддержка сторонних файловых систем. Однако их функциональные возможности могут оказаться ограниченными.
⁃
msdos — обеспечивает совместимость с системой MS-DOS. ⁃
umsdos — расширяет возможности драйвера файловой системы MS-DOS для Linux ⁃
iso9660 — стандартная файловая система для CD-ROM. ⁃
xenix — файловая система Xenix. ⁃
sysv — файловая система System V (версия для x86).⁃
nfs — сетевая файловая система, обеспечивающая разделение одной файловой системы между несколькими компьютерами для предоставления доступа к ее файлам со всех машин по сети.Преимущества Linux над другими ОС
1. Лучшая операционная система— UNIX. Linux— это современный вариант UNIX, работающий практически на всех платформах.
2. Исходный код всех программ под Linux открыт, при желании его можно модифицировать так, как нужно.
3. На базе Linux легко создать очень надежные центры данных с поддержкой кластерных конфигураций и высокой степенью масштабирования.
4. В Linux можно настроить всё и вся. Простота конфигурации и подробное описание конфигурационных файлов выгодно отличают Linux от большинства коммерческих ОС.
5. Можно инсталлировать Linux на одну дискету, и при этом она способна выполнять функции маршрутизатора или отправлять электронную почту.
6. Постоянное обновление и улучшение как ядра Linux, так и большинства программных продуктов для нее.
7. Независимость от патентов и лицензий.
1. Лучшая операционная система— UNIX. Linux— это современный вариант UNIX, работающий практически на всех платформах.
2. Исходный код всех программ под Linux открыт, при желании его можно модифицировать так, как нужно.
3. На базе Linux легко создать очень надежные центры данных с поддержкой кластерных конфигураций и высокой степенью масштабирования.
4. В Linux можно настроить всё и вся. Простота конфигурации и подробное описание конфигурационных файлов выгодно отличают Linux от большинства коммерческих ОС.
5. Можно инсталлировать Linux на одну дискету, и при этом она способна выполнять функции маршрутизатора или отправлять электронную почту.
6. Постоянное обновление и улучшение как ядра Linux, так и большинства программных продуктов для нее.
7. Независимость от патентов и лицензий.
Команда aptitude
Пакетный менеджер для Ubuntu и Debian. Утилита позволяет делать всё то же самое, что и apt, но только кроме командной строки у неё есть псевдографический интерфейс на основе ncurses.
В последнее время стал не очень популярным, потому что делает практически всё то же, что и apt и тоже из командной строки, но иногда им пользуются.
Эта команда будет работать в большинстве дистрибутивов, основанных на Debian и Ubuntu. Что касается систем Fedora, CentOS и других использующих RPM, то там aptitude использовать не надо. Хотя установить программу можно и там.
Если запустить программу без параметров, то откроется псевдографический интерфейс.
Пакетный менеджер для Ubuntu и Debian. Утилита позволяет делать всё то же самое, что и apt, но только кроме командной строки у неё есть псевдографический интерфейс на основе ncurses.
В последнее время стал не очень популярным, потому что делает практически всё то же, что и apt и тоже из командной строки, но иногда им пользуются.
Эта команда будет работать в большинстве дистрибутивов, основанных на Debian и Ubuntu. Что касается систем Fedora, CentOS и других использующих RPM, то там aptitude использовать не надо. Хотя установить программу можно и там.
Если запустить программу без параметров, то откроется псевдографический интерфейс.
sudo aptitudeНастройка UDEV Rules в Linux
Философия Unix гласит — всё есть файл. Таким образом, файлы в Unix — это не только информация, хранимая на жёстком диске, но и устройства.
Все файлы устройств хранятся в каталоге
Правила udev помогут вам, если вы хотите:
⁃ переименовать устройство, например жёсткий диск или сетевую карту;
⁃ создать дополнительное имя для устройства;
⁃ поменять права доступа к устройству;
⁃ установить владельца и группу;
⁃ выполнить скрипт при подключении или отключении устройства.
Правила udev хранятся в папке
Философия Unix гласит — всё есть файл. Таким образом, файлы в Unix — это не только информация, хранимая на жёстком диске, но и устройства.
Все файлы устройств хранятся в каталоге
/dev. Этот каталог генерируется во время загрузки специальным сервисом - udev. Происходит это на основе подключённых к компьютеру устройств и определённых правил. По умолчанию в udev уже заложены все необходимые для нормальной работы устройств правила, но некоторые пользователи хотят самим настраивать свои устройства.Правила udev помогут вам, если вы хотите:
⁃ переименовать устройство, например жёсткий диск или сетевую карту;
⁃ создать дополнительное имя для устройства;
⁃ поменять права доступа к устройству;
⁃ установить владельца и группу;
⁃ выполнить скрипт при подключении или отключении устройства.
Правила udev хранятся в папке
/etc/udev/rules.d. Файл правил обязательно должен иметь расширение .rules. Обычно в этой папке уже есть несколько файлов udev rules, но их трогать не рекомендуется, для своих правил лучше создать новый.Основные файловые системы (ФС)
В зависимости от целей и задач пользователя можно выбрать любую ФС, доступную в дистрибутиве ОС:
⁃ Ext2 — наиболее богатая функциональными возможностями ФС Linux.
⁃ Ext3 — модернизация системы Ext2. Помимо некоторых функциональных расширений является журналируемой. Получила широкое распространение.
⁃ Ext4 — модернизация файловой системы Ext3. Основная особенность — увеличение максимального объема одного раздела диска до 1 эксабайта.
⁃ JFS — журналируемая ФС первая альтернатива для ФС группы Ext. Ее разработали в IBM специально для операционной системы AIX UNIX.
⁃ ReiserFS — подходит исключительно под Linux, чаще всего ее используют в качестве возможной замены Ext3
⁃ XFS — журналируемая ФС, однако в логи записывает исключительно те изменения, которые претерпевают метаданные.
⁃ Btrfs — современная ФС, главной особенностью которой является высокая отказоустойчивость
В зависимости от целей и задач пользователя можно выбрать любую ФС, доступную в дистрибутиве ОС:
⁃ Ext2 — наиболее богатая функциональными возможностями ФС Linux.
⁃ Ext3 — модернизация системы Ext2. Помимо некоторых функциональных расширений является журналируемой. Получила широкое распространение.
⁃ Ext4 — модернизация файловой системы Ext3. Основная особенность — увеличение максимального объема одного раздела диска до 1 эксабайта.
⁃ JFS — журналируемая ФС первая альтернатива для ФС группы Ext. Ее разработали в IBM специально для операционной системы AIX UNIX.
⁃ ReiserFS — подходит исключительно под Linux, чаще всего ее используют в качестве возможной замены Ext3
⁃ XFS — журналируемая ФС, однако в логи записывает исключительно те изменения, которые претерпевают метаданные.
⁃ Btrfs — современная ФС, главной особенностью которой является высокая отказоустойчивость
Вычисления с плавающей точкой в ядре
В ядре нельзя использовать вычисления с плавающей точкой. Активизация режима вычислений с плавающей точкой требует сохранения и восстановления регистров устройства поддержки вычислений с плавающей точкой (FPU), помимо других рутинных операций.
Вряд ли в модуле ядра могут понадобится вещественные вычисления, но если такое и случится, то их нужно эмулировать через целочисленные вычисления. Для таких ситуаций существует множество библиотек, из которых может быть заимствован код, так как в ядре недоступны никакие библиотеки, привычные из прикладного программирования, и известные как POSIX API.
В ядре нельзя использовать вычисления с плавающей точкой. Активизация режима вычислений с плавающей точкой требует сохранения и восстановления регистров устройства поддержки вычислений с плавающей точкой (FPU), помимо других рутинных операций.
Вряд ли в модуле ядра могут понадобится вещественные вычисления, но если такое и случится, то их нужно эмулировать через целочисленные вычисления. Для таких ситуаций существует множество библиотек, из которых может быть заимствован код, так как в ядре недоступны никакие библиотеки, привычные из прикладного программирования, и известные как POSIX API.
Расширение функциональности ядра
Оно может достигаться 2-мя различными способами:
1. Статически
Мы вносим собственные изменения в основное дерево исходных кодов ядра Linux, после чего производится пересборка ядра. В итоге мы получаем некоторую частную модификацию ядра.
Преимущество: в добавляемом коде доступны все имена объектов ядра (вызовы функций, экземпляры данных). Таким способом сборщики дистрибутивных образов патчат официальное ядро, включая туда дополнения, которые они находят нужными.
2. Динамически
Код оформляется в формате динамически подгружаемого модуля. При выполнении системы модуль динамически загружается и становится неотъемлемой частью кода ядра. Всё связывание кода модуля производится по абсолютным адресам имён в ядре, поэтому модуль может быть собран только под конкретную версию и модификацию ядра. Ограничением этого способа является то, что коду модуля доступны только те объекты, которые явно объявлены как экспортируемые.
Оно может достигаться 2-мя различными способами:
1. Статически
Мы вносим собственные изменения в основное дерево исходных кодов ядра Linux, после чего производится пересборка ядра. В итоге мы получаем некоторую частную модификацию ядра.
Преимущество: в добавляемом коде доступны все имена объектов ядра (вызовы функций, экземпляры данных). Таким способом сборщики дистрибутивных образов патчат официальное ядро, включая туда дополнения, которые они находят нужными.
2. Динамически
Код оформляется в формате динамически подгружаемого модуля. При выполнении системы модуль динамически загружается и становится неотъемлемой частью кода ядра. Всё связывание кода модуля производится по абсолютным адресам имён в ядре, поэтому модуль может быть собран только под конкретную версию и модификацию ядра. Ограничением этого способа является то, что коду модуля доступны только те объекты, которые явно объявлены как экспортируемые.
Демоны — что это такое?
Демон — программа, стартующая с main(), но никогда не завершающая своей работы, по-другому можно сказать, что это запущенный фоновый процесс. Чаще всего это сервера различных служб.
Чтобы пользовательский процесс стал сервером, он должен выполнить некоторую последовательность действий, которая называется демонизацией, состоящая в том, чтобы:
⁃ создать свой собственный клон вызовом fork() и завершить родительский процесс;
⁃ создать новую сессию вызовом setsid(), при этом процесс становится лидером сессии и теряет связь с управляющим терминала;
⁃ позакрывать все ненужные файловые дескрипторы.
Демон — программа, стартующая с main(), но никогда не завершающая своей работы, по-другому можно сказать, что это запущенный фоновый процесс. Чаще всего это сервера различных служб.
Чтобы пользовательский процесс стал сервером, он должен выполнить некоторую последовательность действий, которая называется демонизацией, состоящая в том, чтобы:
⁃ создать свой собственный клон вызовом fork() и завершить родительский процесс;
⁃ создать новую сессию вызовом setsid(), при этом процесс становится лидером сессии и теряет связь с управляющим терминала;
⁃ позакрывать все ненужные файловые дескрипторы.