Где хранятся команды линукс

Содержание
  1. ИТ База знаний
  2. Полезно
  3. Навигация
  4. Серверные решения
  5. Телефония
  6. Корпоративные сети
  7. Поиск и расположение команд в Linux
  8. Запускаем и ищем предыдущие команды в Linux
  9. Повторный запуск команды без указания аргументов. Используем «!»
  10. Выполнение предыдущей команды. Используем «!!»
  11. Поиск по истории команд. Команда history
  12. Поиск по истории. Сочетание клавиш Ctrl+R
  13. Основные linux-команды для новичка
  14. Содержание
  15. Где я? Как понять, где находишься
  16. Как понять, что находится в папке
  17. Как перейти в другую директорию
  18. По абсолютному пути
  19. По относительному пути
  20. С автодополнением
  21. Подняться наверх
  22. Как создать директорию
  23. Как создать файл
  24. Как отредактировать файл
  25. Как перенести / скопировать файл
  26. Скопировать файл
  27. Скопировать директорию
  28. Переместить файл
  29. Переместить директорию
  30. Как удалить файл
  31. Как изменить владельца файла
  32. Как установить приложение
  33. Как запустить приложение
  34. Как понять, где установлено приложение
  35. Как создать архив
  36. Как посмотреть использованные ранее команды
  37. Как посмотреть свободное место
  38. Как узнать IP компьютера
  39. Как узнать версию OS
  40. Как узнать, как работает команда
  41. Как создать много тестовых папок и файлов
  42. Как протестировать IOPS на Linux
  43. И это все?
  44. Книги и видео по теме
  45. Где тренироваться

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Поиск и расположение команд в Linux

В статье пойдет речь о расположении файлов и папок, как использовать поиск для нахождения нужной информации. Задача ознакомление с предназначение основных папок в операционной системе Linux и то, что в них находиться.

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Разберемся в структуре FHS и посмотрим, как искать файлы и команды. FHS (File System Hierarchy Standard) – это стандартная иерархия ОС. Согласно Hierarchy FHS — есть стандартные папки, которые должны располагаться в корне.

Вот классическое расположение файлов и папок в корневой папке ОС Linux. Стандарт FHS был изначально предназначен для того, чтобы во всех дистрибутивах ОС Linux могли понять и найти все, что нам нужно. Некоторые дистрибутивы Linux отклоняются от этого стандарта, но не сильно в целом данный стандарт соблюдается. Перечислим основные папки и их предназначение.

  • /bin – базовые исполняемые файлы
  • /boot – файлы loader
  • /dev – устройства
  • /etc – конфигурация ПК
  • /home – домашние директории
  • /lib – библиотеки ядра
  • /proc – информация о работающей системе
  • /media – монтирование носителей
  • /mnt – монтирование носителей
  • /opt – дополнительное программное обеспечение
  • /root – домашняя директория админа
  • /sbin – основные программы настройки системы
  • /srv – данные системных служб
  • /tmp – временные файлы
  • /usr – бинарные файлы пользователей
  • /var — переменные

Первая папка bin в ней находятся базовые исполняемые файлы команд, т.е все команды которые может использовать пользователь они находятся здесь в данной папке. Папка boot – в данной папке находятся файлы загрузчика. Обычно это отдельный диск примонтированный в котором находиться ядро Linux. В папке dev – находятся файлы всех устройств в операционной системе Linux все и даже устройства представляют собой файлы. Папка etc – здесь находиться конфигурация нашего конкретного ПК, в ней много подпапок и в ней лежит конфигурация. В директории home находятся домашние папки всех пользователей, кроме пользователя root. В данной папке находятся документы, рабочий стол и т.д все что относится к пользователю. Папка lib здесь находятся общие библиотеки и модули ядра. Папка proc – здесь находятся вся информация о запущенных в данный момент процессах. В данную папку монтируется виртуальная файловая система procfs . Папка media создана для монтирования съемных накопителей типа USB или CD-ROM. В старых версиях Linux и до сих пор осталась, есть папка mnt . Раньше в нее монтировались съемные носители, теперь же данную папку обычно используют для монтирования дополнительных файловых систем. Папка opt — для установки дополнительного программного обеспечения. Папка root – говорит сама за себя. Папка sbin в данной папке лежат настройки серьезных таких компонент, как файрвол iptables , например, или процесс инициализации init . Папка srv в ней лежат данные для всех системных служб. Папка tmp – понятно, что в ней хранятся временные файлы. Причем данные файлы там хранятся до перезагрузки операционной системы, во время нее они удаляются. В папке usr хранятся двоичные файлы, которые относятся непосредственно к пользователю, например, игры или программы, т.е то что пользователь самостоятельно установил. Папка var – папка переменные, здесь обычно размещается почта или логи программ. Понятно, что это стандарт во многих дистрибутивах могут быть отклонения, но в том или ином виде все эти папки присутствуют в различных дистрибутивах.

Подробнее про структуру FHS можно прочитать здесь

Вторая часть не менее важная, как же найти в данных папках необходимую информацию.

Команды, используемые для поиска:

  • Grep – Утилита поиска по содержимому в том числе и внутри файла
  • Find — Утилита поиска файлов по свойствам. Серьезная утилита, которая начинает поиск файлов по файловой системе в реальном времени, у данной утилиты есть множество ключей и параметров
  • Locate – Это быстрый поиск файлов.
  • Which – Поиск команды. Выводит минимальное количество информации
  • Type – Вывод точной команды
  • Whereis – Поиск команды, исходников и мануалов. Серьезный глубокий инструмент

Начнем с find / -name mail . Данная команда начнет искать в корневой папке / все файлы с именем mail .

Данная команда рекурсивно осуществляет поиск по всей файловой системе. Т.к мы запустили поиск от пользователя root, то он пробежался по всем папкам спокойно, если запускать от обычного пользователя, то может не хватать прав.

Есть другая команда — locate mail .

Данная команда отрабатывает практически мгновенно. Команда find искала именно по синтаксису, плюс можно добавлять сложные конструкции поиска. Команда locate делает проще показывает все где находится сочетание символов.

Запустим поиск с помощью команды find / -user siadmin , поиск будет искать все что касается данного пользователя. Поиск опять идет дольше, чем поиск командой locate siadmin .

Дело в том, что данная команда по умолчанию ищет не везде и у нее есть конфигурационный файл cat /etc/updatedb.conf .

В данном конфигурационном файле мы можем увидеть, что данная утилита не ищет в примонтированных файловых системах. Даная строчка # PRUNENAMES=».git .bzr .hg .svn» , говорит о том , что в данных форматы в поиске не выдаются. Поиск не производится в папках PRUNEPATHS=»/tmp /var/spool /media /var/lib/os-prober /var/lib/ceph /home/.ecryptfs /var/lib/schroot» . И не ищет в перечисленных файловых системах в файле. Данный файл можно конфигурировать и будут манятся параметры поиска.

Создадим файл текстовый touch Vadim.txt . И попробуем найти — locate Vadim.txt . Ничего не нашел. find Vadim.txt — поиск успешен.

locate работает с индексной локацией. Данный механизм напоминает индексацию файлов в MS Windows. Проходит индексация файлов и папок и после этого windows знает, что и где лежит. А если индексация не была проведена, то операционная система Windows или говорит, что ничего не найдено или поиск происходит длительное время. Аналогично утилита locate работает в Linux. Раз в день, команда locate запускает команду find . Команда find пробегает по всей файловой системе, а команда locate создает некую Базу данных и запоминает где и что находиться. Именно поэтому команда find работает долго, а команда locate работает практически моментально. Locate знает, где и что лежит в тот момент когда find искал. Но есть большой минус, данная функция происходит раз в день и изменения могут быть не актуальны. Для обновления базы данных команды locate , необходимо ее запустить вручную updatedb . Т.е ест конфигурация /etc/updatedb.conf и мы запускаем обновление Базы данных команды. После обновления, команда будет практически мгновенно находить.

Читайте также:  Если переустановить windows надо нажать

И последняя часть статьи, в которой необходимо рассмотреть поиск по командам. Тут достаточно просто, есть команда ls – она показывает содержимое папки. Мы можем найти где находиться данная команда which ls и получим, что она находиться /bin/ls . Т.е. команда ls хранится в папке bin – где хранятся бинарники тех команд, которые могут быть вызваны пользователями. По сути когда мы набираем команду ls , мы вводим /bin/ls .

У нас есть команда type . Обратите внимание, когда мы вызываем команду ls срабатывает подсветка файлов и так далее, т.е. настройки оболочки. Когда мы запускаем напрямую /bin/ls то вызывается непосредственно команда и игнорируются настройки оболочки. Причина заключается в том, что когда мы запускаем просто команду ls , то она запускается с некоторыми ключами.

Чтобы узнать, что за ключи используются необходимо набрать type ls .

Обратите внимание, что команда ls – это алиас\псевдоним. Т.е запуская в таком режиме, фактически мы вводим /bin/ls –color=auto . И получаем красивый вывод. Type позволяет выводить псевдоним.

Есть еще одна команда, которая более детальную информацию выводит whereis ls . Для ls там не много информации.

Показывает, где лежит и к какому пакету относится.

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Источник

Запускаем и ищем предыдущие команды в Linux

Работу в командной строке можно сделать немного эффективнее и быстрее, если знать несколько простых хитростей. Рассмотрим, как быстро запускать предыдущие команды, как выполнять поиск по истории команд.

Повторный запуск команды без указания аргументов. Используем «!»

!команда — используется для выполнения команды с аргументами, которые использовались при последнем запуске.

Предположим, мы выполняем какие-нибудь команды и дополняем их аргументами. Например, мы решили отредактировать файл myfile.txt в текстовом редакторе nano. Для этого мы выполняем:

Далее мы можем выполнять еще какие-нибудь команды, затем снова хотим выполнить nano, чтобы открыть в нем файл myfile.txt. Мы можем воспользоваться волшебным «!». Для этого достаточно написать восклицательный знак и без пробела название команды:

В результате будет вызвана команда nano с теми аргументами, с которыми она вызвалась последний раз, то есть в нашем случае !nano будет аналогично вызову nano /home/pingvinus/path/to/file/myfile.txt.

Выполнение предыдущей команды. Используем «!!»

!! — используется, чтобы выполнить предыдущую команду. Можно использовать в тексте другой команды.

Про два восклицательных знака я уже рассказывал. Например, вы вызвали команду:

И забыли написать в начале sudo. Чтобы не перепечатывать всю команду, можно выполнить:

Отмечу, что !! можно использовать прямо внутри текста команды. Например, мы перейдем в домашнюю директорию пользователя pingvinus:

А теперь войдем в папку /home/pingvinus/Downloads вот таким образом:

Поиск по истории команд. Команда history

history — поиск по истории команд — предназначена для вывода истории команд, поиска по ним и быстрого запуска предыдущих команд.

Если мы выполним history, то на экран будет выведен список последних введенных вами команд:

Каждая команда пронумерована. Чтобы вызвать какую-нибудь команду из списка достаточно выполнить в командной строке: !номер. Например выполним команду под номером 139:

Можно указать номер с минусом. Например, выполнив !-2 мы выполним пред-предыдущую команду. Выполнив, !-1 мы выполним предыдущую команду, это эквивалентно команде !!, описанной выше.

Для поиска по истории можно воспользоваться утилитой grep:

У команды history есть еще несколько дополнительных возможностей. Почитать руководство по history можно, выполнив man history.

Поиск по истории. Сочетание клавиш Ctrl+R

Ctrl+R — сочетание клавиш, которое используется для вызова «интерактивного» поиска по истории команд.

Нажмите Ctrl+R, находясь в командной строке. В результате на экране отобразится приглашение к поиску команды:

Начинайте вводить начальную часть или середину команды, которую вы ищете. То, что вы вводите будет заключено в кавычки, а после значка двоеточия вам будет предложена команда, найденная в истории команд, которая максимально удовлетворяет поиску. Например, я нажал Ctrl+R и начал вводить id-, и нашлась команда, содержащая символы id-:

Источник

Основные 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 ../..».

Читайте также:  Joystick xbox one driver windows

Как создать директорию

Используйте команду mkdir:

Можно и в другом месте создать папку:

Когда это нужно? Например, если вам надо сделать бекап логов. Создаете папку и сохраняете туда нужные логи. Или если вы читаете инструкцию по установке ПО и видите там «создать папку». Через командную строку это делается именно так.

Как создать файл

Такая команда создаст пустой файл с названием «app.log». А потом уже можно открыть файл в редакторе и редактировать.

Как отредактировать файл

Вот честное слово, лучше делать это через графический интерфейс!

Но если такой возможности нет, чтож… Если использовать программы, которые есть везде, то у вас два варианта:

  1. nano — более простая программа, рассчитана на новичков
  2. 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»:

Читайте также:  Networking service linux ��� ���

Хотя система пишет, что распаковала «/home/test», на самом деле папка «test» появляется там, где мы сейчас находимся.

Давайте разберемся, что все эти флаги означают:

  • c — создать архив в linux
  • x — извлечь файлы из архива
  • v — показать подробную информацию о процессе работы (без него мы бы не увидели, какие файлики запаковались / распаковались)
  • f — файл для записи архива
  • z — сжатие

Для упаковки используется опция cCreate, а для распаковки 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 — графический интерфейс

См также:

Источник

Оцените статью