- 25 базовых команд Linux для начинающих пользователей
- Список базовых команд Linux
- 1. Команда pwd
- 2. Команда ls
- 3. Команда cd
- 4. Команда cat
- 5. Команда cp
- 6. Команда mv
- 7. Команда rm
- 8. Команда mkdir
- 9. Команда rmdir
- 10. Команда touch
- 11. Команда ln
- 12. Команда sudo
- 13. Команда head
- 14. Команда tail
- 15. Команда chmod
- 16. Команда md5sum
- 17. Команда locate
- 18. Команда df
- 19. Команда du
- 20. Команда free
- 21. Команда zip
- 22. Команда ifconfig
- 23. Команда uname
- 24. Команда history
- 25. Команда man
- Бонус: команды завешения работы
- Заключение
- Основные linux-команды для новичка
- Содержание
- Где я? Как понять, где находишься
- Как понять, что находится в папке
- Как перейти в другую директорию
- По абсолютному пути
- По относительному пути
- С автодополнением
- Подняться наверх
- Как создать директорию
- Как создать файл
- Как отредактировать файл
- Как перенести / скопировать файл
- Скопировать файл
- Скопировать директорию
- Переместить файл
- Переместить директорию
- Как удалить файл
- Как изменить владельца файла
- Как установить приложение
- Как запустить приложение
- Как понять, где установлено приложение
- Как создать архив
- Как посмотреть использованные ранее команды
- Как посмотреть свободное место
- Как узнать IP компьютера
- Как узнать версию OS
- Как узнать, как работает команда
- Как создать много тестовых папок и файлов
- Как протестировать IOPS на Linux
- И это все?
- Книги и видео по теме
- Где тренироваться
25 базовых команд Linux для начинающих пользователей
Оригинал: 25 basic Linux commands for beginners
Автор: Arnab Satapathi
Дата публикации: 28 августа 2017 г.
Перевод: В.Костромин
Дата перевода: 28 августа 2017 г.
Помимо того, что Linux свободная операционная система, для многих людей командная строка является другой важной причиной для начала использования этой ОС. В этой статье дано описание 25-и базовых команд Linux для самых начинающих пользователей.
Вначале вам может показаться, что работать в командной строке трудно, но в действительности вам потребуется всего один или два дня для того, чтобы освоить базовые команды Linux.
Скорее всего вы уже знаете, как открыть терминал для набора команды, так что я пропускаю эту часть. Давайте сразу начнем.
Список базовых команд Linux
Сейчас мы обсудим некоторые основные команды, которые почти всегда будут нужны, так что лучше их запомнить. Однако судя по моему опыту, их много легче запомнить, если записать их ручкой на бумаге, вместо того, чтобы набирать их на терминале.
1. Команда pwd
Эта команда выводит на экран расположение текущей рабочей директории. Знание этого актуально в случае, когда вы хотите перейти в родительский каталог или в один из подкаталогов текущей директории.
2. Команда ls
ls — одна из наиболее часто используемых из числа базовых команд linux, которая применяется для того, чтобы отобразить содержимое интересующего вас каталога. По умолчанию выводится содержимое текущего рабочего каталога, название которого выводится командой (pwd).
Если нужно узнать содержимое какого-то другого каталога, нужно задать имя нужного каталога в виде параметра команды. Например, команда ls /usr/bin выдаст содержимое каталога /usr/bin.
3. Команда cd
После выяснения имени текущего каталога с помощью команды pwd и просмотра его содержимого с помощью команды ls, можно начать перемещаться по каталогам с помощью команды cd. Предположим, вы находитесь в вашем домашнем каталоге и вам нужно перейти в каталог /usr/local/share/fonts. В таком случае используйте команду cd /usr/local/share/fonts .
Можно использовать три сокращения. Если вам нужно перейти на один каталог выше, используйте cd .. , а для того, чтобы откуда угодно вернуться в свой домашний каталог, введите cd
. Если же вы хотите вернуться в предыдущий рабочий каталог, используйте cd — .
4. Команда cat
Эта команда используется для вывода на экран (строго говоря в поток stdout) содержимого какого-либо файла. Она полезна когда вы хотите быстро просмотреть содержимое файла. Например, cat a_text_file выведет на экран содержимое файла a_text_file в текущем каталоге.
5. Команда cp
Вы можете копировать файлы и каталоги с помощью команды cp. Типичный пример использования: cp file_a file_1_copy или cp directory_a dir_a_copy . Не забудьте указать нужные пути, если вы копируете что-то в другое местоположение.
6. Команда mv
Команда mv используется для того, чтобы переместить или переименовать каталоги и файлы. Для переименования файла используйе команду mv old_name new_name . Подробнее о команде mv вы можете почитать здесь.
7. Команда rm
Команда rm используется для удаления каталога или файла. Например, используйте rm -r /tmp/backup для удаления всего в этом каталоге. Конечно, вы должны проявить осторожность, если вознамерились что-то удалить безвозвратно.
8. Команда mkdir
mkdir используется в Linux для создания нового каталога. Например, команда mkdir my_new_dir создаст новый каталог с именем my_new_dir. Аргумент -p можно использовать для того, чтобы команда типа mkdir -p mydir2/mysubdir2/threedirsdeep автоматически создавала родительские директории, ежели таковые не существуют.
9. Команда rmdir
Если вам нужно удалить каталог, используете команду rmdir. Например, rmdir my_dir . Подробнее о команде rmdir можете прочитать здесь.
10. Команда touch
Команда touch подобна команде mkdir, только используется для создания файлов. С ее помощью вы можете создать пустой файл. Например, команда touch
/Public/index.html создаст пустой файл index.html в каталоге Public.
11. Команда ln
Эта команда используется для создания ссылок на файлы или каталоги. Например, если вам нужно чтобы при обращении к каталогу /var/www фактически происходил переход в каталог /tmp , выполните следующую команду:
Для того, чтобы разорвать эту символическую ссылку, используйте команду
Вы должны быть очень осторожны с заданием полных путей и завершающих слэшей при создании и удалении символических ссылок.
12. Команда sudo
sudo — очень важная, но потенциально опасная программа. Поэтому при попытке ее использования вы можете получить ответ вида Permission denied , Authorization failed или еще что-то в таком же роде.
Например, предположим, что в каталоге /var/www запрещена запись для обычных пользователей. В таком случае чтобы создать пустой файл index.html в каталоге /var/www, используйте команду sudo touch /var/www/index.html .
13. Команда head
Если вы хотите просмотреть несколько начальных строк файла (любого типа), можете воспользоваться командой head. Хорошим практическим примером может служить
По этой команде на stdout будут выведены первые 20 строк файла rsyslogd. По умолчанию команда head выводит на экран первые 10 строк.
14. Команда tail
Она подобна команде command, но выводятся 10 (по умолчанию) последних строк указанного файла. Вот пример того, как вывести на экран 30 последних строк протокола работы ядра.
15. Команда chmod
Это тоже очень важная команда, используемая для изменения режима доступа к файлам и каталогам. Полное ее описание очень длинно, я здесь дам только самую краткую справку о ней.
Существуют три основных вида разрешений на доступ: право читать (read), право писать (write) и право исполнять (execute). Каждое из этих разрешений обозначается числом:
- 4 для разрешения читать (просматривать) файл или каталог
- 2 для разрешения писать, то есть вносить изменения с содержание файла или каталога
- 1 для разрешения исполнять
То есть если вы хотите установить на файл право чтения и записи, вы должны выполнить команду
Если вы хотите сделать скрипт исполняемым, нужно выполнить команду
Здесь (прим.переводчика: речь, конечно, идет о том сайте, где опубликована оригинальная статья) скоро будет опубликовано полное описание команды chmod, с рассказом о всех деталях ее использования.
16. Команда md5sum
Иногда вам нужно проверить, был ли файл каким-то образом изменен. Для этого можно использовать команду md5sum, которая хотя и не является самой надежной, но, безусловно, используется наиболее часто.
Простой пример нахождения контрольной суммы ISO-файла:
Длинная строка из букв и цифр — это md5-хэш этого конкретного файла, если совпадают первый и два последних символа, этого досточно.
17. Команда locate
Это основная команда для поиска файлов и каталогов в Linux. Поскольку ее работа основана на использовании базы данных, вы вначале должны создать такую базу с помощью команды sudo updatedb , что займет у вас несколько минут.
Типичный пример поиска с помощью этой команды выглядит примерно так:
Команда позволяет использовать символы-заменители, а параметр -i позволяет игнорировать регистр символов.
18. Команда df
Эта команда используется в тех случаях, когда требуется проверить использование дискового пространства в Linux-системе. Наиболее часто используемый вариант выглядит так, как показано в следующем примере, с применением параметра -h .
19. Команда du
Если вы хотите узнать, сколько места на диске занимает какой-то файл или каталог, используйте команду du .
Пример применения этой команды по отношению к отдельному файлу выглядит следующим образом:
В случае целой директории с учетом ее содержимого применяем такую команду:
Параметр -s используется для того отключить вывод слишком подробной информации, а параметр -h приводит к тому, что информация выдается в более удобном для чтения виде.
20. Команда free
Команда free выводит на экран количество свободной и используемой оперативной памяти в системе, а также данные об использования swap-пространства.
Снова, параметр -h можно добавить для получения удобочитаемого вывода. Подробнее об этой команде вы можете узнать из следующей статьи Check Linux memory usage with 5 command line tools.
21. Команда zip
Без сомнения вы часто создаете zip-архивы и извлекаете информацию из таких архивов. Для таких операций используются команды zip и unzip .
Скорее всего эти утилиты не установлены в вашей системе по умолчанию. В Ubuntu их можно установить с помощью команды apt .
Синтаксис создания zip-архива
Если используется параметр -9 , zip пытается максимально сжать файлы. Параметр -r используется для рекурсивного архивирования.
Команда unzip по умолчанию извлекает файлы из архива в текущую рабочую директорию (pwd). Если вы хотите, чтобы извлекаемое содержимое архива попало в определенный каталог, используйте такую команду
Существует альтернативный вариант утилиты для работы с архивами, о котором вы можете прочитать в статье 7zip Linux — create, extract and edit 7z archives.
22. Команда ifconfig
ifconfig является сокращением от interface configuration, так что эта команда может делать множество вещей, связанных с настройками сети.
Начинающий пользователь чаще всего будет использовать эту команду для выяснения того, какой сетевой интерфейс подключен и какой у него IP-адрес.
С ее помощью вы можете также выяснить, как много данных прошло через конкретный интерфейс, используя команду ifconfig следующим образом
23. Команда uname
Эта команда выведет основную информацию о вашей системе, как-то название ОС, версию ядра, имя хоста, системное время, архитектуру ОС и так далее. Пример:
Подробнее о ее параметрах вы можете узнать из соотвествующей страницы man.
24. Команда history
Как следует уже из названия, команда history выводит список ранее использованных команд, что очень полезно в тех случаях, когда вы хотите понять, что вы ранее сделали неправильно.
Вы также можете быстро найти ранее введенные команды с помощью комбинации клавиш Ctrl + R .
25. Команда man
С помощью этой команды вы можете узнать детали использования других команд.
Почти каждая команда в Linux имеет соответствующую man-страницу. Чтобы быстро просмотреть страницу man с описанием любой команды, введите man any_command . Например:
Бонус: команды завешения работы
Вы уже устали? Тогда заканчивайте работу и останавливайте вашу систему с помощью следующих консольных команд:
- shutdown -h now — выключить питание немедленно.
- shutdown -h +10 — остановить систему через 10 минут.
- reboot перезагрузить систему немедленно.
Вам может потребоваться использовать команду sudo для запуска перечисленных команд, если вы не суперпользователь. Важно также отметить, что современная команда shutdown есть просто символическая ссылка на демон инициализации systemd.
Заключение
Это пока что все относительно базовых команд Linux, надеюсь, что вам понравилось это длинное, но несколько скучноватое руководство.
Если у вас остались вопросы или предложения по перечисленным командам, пожалуйста, напишите их в комментариях к статье.
Примечание переводчика: Приведенные выше описания команд очень краткие и поверхностные. Между тем на нашем сайте вы легко найдете более полное описание любой из перечисленных выше команд, просто задав в поле «Поиск по сайту» (это поле находится в верхней части любой страницы, сразу под логотипом) что-то вроде «команда chmod» (замените имя команды на нужное).
Источник
Основные 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 — графический интерфейс
См также:
Источник