- Что такое Linux (и другие вопросы)
- Что такое Linux
- Что значит ядро Linux?
- Linux — это версия Unix?
- Что такое дистрибутив Linux
- Почему дистрибутивов так много
- Получается, Linux — это бесплатно?
- Как выглядит интерфейс Linux
- Для чего используется Linux
- Можно ли играть в игры на Linux
- А что со специализированным железом и софтом?
- Можно ли запускать на Linux программы от MacOS или Windows?
- Что дальше
- Как узнать версию Linux
- Команда lsb_release
- Команда hostnamectl
- Команда uname — версия ядра
- Файл /etc/os-release
- Файл /etc/issue
- Файлы /etc/***release и /etc/***version
- Файл /proc/version
- Через графические утилиты
- Заключение
- Основные linux-команды для новичка
- Содержание
- Где я? Как понять, где находишься
- Как понять, что находится в папке
- Как перейти в другую директорию
- По абсолютному пути
- По относительному пути
- С автодополнением
- Подняться наверх
- Как создать директорию
- Как создать файл
- Как отредактировать файл
- Как перенести / скопировать файл
- Скопировать файл
- Скопировать директорию
- Переместить файл
- Переместить директорию
- Как удалить файл
- Как изменить владельца файла
- Как установить приложение
- Как запустить приложение
- Как понять, где установлено приложение
- Как создать архив
- Как посмотреть использованные ранее команды
- Как посмотреть свободное место
- Как узнать IP компьютера
- Как узнать версию OS
- Как узнать, как работает команда
- Как создать много тестовых папок и файлов
- Как протестировать IOPS на Linux
- И это все?
- Книги и видео по теме
- Где тренироваться
Что такое Linux (и другие вопросы)
Быстрое знакомство с самой многогранной операционной системой
Операционная система Linux работает почти на всех серверах в интернете. При этом Linux — это не название какой-то одной операционной системы, а общее название для сотен систем. Давайте разберёмся, как это вообще возможно.
Что такое Linux
Linux — это одновременно две вещи:
- Название ядра операционной системы (то есть центральный модуль, который отвечает за базовые возможности системы).
- Название семейства операционных систем, в которое, по разным подсчётам, входит от 500 до 600 операционок для разных задач.
Отдельной операционки под названием Linux нет, но если вы знаете принципы работы одной системы, вы сможете легко разобраться во всех остальных.
Что значит ядро Linux?
Ядро Linux — это то, что разработал программист Линус Торвальдс, когда хотел получить основные возможности UNIX, но без ограничения на коммерческое использование.
Ядро операционной системы отвечает за её базовые команды и операции, которые она умеет делать:
- управление памятью — выделить место программе, ограничить, очистить;
- управление процессами — запустить, дать ресурсы, убить;
- управление железом — в ядро встроены драйверы для некоторого набора оборудования, чтобы операционка сразу работала на железе;
- обмен информацией между процессами, службами и программами — чтобы программы могли отправлять запросы в интернет, писать данные на диск, читать с диска, запускать друг друга, обращаться к системе и т. д.
Ядро практически не видимо для пользователя, его нельзя «открыть», у него нет видимых для пользователя окон и кнопок. В ядро даже нельзя ввести команду с клавиатуры. Это как рептильный мозг человека: у нас нет к нему осознанного доступа и мы не можем остановить себе сердце силой мысли, но благодаря этому «ядру» у нас бьётся сердце.
Поверх ядра Linux разные программисты сделали свои версии операционных систем: RedHat, Ubuntu, Mint Linux и много-много других. Вот и получается, что ядро в основе — одно, а дистрибутивов Linux — много.
Linux — это версия Unix?
Нет, несмотря на похожие названия, это разные продукты.
Unix был создан в компании AT&T в 1970-х. Это была коммерческая операционка, которую хоть и лицензировали для университетов, но всё равно на ней хотели зарабатывать. UNIX существует как отдельная операционная система до сих пор и используется на сетевом оборудовании.
Linux создана в начале 90-х с нуля как открытая альтернатива Unix. В Linux используются многие принципы и механизмы Unix, но код другой. Более того, код Linux открытый: кто угодно может скачать исходник ядра Linux и посмотреть, как там всё устроено.
Возможно, именно благодаря открытости Linux стал настолько популярной операционной системой с сотнями дистрибутивов.
Что такое дистрибутив Linux
Дистрибутив Linux — это когда разные компании и разработчики берут ядро и добавляют сверху какой-то набор программ: оболочки, компиляторы, драйверы и всё остальное. Это уже становится полноценной операционной системой, и каждая из таких сборок имеет своё название.
Количество дистрибутивов Linux огромно — около 500 более-менее известных и бесчисленное множество разных сборок под разные задачи.
Любой человек, почитав полдня документацию и сформулировав свою задачу, сможет собрать собственный дистрибутив Linux — например под старый компьютер, для обучения, напичканный играми или для веб-разработки.
Почему дистрибутивов так много
Потому что каждая компания считает важным что-то своё:
- одни хотят сделать операционку с красивым интерфейсом;
- другие делают акцент на безопасности и шифровании данных;
- третьи хотят расширенную поддержку сетевых протоколов;
- четвёртым нужна поддержка определённого оборудования;
- пятые хотят стабильности и отказоустойчивости;
- шестым нужно, чтобы система работала в брелке от сигнализации;
- а кому-то ещё — чтобы система работала на маломощном процессоре.
В зависимости от того, что для них важно, компании собирают свои дистрибутивы из разных компонентов.
Получается, Linux — это бесплатно?
В основном да, Linux — это бесплатно. Есть и коммерческие сборки Linux: ты платишь за софт и поддержку пользователей.
В этом и есть первая сила Linux — в бесплатности и доступности. Вторая суперсила — в гибкости и разнообразии настроек и специальных программ.
Как выглядит интерфейс Linux
Linux может выглядеть как угодно — смотря что вам нравится.
Когда вы смотрите на окна операционной системы, на самом деле вы смотрите на специальную программу-менеджер. Это надстройка над ядром, которая рисует красивые окна. В операционных системах Windows и MacOS оконные менеджеры стандартные и не меняются, а в Linux можно выбрать свой.
Дистрибутивы Linux выглядят по-разному в зависимости от того, какой оконный менеджер там стоит. Можно вообще обойтись без него.
Например, можно поставить себе оконный менеджер KDE:
Или можно использовать GNOME:
Или менеджер Xfce, если железо совсем слабое:
Можно вообще не пользоваться оконным менеджером и управлять всем из командной строки, как это делают на серверах:
Для чего используется Linux
Linux используется для чего угодно. Так как любой дистрибутив Linux собирается из разных кирпичиков, можно найти дистрибутивы:
- для домашнего ежедневного использования (например, Ubuntu);
- для реанимации старого железа (например, поставить Calculate для слабых компьютеров в школьных классах);
- для серверов предприятий;
- для суперкомпьютеров;
- для отказоустойчивых станций для работы в бесперебойном режиме;
- для систем безопасности и шифрования;
- для создания сети из компьютеров для параллельных вычислений;
- для обслуживания сигнализаций, умных домов и районов;
- для роутеров и прочего компьютерного железа;
- для роботов и робототехники.
Если того, что вам нужно, нет в списке, то вы можете сами сделать свой дистрибутив или взять что-то за основу и поставить туда нужный софт. Такой подход и делает Linux универсальной операционной системой для всего.
Можно ли играть в игры на Linux
В целом — да, но с ограничениями. Вот варианты:
- Можно играть в ретроигры с помощью любого из десятков эмуляторов консоли.
- Можно играть в некоторые PC-игры через эмулятор Windows (например, Wine). Игра может подтормаживать в зависимости от того, какое у вас железо и на какое железо была рассчитана игра.
- Можно играть в игры, портированные на SteamOS — это собственная среда Steam на базе Linux. Компания Valve очень старается сделать как можно больше игр для этой платформы, потому что от этого зависит работа их будущей консоли SteamDeck, так что в некоторые топовые игры поиграть всё-таки можно.
- Можно играть в игры, разработанные непосредственно для Linux.
На Linux можно поиграть в Doom Eternal. А в Doom 3 можно поиграть даже на Линуксе, который работает на одноплатном компьютере Raspberry Pi 4.
Основная проблема с играми на Linux — это передовые игры, которые используют максимум возможностей видеокарты. Не на все карты и не у всех производителей есть драйверы на Linux. Хотя со временем их становится всё больше, а некоторые ребята даже пишут собственные драйверы.
А что со специализированным железом и софтом?
На Linux есть масса профессионального софта для работы с графикой, видео и звуком. Это не такие комбайны, как у Adobe и Apple, но со своими задачами справляются.
Постепенно производители софта понимают важность Linux и выпускают для него полноценные версии своего софта. Например, Blackmagic сделали для Linux полноценную версию видеомонтажной программы Davinci Resolve.
Совместимость со специализированным железом под вопросом: есть железо, которое работает только на Linux. И есть железо, у которого вообще нет драйверов на Linux. Надо смотреть.
Можно ли запускать на Linux программы от MacOS или Windows?
В целом — да. На Linux можно установить эмуляторы других операционных систем. Например, Wine — это широко распространённый эмулятор Windows. Есть система VMWare Workstation, которая создаёт виртуальную машину внутри вашего Линукса, и там можно запустить что угодно.
Надо понимать, что любая эмуляция «отжирает» часть ресурсов компьютера и могут быть проблемы с совместимостью, поэтому ступайте осторожно.
Что дальше
В одном из следующих выпусков перейдём к практике — установим Linux на домашний компьютер. Лайк, подписка.
Источник
Как узнать версию Linux
Когда мы говорим о Linux, то обычно подразумеваем какой-либо дистрибутив Linux. Также под Linux мы можем иметь ввиду ядро Linux.
Иногда требуется определить версию Linux, в которой вы работаете. Пользователь может не знать или забыть, какая версия дистрибутива или какая версия ядра Linux используется. Если это чужая система, то может потребоваться узнать название используемого дистрибутива.
В данной статье рассматриваются различные способы, которые помогут нам определить используемую версию Linux. Рассматривается несколько команд для определения версии Linux. Приведенные команды универсальны и не зависят от дистрибутива. Возможно, некоторые из них могут не работать в каких-то дистрибутивах, в таком случае переходите к следующей команде и пробуйте ее.
Команда lsb_release
Команда lsb_release выводит информацию о дистрибутиве.
Префикс lsb в названии команды относится к проекту Linux Standard Base, который был создан с целью создания ряда стандартов для выпуска дистрибутивов Linux, чтобы уменьшить различия между отдельными дистрибутивами. Предполагается, что использование LSB снижает затраты, связанные с переносом приложений на разные дистрибутивы, а также снижает усилия, связанные с поддержкой этих приложений.
Чтобы отобразить информацию о дистрибутиве выполните команду:
Выводится название дистрибутива, номер версии и кодовое имя.
Можно использовать опцию -d , чтобы показать только строку Description, которая обычно содержит и название и версию дистрибутива.
Команда hostnamectl
Команда hostnamectl , выполненная без параметров или с ключом status , выводит текущую информацию о системе.
Помимо данных дистрибутива, выводится версия ядра и архитектура.
Команда uname — версия ядра
Команда uname выводит информацию о текущем ядре системы Linux, а также некоторые дополнительные данные.
Чтобы вывести всю информацию, используется ключ -a
Для удобства можно выводить только название ядра ( -s ) , версию ядра ( -r ) и архитектуру ( -m )
Файл /etc/os-release
В файле /etc/os-release содержится информация о дистрибутиве, включая URL-адреса сайт системы и некоторые дополнительные данные. Данный файл присутствует в дистрибутивах, использующих systemd.
Чтобы вывести содержимое файла /etc/os-release можно воспользоваться командой cat:
Файл /etc/issue
Файл /etc/issue содержит текст, который выводится в качестве приглашения ко входу в систему. Обычно текст представляет собой название дистрибутива и версию.
Выведем содержимое файла /etc/issue командой cat:
Файлы /etc/***release и /etc/***version
Если вы используете старый или какой-то специфический дистрибутив Linux, то информация о системе может хранится в файле /etc/abc-release или /etc/abc-version .
Вместо abc обычно указывается краткий идентификатор дистрибутива или lsb, если система совместима со стандартами LSB. Вместо символа — может быть символ _ . Например, для дистрибутива Fedora используется файл /etc/fedora-release
Необязательно знать названия этих файлов. Можно воспользоваться следующей командой, чтобы автоматически определить названия и вывести содержимое этих файлов:
Файл /proc/version
Информацию о ядре Linux также можно получить из файла /proc/version
Через графические утилиты
Многие дистрибутивы позволяют просмотреть некоторую информацию о системе, используя графические утилиты. Например, в Ubuntu это можно сделать из утилиты Параметров системы, на вкладке Сведения о системе .
Заключение
Мы рассмотрели различные способы получения информации о дистрибутиве и ядре системы Linux. Какие-то способы могут не работать в некоторых дистрибутивах Linux.
Источник
Основные linux-команды для новичка
Linux — это операционная система. Как винда (windows), только более защищенная. В винде легко подхватить вирус, в линуксе это практически невозможно. А еще линукс бесплатный, и ты сам себе хозяин: никаких тебе неотключаемых автообновлений системы!
Правда, разобраться в нем немного посложнее… Потому что большинство операций выполняется в командной строке. И если вы видите в вакансии «знание linux» — от вас ожидают как раз умение выполнять простейшие операции — перейти в другую директорию, скопировать файл, создать папочку… В этой статье я расскажу про типовые операции, которые стоит уметь делать новичку. Ну и плюс пара полезняшек для тестировщиков.
Я дам кратенькое описание основных команд с примерами (примеры я все проверяла на cent os, red hat based системе) + ссылки на статьи, где можно почитать подробнее. Если же хочется копнуть еще глубже, то см раздел «Книги и видео по теме». А еще комментарии к статье, там много полезного написали)
Содержание
Где я? Как понять, где находишься
Очень полезная команда, когда у вас нет ничего, кроме командной строки под рукой. Расшифровывается как Print Working Directory. Запомните ее, пригодится.
Как понять, что находится в папке
Команда ls позволяет просмотреть содержимое каталога:
Хотя лучше использовать команду сразу с флагом «l»:
Такая команда выведет более читабельный список, где можно будет сразу увидеть дату создания файла, его размер, автора и выданные файлу права.
У команды есть и другие флаги, но чаще всего вы будете использовать именно «ls – l».
См также:
Команда ls Linux — подробнее о команде и всех ее флагах
Команда ls – просмотр каталога — о команде для новичков (без перечисления всех флагов)
Как перейти в другую директорию
С помощью команды cd:
Путь может быть абсолютным или относительным.
По абсолютному пути
Либо у вас где-то записан путь, «куда идти», либо вы подсмотрели его в графическом интерфейсе (например, в WinSCP).
Вставляем путь в командную строку после «cd»
Ну вот, мы переместились из домашней директории (обозначается как
По относительному пути
Относительный путь — относительно вашей текущей директории, где вы сейчас находитесь. Если я уже нахожусь в /home/student, а мне надо в /home/student/log, команда будут такой:
Если мне из надо из /home/student/photo в /home/student/photo/city/msk/2017/cat_1, команда будет такой:
Я не пишу /home/student/photo, так как я уже там.
В линуксе можно задавать путь относительно домашней папки текущего пользователя. Домашняя директория обозначается
/. Дальше вы уже можете указывать подпапки:
Эта команда будет работать отовсюду. И переместит нас в /home/user/log.
Вот пример, где я вошла под пользователем students. Исходно была в директории /var, а попала в /home/students/log:
С автодополнением
Если вы начнете набирать название папки и нажмете Tab, система сама его подставит. Если просто нажмете Tab, ничего не вводя, система начнет перебирать возможные варианты:
— (cd tab) Может, ты имел в виду папку 1?
— (tab) Нет? Может, папку 2?
— (tab) Снова нет? Может, папку 3?
— (tab) Снова нет? Может, файл 1 (она перебирает имена всех файлов и директорий, которые есть в той, где вы сейчас находитесь)?
— (tab) У меня кончились варианты, поехали сначала. Папка 1?
cd lon(Tab) → cd long-long-long-long-name-folder — начали вводить название папки и система сама подставила имя (из тех, что есть в директории, где мы находимся).
cd (Tab)(Tab)(Tab) — система перебирает все файлы / папки в текущей директории.
Это очень удобно, когда перемещаешься в командной строке. Не надо вспоминать точное название папки, но можно вспомнить первую букву-две, это сократит количество вариантов.
Подняться наверх
Подняться на уровень выше:
Если нужно поднять на два уровня выше, то
И так до бесконечности =) Можно использовать файл, лежащий на уровне выше или просто сменить директорию.
Обратите внимание, что команда для линукса отличается от команды для винды — слеш другой. В винде это «cd ..\..», а в линуксе именно «cd ../..».
Как создать директорию
Используйте команду mkdir:
Можно и в другом месте создать папку:
Когда это нужно? Например, если вам надо сделать бекап логов. Создаете папку и сохраняете туда нужные логи. Или если вы читаете инструкцию по установке ПО и видите там «создать папку». Через командную строку это делается именно так.
Как создать файл
Такая команда создаст пустой файл с названием «app.log». А потом уже можно открыть файл в редакторе и редактировать.
Как отредактировать файл
Вот честное слово, лучше делать это через графический интерфейс!
Но если такой возможности нет, чтож… Если использовать программы, которые есть везде, то у вас два варианта:
- nano — более простая программа, рассчитана на новичков
- vim — более сложная, но позволяет сделать кучу всего
Начнем с nano. Указываете имя команды и путь в файлу:
Для перемещения по файлу используйте кнопки со стрелками. После того, как закончите редактировать файл, нажмите:
- Ctrl+O — чтобы сохранить
- Ctrl+X — для выхода
Самое приятное в nano — это подсказки внизу экрана, что нажать, чтобы выйти.
А вот с vim с этим сложнее. В него легко зайти:
Войти вошли, а как выйти то, аааа? Тут начинается легкая паника, потому что ни одна из стандартных комбинаций не срабатывает: Esc, ctrl + x, ctrl + q… Если под рукой есть второй ноутбук или хотя бы телефон / планшет с интернетом, можно прогуглить «как выйти из vim», а если у вас только одно окно с терминалом, которое вы заблокировали редактором?
Делюсь секретом, для выхода надо набрать:
- :q — закрыть редактор
- :q! — закрыть редактор без сохранения (если что-то меняли, то просто «:q» не проканает)
Двоеточие запускает командный режим, а там уже вводим команду «q» (quit).
Исходно, когда мы открываем файл через vim, то видим его содержимое, а внизу информацию о файле:
Когда нажимаем двоеточие, оно печатается внизу:
Если не печатается, не паникуем! Тогда попробуйте нажать Esc (вернуться в нормальный режим), потом Enter (подтвердить команду), а потом снова печатайте. Фух, помогло, мы вышли оттуда.
На самом деле сейчас всё не так страшно. Даже если вас заслали работать в банк, где нет доступа в интернет, а вы вошли в vi и не знаете как выйти, всегда можно погулить выход с телефона. Слава мобильному интернету! Ну а если вы знаете логин-пароль от сервера, то можно просто закрыть терминал и открыть его снова.
Если нужно выйти, сохранив изменения, используйте команду
Ну а про возможности редактирования см статьи ниже =)
Как перенести / скопировать файл
Допустим, у нас в директории /opt/app/log находится app.log, который мы хотим сохранить в другом месте. Как перенести лог в нужное место, если нет графического интерфейса, только командная строка?
Скопировать файл
Если мы находимся в директории /opt/app/log:
В данном примере мы использовали относительный путь для «что копировать» — мы уже находимся рядом с логом, поэтому просто берем его. А для «куда копировать» используем абсолютный путь — копируем в /home/olga.
Можно сразу переименовать файл:
В этом случае мы взяли app.log и поместили его в папку /home/olga, переименовав при этом в app_test_2020_03_08.log. А то мало ли, сколько логов у вас в этом папке уже лежит, чтобы различать их, можно давать файлу более говорящее имя.
Если в «куда копировать» файл с таким именем уже есть, система не будет ничего спрашивать, просто перезапишет его. Для примера положим в папку log внутри домашней директории файл «app.log», который там уже есть:
Никаких ошибок, система просто выполнила команду.
Скопировать директорию
Команда остается та же, «cp», только используется ключ R — «копировать папку рекурсивно»:
Так в директории /home/olga появится папка «log».
Переместить файл
Если надо переместить файл, а не скопировать его, то вместо cp (copy) используем mv (move).
Можно использовать относительные и абсолютные пути:
Можно сразу переименовать файл:
Переместить директорию
Аналогично перемещению файла, команда mv
Как удалить файл
С помощью команды rm (remove):
Если нужно удалить все файлы в текущей директории (скажем, вычищаем старые логи перед переустановкой приложения), используйте «*»:
Если нужно удалить папку, надо добавить флаг -r (recursive):
Если вы пытаетесь удалить файлы, которые уже используются в программе или доступны только для чтения, система будет переспрашивать:
А теперь представьте, что вы чистите много файлов. И на каждый система переспрашивает, и надо постоянно отвечать «да, да, да. » (y – enter, y – enter, y – enter)… Чтобы удалить все без вопросов, используйте флаг -f (force):
Но учтите, что это довольно опасная команда! Вот так надоест подстверждать удаление и введешь «-rf», а директорию неправильно укажешь… Ну и все, прости-прощай нужные файлы. Аккуратнее с этой командой, особенно если у вас есть root-полномочия!
Опция -v показывает имена удаляемых файлов:
Тут вы хотя бы можете осознать, что натворили )))
Как изменить владельца файла
Если у вас есть root-доступ, то вы наверняка будете выполнять все действия под ним. Ну или многие… И тогда любой созданный файл, любая папка будут принадлежать root-пользователю.
Это плохо, потому что никто другой с ними работать уже не сможет. Но можно создать файл под root-ом, а потом изменить его владельца с помощью команды chown.
Допустим, что я поднимаю сервис testbase. И он должен иметь доступ к директории user и файлу test.txt в другой директории. Так как никому другому эти файлики не нужны, а создала я их под рутом, то просто меняю владельца:
В итоге был владелец root, а стал testbase. То, что надо!
Как установить приложение
Если вы привыкли к винде, то для вас установка приложения — это скачать некий setup файлик, запустить и до упора тыкать «далее-далее-далее». В линуксе все немного по-другому. Тут приложения ставятся как пакеты. И для каждой системы есть свой менеджер пакетов:
Давайте посмотрим на примере, как это работает. В командной строке очень удобно работать с Midnight Commander (mc) — это как FAR на windows. К сожалению, программа далеко не всегда есть в «чистом» дистрибутиве.
И вот вы подняли виртуалку на centos 7, хотите вызвать Midnight Commander, но облом-с.
Ничего страшного, установите это приложение через yum:
Он там будет что-то делать, качать, а потом уточнит, согласны ли вы поставить программу с учетом ее размеров. Если да, печатаем «y»:
И система заканчивает установку.
Вот и все! Никаких тебе унылых «далее-далее-далее», сказал «установи», программа установилась! Теперь, если напечатать «mc» в командной строке, запустится Midnight Commander:
Как запустить приложение
Некоторые приложения запускаются через скрипты. Например, чтобы запустить сервер приложения WildFly, нужно перейти в папку bin и запустить там standalone.sh. Файл с расширением .sh — это скрипт.
Чтобы запустить скрипт, нужно указать полный путь к нему:
Это важно! Даже если вы находитесь в той папке, где и скрипт, он не будет найден, если просто указать название sh-скрипта. Надо написать так:
Поиск идет только в каталогах, записанных в переменную PATH. Так что если скрипт используется часто, добавляйте путь туда и вызывайте просто по названию:
Если же приложение запускается как сервис, то все еще проще:
Чтобы сервис test запускался автоматически при рестарте системы, используйте команду:
Она добавит службу в автозапуск.
Как понять, где установлено приложение
Вот, например, для интеграции Jenkins и newman в Jenkins надо прописать полный путь к ньюману в параметре PATH. Но как это сделать, если newman ставился автоматически через команду install? И вы уже забыли, какой путь установки он вывел? Или вообще не вы ставили?
Чтобы узнать, куда приложение установилось, используйте whereis (без пробела):
Как создать архив
Стандартная утилита, которая будет работать даже на «голой» системе — tar. Правда, для ее использования надо запомнить флаги. Для создания архива стандартная комбинация cvzf:
В данном примере мы упаковали директорию /home/test, внутри которой было две картинки — 502.jpg и 504.jpg.
Для распаковки меняем флаг «c» на «x» и убираем «z»:
Хотя система пишет, что распаковала «/home/test», на самом деле папка «test» появляется там, где мы сейчас находимся.
Давайте разберемся, что все эти флаги означают:
- c — создать архив в linux
- x — извлечь файлы из архива
- v — показать подробную информацию о процессе работы (без него мы бы не увидели, какие файлики запаковались / распаковались)
- f — файл для записи архива
- z — сжатие
Для упаковки используется опция c — Create, а для распаковки x — eXtract.
Если очень хочется использовать rar, то придется изгаляться. Через yum установка не прокатит:
Говорит, нет такого пакета:
Придется выполнить целую пачку команд! Сначала скачиваем, разархивируем и компилируем:
Как посмотреть использованные ранее команды
Вот, допустим, вы выполняли какие-то сложные действия. Или даже не вы, а разработчик или админ! У вас что-то сломалось, пришел коллега, вжух-вжух ручками, magic — работает. А что он делал? Интересно же!
Или, может, вы писали длинную команду, а теперь ее надо повторить. Снова набирать ручками? Неохота! Тем более что есть помощники:
Если надо «отмотать» недалеко, проще через стрелочку пролистать команды. Один раз нажали — система показала последнюю команду. Еще раз нажали — предпоследнюю. И так до 1000 раз (потому что именно столько хранится в истории).
Большой бонус в том, что линукс хранит историю даже при перезапуске консоли. Это вам не как в винде — скопировал текст, скопировал другой, а первый уже потерялся. А при перезагрузке системы вообще все потерялось.
Если тыкать в стрелочку не хочется, или команды была давно, можно напечатать «history» и внимательно изучить команды.
См также:
История команд Linux — больше о возможностях history
Как посмотреть свободное место
Сколько места свободно на дисках
Сколько весит директория
Как узнать IP компьютера
Если у вас настроены DNS-имена, вы подключаетесь к linux-машине именно по ним. Ведь так проще запомнить — это testbase, это bugred… Но иногда нужен именно IP. Например, если подключение по DNS работает только внутри рабочей сети, а коллега хочет подключиться из дома, вот и уточняет айпишник.
Чтобы узнать IP машины, используйте команду:
Также можно использовать ifconfig:
Как узнать версию OS
Сидите вы у Заказчика на линуксовой машине. Пытаетесь что-то установить — не работает. Лезете гуглить, а способы установки разные для разных операционных систем. Но как понять, какая установлена на данной машине?
На этой виртуалке стоит CentOs 7.
Если нужна версия ядра:
Как узнать, как работает команда
Если вы не знаете, как работает команда, всегда можно спросить о ней саму систему, используя встроенную команду man:
Закрыть мануал можно с помощью клавиши q. Для того, кто первый раз в линуксовой консоли, это совсем не очевидно, а подсказки есть не везде.
Команда удобна тем, что не надо даже уходить из командной строки, сразу получаешь всю информацию. К тому же это всегда актуальная информация. А что вы там нагуглите — неизвестно =))
Хотя лично мне проще какую-то команду прогуглить, ведь так я получу русское описание + сначала самые главные флаги (а их может быть много). Но я сама новичок в линуксе, это подход новичка. А лучше сразу учиться прокачивать навык поиска по man-у. Он вам очень пригодится для более сложных задач!
Если man у программы нет, используйте флаг -h (—help):
Как создать много тестовых папок и файлов
Допустим, у нас есть некая папка test. Создадим в ней сотню директорий и кучу файликов в каждой:
Вот и все, дальше можно играться с ними!
- mkdir — создать директорию
- touch — создать файл (или изменить существующий, но если файла с таким именем нет, то команда создаст новый, пустой)
А выражения в скобках играют роль функции, которая выполняется в цикле и делает ручную работу за вас:
- <000..100>— пробежится по всем числам от 0 до 100
— пробежится по всем буквам английского алфавита от A до Z
Как я пробовала эту команду. Сначала посмотрела, где нахожусь:
Символ $ при описании команд означает начало строки, куда мы пишем команду. Так мы отделяем то, что ввели сами (pwd) от ответа системы (/home/test).
Ага, в домашней директории. Создам себе песочницу:
Вот в ней и буду творить!
А потом можно проверить, что получилось:
Как-то так! Имхо, полезные команды.
Я нашла их в книге «Командная строка Linux. Полное руководство», они используются для того, чтобы создать песочницу для прощупывания команды find. Я, как и автор, восхищаюсь мощью командной строки в данном случае. Всего 2 строчки, а сколько боли бы принесло сделать похожую структуру через графический интерфейс!
И, главное, тестировщику полезно — может пригодиться для тестов.
Как протестировать IOPS на Linux
Это очень полезно делать, если машину вам дает заказчик. Там точно SSD-диски? И они дают хороший iops? Если вы разрабатываете серверное приложение, и от вас требуют выдерживать нагрузку, нужно быть уверенными в том, что диски вам выдали по ТЗ.
Наше приложение активно использует диск. Поэтому, если заказчик хочет видеть хорошие результаты по нагрузке, мы хотим видеть хорошие результаты по производительности самих дисков.
Но верить админам другой стороны на слово нельзя. Если приложение работает медленно, они, разумеется, будут говорить, что у них то все хорошо, это «они» виноваты. Поэтому надо тестировать диски самим.
Я расскажу о том, как мы тестировали диски. Как проверили, сколько IOPS они выдают.
1) Скачиваем последнюю версию, распаковываем, переходим в каталог. В командах ниже нужно заменить «fio-3.19» на актуальную версию из списка
2) Должны стоять пакеты для сборки
Какие должны быть результаты:
- Средний SSD, выпущенный 2-3 года назад — 50 тысяч IOPS.
- Свежий Samsung 960 Pro, который стоит на одной из железок у нас в офисе — 350 тысяч IOPS.
Свежесть определяется на момент написания статьи в 2017 году.
Если должно быть 50 тысяч, а диск выдает сильно меньше, то:
— он не SSD;
— есть сетевые задержки;
— неправильно примонтирован;
— с ними что-то еще плохое случилось и стоит поднять алярм.
И это все?
Еще полезно изучить команду find и регулярные выражения. Тестировщику как минимум надо уметь «грепать логи» — использовать grep. Но это уже остается на самостоятельный гуглеж.
База, которая всегда нужна — pwd, cp, mv, mkdir, touch. Остальное можно легко гуглить, как только возникает необходимость.
Вот вам еще пара ссылочек от меня:
- Что значат символы >> и >& в unix/Linux — а то вроде про «>» знаешь еще по винде, а что значит «>>»? Вот в статье и ответ!
- Ахтунг, прод! Как настроить приветствие на Linux — очень полезная штука, если у вас есть доступы на продакшен. Обезопасьте себя )))
Для понимания структуры папок рекомендую статью «Структура папок ОС Linux. Какая папка для чего нужна. Что и где лежит в линуксе»
Книги и видео по теме
Где тренироваться
Можно поднять виртуалку. Правда, тут сначала придется разбираться, как поднимать виртуалку )))
А можно купить облачную машину. Когда мне надо было поиграться с линуксом, я пошла на SimpleCloud (он мне в гугле одним из первых выпал и у него дружелюбный интерфейс. Но можно выбрать любой аналог) и купила самую дешманскую машину — за 150 руб в месяц. Месяца вам за глаза, чтобы «пощупать-потыркать», и этой машины с минимумом памяти тоже.
У меня был когда-то план самой платить эти 150р за то, чтобы дать машину в общий доступ. Но увы. Как я не пыталась ее огородить (закрывала команды типа ssh, ping и прочая), у меня не получилось. Всегда есть люди, которых хлебом не корми, дай испортить чужое. Выложил в общий доступ пароли? На тебе ддос-атаку с твоего сервера. Ну и сервер блокируют. После N-ой блокировки я плюнула на это дело. Кто хочет научиться, найдет 150р.
Чтобы подключиться к машине, используйте инструменты:
- Putty — командная строка
- WinSCP — графический интерфейс
См также:
Источник