Как открыть текстовый файл в Linux
Очень часто многие пользователи Linux используют графический интерфейс своей системы как основной и при этом им этого более чем достаточно. Практически все оболочки имеют полный набор функций и параметров с помощью можно полноценно пользоваться всеми возможностями установленной операционной системы на базе ядра Linux.
Но, мы хотим большего — знать как просматривать файлы в Linux еще быстрее и удобнее. Статья ориентированна для новичков, поэтому я постараюсь как можно подробнее рассказать про самые интересные команды. Также, если учитывать то, что все логи, настройки и информация в Linux хранятся в обычных текстовых файлах, тема становится еще более интересной.
Пример мы приведем на Ubuntu. И расскажем как оптимизировать процесс просмотра файлов до максимальных значений каждый раз, когда вы включаете свой ноутбук или другое устройство.
Скажем так: Linux это очень гибкая операционная система и просмотр файлов, также можно сделать еще более быстрым чем через графический интерфейс к которому все привыкли. Давайте разберем основные команды.
Прежде чем начать, вы можете узнать о том как правильно настроить Ubuntu 17.10 после установки, чтобы система была еще производительнее чем ранее.
Просмотр файла в Linux является казалось бы понятным делом. Но сейчас мы расскажем как сделать запуск еще быстрее.
Просмотр файла в Linux полностью
Наверное, самая часто используемая утилита в таких случаях это — cat. Она позволяет сделать просмотр содержимого файла Linux сделать очень быстрым и удобным. Если конечно разобраться во всех командах.
В параметрах нужно будет указать только адрес файла, или даже нескольких файлов. Команды выглядит так:
Для того, чтобы было более понятно приведем обычный пример:
Это будет просмотр содержимого файла Linux /etc/passwd. Все очень просто. Дальше еще проще.
Также можно сделать и с несколькими файлами:
Для удобства и лучшего понимания где начинается новая строка, можете использовать эту команду:
Обычный текстовый файл, который открылся$
$
Все отлично работает.$
Также можно сделать появление табуляции, после этого все табуляции будут заменены символом ^I:
Обычный ^Iтекстовый файл, который открылся.
Далее перейдем к еще одной очень важной команде, которая сможет упростить быстрое открытие файла. Но также, все основные команды вы можете узнать если введете:
Также, стоит сказать что есть похожая утилита tac и ее главная особенность то, что она поддерживает команды из cat, только наоборот — выполняет вывод и показ информации в обратном порядке, с конца файла.
Давайте теперь перейдем к тому чтобы сделать просмотр файла в Linux через командную строку еще более удобным.
Просмотр файла в Linux с прокруткой
Бывает такое что содержимое файла очень длинное, и для таких случаев утилита cat не очень подходит. Для таких ситуаций лучше всего будет применять «less». Все делается также:
Также, есть замечательная возможность комбинирования с cat:
Например, давайте просмотрим таким образом логи X Сервер:
После этого вы сможете еще удобнее пролистывать содержимое файла в Linux с помощью клавиш «Вверх» и «Вниз». Для того чтобы закрыть файл достаточно нажать на клавиатуре клавишу q.
Также, что очень важно эта утилита может искать информацию прямо по файлу. Для поиска по файлу вам нужно будет нажать на слеш «/». О том как это сделать еще более удобно мы поговорим далее.
Просмотр только начала или конца файла
Бывают ситуации при которых нам нужно узнать только часть инфомарции которая хранится в файле. Например чтобы посмотреть что за ошибка, иногда достаточно посмотреть последние строки лога. Это очень ускоряет процесс решения вопросов. Или например просмотреть начальные строки чтобы узнать другиие особенности. Для этого также есть специальные утилиты Head и Tail(голова и хвост).
По умолчанию утилита Head показывает только десять строк файла:
Также как и в вариантах выше, есть возможность открыть сразу несколько файлов:
Удобная возможность открыть файл или файлы и вывести только по стандартному количеству строчек каждого из них также есть.
Если вы хотите указать удобное для вас количество строчек для отображения вы можете воспользоваться командной:
Здесь будет выводиться по пять строчек.
Вы можете сделать еще проще, и задать нужное количество строк с помощью этой команды:
Значение вы задаете самостоятельно в команде, как на примере выше.
Если хотите еще подсчитать количество символов и проверить правильный подсчет используйте команду:
Значение укажет сразу.
Вторая команда про которую мы говорили вначале, называется очень интересно tail. Также выводит по стандарту последние строки файла:
Параметры для этой утилиты tail задаете как для предыдущего способа. Но tail также умеет обновлять информацию постоянно, что позволяет просматривать содержимое файла, и все действия и изменения. Это очень удобно для просмотра логов в реальном времени:
Просмотр содержимого файла по шаблону
Если говорить про просмотр файлов, то обычно нам нужно узнать только несколько важных строк. Вы можете выполнить просмотр файла Linux перед этим отсеяв все лишнее с помощью Grep. Использовать нужно эту команду для открытия файла:
это также можно сделать в комбинации с утилитой cat
Как вы поняли все делается очень просто. И использую командную строку можно намного быстрые выполнять основные функции и команды по файлу.
Просмотр файлов Linux в сжатом файле
Бывает что вы находите файлы с форматом gz. Это так называемые «сжатые» файлы. Они могут использоваться для множества программ, конфигурации информации ядер и логов для программ. Для того чтобы открыть файл в Linux не распаковывая его есть огромное количество хороших утилит. Но мы расскажем только про самые удобные и понятные для новичка. Обычно используются такие как zless, zcat, zgerp и zegrep.
Чтобы открыть сжатый файл для просмотра используйте эту команду:
Или например более интересный пример, сначала распаковываем а затем копируем информацию из файла в текущую директорию:
Вы также можете использовать утилиту less для сжатых файлов:
Если вам нужно будет отфильтровать информацию в сжатом файле, то для этого также есть утилиты. Используйте zgrep и zegrep. Например, чтобы найти в сжатом файле какие-то ошибки:
Просмотр файла в Linux может быть еще быстрее. Чтобы сделать открытие файлов удобным, главное запомнить основные команды.
Выводы
Надеемся вы поняли как открыть текстовый файл в Linux если он сжатый. Делается все это очень просто. Мы рассказали про основные функции которые будут вам полезны. Также если у вас остались какие-то вопросы по этой теме — пишите их в комментарии, мы постараемся вам рассказать все детальнее.
Если статья была полезной поделитесь ссылкой в своих социальных сетях Google+, ВКонтакте, Twitter, Одноклассники или например Facebook.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Как открыть файл в терминале Linux
В Linux все настройки программ и самой операционной системы хранятся в текстовых документах. Также в текстовых документах сохраняются логи и другие необходимые данные. Поэтому при работе с Linux постоянно приходится просматривать и редактировать подобные текстовые и конфигурационные файлы.
В данной инструкции мы расскажем о том, как открыть файл в терминале Linux и какие команды для этого можно использовать. Материал будет актуален для любого дистрибутива Linux, включая Ubuntu, Debian, Kali Linux, CentOS и т.д.
Команды cat и tac
Если вам нужно открыть файл в терминале Linux, то для этого предусмотрено множество простых и эффективных способов. Пожалуй, самая часто используемая команда такого рода – это команда « cat ».
Чтобы использовать ее просто введите « cat » и название файла. Например, если вам нужно просмотреть содержимое файла « file_name.txt », то команда должна выглядеть вот так:
После выполнение данной команды все содержимое указанного файла будет выведено в терминал Linux. Данный способ вывода удобен для быстрого просмотра небольших файлов.
Также есть команда « tac », которая открывает файлы точно также как « cat », но выводит строки в обратном порядке (начиная с конца).
Команды head и tail
Если нужно открыть в терминале Linux большой файл, то вместо команды « cat » можно использовать « head » или « tail ». Данные команды выводят в терминал только часть файла. В случае « head » выводится только начало документа, а в случае « tail » только конец.
Чтобы открыть файл с помощью данной команды просто введите « head » или « tail » и название файла:
Команды more и less
Для открытия больших файлов в терминале Linux можно использовать команды « more » и « less ». Команда « more » открывает файл в терминале Linux и позволяет пролистывать его только вниз при помощи клавиш Enter (одна строка вниз) и Space (страница вниз). Пролистывания вверх нет, поэтому, если вы случайно проскочили нужное вам место в файле, то вернуться назад не получится.
Чтобы открыть файл в терминале Linux с помощью команды « more » и « less » нужно ввести следующее:
Команда « less » также позволяет открывать большие файлы в терминале Linux, но она уже предоставляет больше возможностей. С помощью « less » можно пролистывать содержимое документа как вниз ( Page Down ), так и вверх ( Page Up ), переходить в конец ( End ) и начало файла ( Home ), пролистывать текст по одной строке ( Enter ), а также выполнять поиск в обоих направлениях.
Учитывая большие возможности команды « less », для открытия файлов в терминале Linux в основном используют именно ее, а не команду « more ».
Команда most
Если возможностей « less » не хватает, то можно использовать команду « most ». Она предоставляет еще больше возможностей для открытия файлов в терминале Linux, но она может быть не установлена по умолчанию.
Команда « most » позволяет открывать сразу несколько файлов и переключаться между ними при необходимости. Также « most » позволяет редактировать текущий файл, переходить к нужной строке файла, разделять экран пополам, блокировать или пролистывать оба экрана одновременно и многое другое. По умолчанию, « most » не обертывает длинные строки, а использует горизонтальную прокрутку.
Для того чтобы открыть файл в терминале Linux с помощью « most » нужно выполнить вот такую команду:
Текстовый редактор Nano
В Ubuntu Linux текстовый редактор Nano установлен по умолчанию, но если его нет в вашей системе, то вы можете его установить следующими командами:
Чтобы открыть файл в терминале Linux при помощи редактора Nano нужно выполнить следующую команду:
Интерфейс программы Nano включает в себе верхнюю строку с информацией о редакторе и открытом файле, область редактирование с содержимым открытого файла, нижнюю панель с информацией о комбинациях клавиш.
Для управления текстовым редактором Nano используются следующие комбинации клавиш:
Как в Linux открыть файл для записи?
До этого чем ответить на заданный в заголовке вопрос, необходимо впрочем бы на начальном уровне знать принцип работы в Linux. Когда Windows диалог с пользователем осуществляет при помощи типовой графической оболочки: рабочий стол, мой компьютер, мои бумаги и т.д., то в Linux таких оболочек существует несколько и любая имеет свою специфику. Примеры оболочек — KDE, GNOME, Xfce. В различие от графической оболочки, относительно универсальным способом управления в Linux представляется Консоль. Именно ее называют сердцем Linux. Прошли те эпохи, когда для управления операционной системой Linux нуждалось знание командной строки. Сегодня в распоряжении юзеров Linux несколько отличных графических интерфейсов (собственно я предпочитаю GNOME). Однако необязательное не означает ненужное — знание команд открывает мощные возможности опции и управления системой. Время, вложенное в изучение бригад, окупится сторицей. Ниже несколько полезных бригад. В Ubuntu Linux операции, требующие полномочий админа, должны предваряться командой sudo.
Команды работы с файлами в Linux
Создать файл в нынешном каталоге:
touch имя_файла.txt
Найти файл:
locate имя_файла
одновить базу поиска файлов:
updatedb
Просмотреть текстовой файл:
cat /путь/имя_файла
Просмотреть текстовый файл в оборотном порядке — от последней строки к первой:
tac /путь/имя_файла
Перекопировать файл_1 в файл_2:
cp файл_1 файл_2
Перегнать файл_1 в файл_2:
mv файл_1 файл_2
Перегнать файл с сохранением оригинала (в конец имени файла дописывается знак
Открытие файла в Linux в графической оболочке
Так для открытия файла с информацией о типе процессора чрез Консоль необходимо ввести команду
]$ cat /proc/cpuinfo (после cat — пробел).
Содержание файла отобразиться на экране. Таким же образом возможно открыть файл, содержащий информацию о памяти ПК (сat /proc/meminfo). Открыть файлы в Linux возможно и через графическую оболочку. В большинстве оболочек (KDE, GNOME) есть автоматическая привязка расширения файла к соответствующей програмке. Если файл не открывается двойным кликом, значивает такая привязка отсутствует. Сделать ее самостоятельно — сложная процедура. Поэтому проще сначала открыть програмку, а затем через нее — нужный файл либо, щелкнув левой кнопкой мыши, выбрать «открыть с помощью…» и отыскать программу из расширенного списка. На этом краткий ввод в то как раскрыть файл в Linux можно считать законченным. Полагаемся, что обзор поможет Вам в освоении открытых операционных систем.
Переадресовывание вывода команды в файл в Linux
Для переадресовывания вывода команды в файл используется запись варианта >имя_файла или >>имя_файла. Например:
echo «Единожды, в студёную зимнюю пору» >poetry.txt
echo «Я из бору вышел, был сильный мороз.» >>poetry.txt
Первоначальная команда создаст в текущем каталоге файл с именем poetry.txt (либо, если файл с таким именем уже существует, удалит его и создаст новый файл с подобным названием) и запишет в этот файл строку контента, являющуюся первой строкой стихотворения. Вторая бригада, если файл с названием poetry.txt не существует, основывает такой файл, а если файл существует, то раскроет его для записи, и запишет в его конец вторую строку стишка.
Выполнение команд из файла в Linux
В этом примере будет создан текстовый файл, воображающий собою shell-скрипт, содержащий две команды. Первая вводит на терминал содержимое текущего каталога, а вторая вводит на терминал надпись «Hello, World!». Первоначальной строкой файла является запись комментария в особом формате, которая указывает командной оболочке shell путь к интерпретатору охватываемого файла, и таким образом, этот скрипт возможно сделать исполняемым файлом, добавив в его свойства свойство x:
chmod +x myscript.sh
./myscript.sh
Бригадой sh myscript.sh запускается командная оболочка shell, какой в качестве аргумента указан файл скрипта myscript.sh. Так же можено перепоручить вывод команды в файл:
$ cat file > copy_file
или приплюсовать к нему
$ cat file >> copy_file
Когда вы хотите написать напрямую, команда echo ‘text’
$ echo ‘Hello World’ > file
Раскрыть файл для редактирования в Linux
Консольная soft less является расширенной версией программы more, какая позволяла просматривать файл только в одном направленности — от начала файла к его концу. То что less позволяет рассматривать файлы и в обратном направлении, послужило основой для её наименования less (англ. меньше). Чтобы раскрыть файл для редактирования в less, используется следующий синтаксис:
Как открыть текстовый файл в Linux
В Linux все настройки, все логи, и почти вся информация хранится в обычных текстовых файлах. Важно уметь правильно и эффективно посмотреть содержимое файла linux с помощью терминала. Это еще одна из статей, ориентированных на новичков.
Просмотр файла в Linux полностью
Самая простая и в то же время наиболее часто используемая утилита для просмотра содержимого файла в Linux это cat. Выводит все содержимое файла в стандартный вывод. В параметре нужно передать только адрес файла, или нескольких файлов. Идеально подходит для просмотра небольших файлов. Общий синтаксис команды cat такой:
Например просмотр содержимого файла linux /etc/passwd:
Также можно посмотреть сразу несколько файлов:
cat /etc/passwod /etc/group
Если файл доступен только для пользователя root, то нужно перед командой написать sudo:
sudo cat /etc/shadow
Опция -n включает нумерацию строк:
А также отображение табуляций, все табуляции будут заменены на символ ^I:
Больше о ней говорить не будем, потому что большинство её опций направлены на форматирование вывода, более подробную информацию вы можете посмотреть в статье: Команда cat в Linux.
Просмотр файла в Linux с прокруткой
Если файл очень длинный и его содержимое не помещается на одном экране, cat использовать не очень удобно. для таких случаев есть less. Синтаксис тот же:
$ less опции файл
Также ее можно комбинировать с cat:
$ cat адрес_файла | less
Например, посмотрим лог Х сервера:
Теперь мы можем листать содержимое файла в Linux с помощью стрелок вверх-вниз. Для того чтобы выйти нажмите q. Также эта утилита поддерживает поиск. Для поиска по файлу нажмите слеш «/». О более правильном способе поиска мы поговорим дальше.
Просмотр только начала или конца файла
Очень часто нам не нужен файл целиком. Например, достаточно посмотреть несколько последних строчек лога, чтобы понять суть ошибки, или нужно увидеть только начало конфигурационного файла. Для таких случаев тоже есть команды. Это head и tail (голова и хвост).
По умолчанию head открывает текстовый файл в Linux и показывает только десять первых строчек переданного в параметре файла:
Можно открыть сразу два текстовых файла в Linux одновременно аналогично cat:
head /etc/passwd /etc/group
Так можно открыть текстовый файл linux или несколько и вывести по десять первых строчек каждого из них.
Тот же результат можно получить опустив букву n и просто передав цифру в качестве ключа:
Тоже хотите подсчитать действительно ли там 45 символов? Используйте команду wc:
Команда tail наоборот, выводит 10 последних строк из файла:
Просмотр содержимого файла с поиском
В большинстве случаев нам нужен не полностью весь файл, а только несколько строк, с интересующей нас информацией. Можно выполнить просмотр файла linux предварительно отсеяв все лишнее с помощью grep. Сначала синтаксис:
$ grep опции шаблон файл
Или в комбинации с cat:
$ cat файл | grep опции шаблон
Например выведем из лога только предупреждения:
cat /var/log/Xorg.0.log | grep WW
Но это еще не все, многие не знают, но у этой утилиты еще несколько полезных опций.
С помощью опции -A можно вывести несколько строк после вхождения:
Также с помощью grep можно подсчитать количество найденных строк:
cat /var/log/Xorg.0.log | egrep ‘WW|EE’
В примерах этого раздела использовались символы перенаправления ввода, подробнее о них можно почитать в этой статье.
Просмотр файлов Linux в сжатом виде
Иногда можно встретить в системе текстовые файлы в сжатом виде, формате gz. Это, например, конфигурационный файл ядра, или логи некоторых программ. Для того чтобы открыть файл в linux через терминал не распаковывая его есть целый ряд аналогов вышеописанных утилит с приставкой z. Это zcat, zless, zgerp, zegrep.
Например, открываем сжатый файл для просмотра:
Или более практичный пример, распаковываем и копируем конфигурационный ядра в текущую директорию:
Так же можно использовать less, для просмотра сжатых файлов с прокруткой:
А для фильтрации сжатых файлов по шаблону есть zgrep и zegrep. Например, ищем в сжатом логе ошибки:
zgrep ‘EE’ /var/log/Xorg.log.gz
Редактирование файлов в Linux
$ nano /путь/к/файлу
sudo nano /etc/default/grub
Для большинства файлов в директории /etc/ запись доступна только пользователю root. Поэтому команду надо выполнять от имени суперпользователя с помощью sudo. После нажатия клавиши Enter утилита запросит пароль. Введите его, несмотря на то, что символы пароля не отображаются, это нормально. После внесения изменений сохраните их с помощью сочетания клавиш Ctrl + O.
Аналогично, можно открыть этот же файл в текстовом редакторе:
sudo gedit /etc/default/grub
Открывать подобные файлы из файлового менеджера не надо, вы сможете их открыть для просмотра, но при попытке записать в них что-то получите ошибку, лучше пользоваться терминалом.
Выводы
Вот и все. Разобрал все достаточно подробно. Теперь вы точно знаете как правильно открыть файл в терминале 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) — система перебирает все файлы / папки в текущей директории.
Это очень удобно, когда перемещаешься в командной строке. Не надо вспоминать точное название папки, но можно вспомнить первую букву-две, это сократит количество вариантов.
Подняться наверх
Подняться на уровень выше:
Если нужно поднять на два уровня выше, то
И так до бесконечности =) Можно использовать файл, лежащий на уровне выше или просто сменить директорию.
Как создать директорию
Используйте команду mkdir:
Можно и в другом месте создать папку:
Когда это нужно? Например, если вам надо сделать бекап логов. Создаете папку и сохраняете туда нужные логи. Или если вы читаете инструкцию по установке ПО и видите там «создать папку». Через командную строку это делается именно так.
Как создать файл
Такая команда создаст пустой файл с названием «app.log». А потом уже можно открыть файл в редакторе и редактировать.
Как отредактировать файл
Вот честное слово, лучше делать это через графический интерфейс!
Но если такой возможности нет, чтож… Если использовать программы, которые есть везде, то у вас два варианта:
Для перемещения по файлу используйте кнопки со стрелками. После того, как закончите редактировать файл, нажмите:
А вот с vim с этим сложнее. В него легко зайти:
Войти вошли, а как выйти то, аааа? Тут начинается легкая паника, потому что ни одна из стандартных комбинаций не срабатывает: Esc, ctrl + x, ctrl + q… Если под рукой есть второй ноутбук или хотя бы телефон / планшет с интернетом, можно прогуглить «как выйти из vim», а если у вас только одно окно с терминалом, которое вы заблокировали редактором?
Делюсь секретом, для выхода надо набрать:
Исходно, когда мы открываем файл через 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:
Как запустить приложение
Чтобы запустить скрипт, нужно указать полный путь к нему:
Это важно! Даже если вы находитесь в той папке, где и скрипт, он не будет найден, если просто указать название sh-скрипта. Надо написать так:
Поиск идет только в каталогах, записанных в переменную PATH. Так что если скрипт используется часто, добавляйте путь туда и вызывайте просто по названию:
Если же приложение запускается как сервис, то все еще проще:
Чтобы сервис test запускался автоматически при рестарте системы, используйте команду:
Она добавит службу в автозапуск.
Как понять, где установлено приложение
Вот, например, для интеграции Jenkins и newman в Jenkins надо прописать полный путь к ньюману в параметре PATH. Но как это сделать, если newman ставился автоматически через команду install? И вы уже забыли, какой путь установки он вывел? Или вообще не вы ставили?
Чтобы узнать, куда приложение установилось, используйте whereis (без пробела):
Как создать архив
Стандартная утилита, которая будет работать даже на «голой» системе — tar. Правда, для ее использования надо запомнить флаги. Для создания архива стандартная комбинация cvzf:
В данном примере мы упаковали директорию /home/test, внутри которой было две картинки — 502.jpg и 504.jpg.
Для распаковки меняем флаг «c» на «x» и убираем «z»:
Хотя система пишет, что распаковала «/home/test», на самом деле папка «test» появляется там, где мы сейчас находимся.
Давайте разберемся, что все эти флаги означают:
Если очень хочется использовать 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. Создадим в ней сотню директорий и кучу файликов в каждой:
Вот и все, дальше можно играться с ними!
Ага, в домашней директории. Создам себе песочницу:
Вот в ней и буду творить!
А потом можно проверить, что получилось:
Как-то так! Имхо, полезные команды.
Я нашла их в книге «Командная строка Linux. Полное руководство», они используются для того, чтобы создать песочницу для прощупывания команды find. Я, как и автор, восхищаюсь мощью командной строки в данном случае. Всего 2 строчки, а сколько боли бы принесло сделать похожую структуру через графический интерфейс!
И, главное, тестировщику полезно — может пригодиться для тестов.
Как протестировать IOPS на Linux
Это очень полезно делать, если машину вам дает заказчик. Там точно SSD-диски? И они дают хороший iops? Если вы разрабатываете серверное приложение, и от вас требуют выдерживать нагрузку, нужно быть уверенными в том, что диски вам выдали по ТЗ.
Наше приложение активно использует диск. Поэтому, если заказчик хочет видеть хорошие результаты по нагрузке, мы хотим видеть хорошие результаты по производительности самих дисков.
Но верить админам другой стороны на слово нельзя. Если приложение работает медленно, они, разумеется, будут говорить, что у них то все хорошо, это «они» виноваты. Поэтому надо тестировать диски самим.
Я расскажу о том, как мы тестировали диски. Как проверили, сколько IOPS они выдают.
1) Скачиваем последнюю версию, распаковываем, переходим в каталог. В командах ниже нужно заменить «fio-3.19» на актуальную версию из списка
2) Должны стоять пакеты для сборки
Какие должны быть результаты:
Если должно быть 50 тысяч, а диск выдает сильно меньше, то:
— он не SSD;
— есть сетевые задержки;
— неправильно примонтирован;
— с ними что-то еще плохое случилось и стоит поднять алярм.
И это все?
Еще полезно изучить команду find и регулярные выражения. Тестировщику как минимум надо уметь «грепать логи» — использовать grep. Но это уже остается на самостоятельный гуглеж.
База, которая всегда нужна — pwd, cp, mv, mkdir, touch. Остальное можно легко гуглить, как только возникает необходимость.
Вот вам еще пара ссылочек от меня:
Книги и видео по теме
Где тренироваться
Можно поднять виртуалку. Правда, тут сначала придется разбираться, как поднимать виртуалку )))
А можно купить облачную машину. Когда мне надо было поиграться с линуксом, я пошла на SimpleCloud (он мне в гугле одним из первых выпал и у него дружелюбный интерфейс. Но можно выбрать любой аналог) и купила самую дешманскую машину — за 150 руб в месяц. Месяца вам за глаза, чтобы «пощупать-потыркать», и этой машины с минимумом памяти тоже.
У меня был когда-то план самой платить эти 150р за то, чтобы дать машину в общий доступ. Но увы. Как я не пыталась ее огородить (закрывала команды типа ssh, ping и прочая), у меня не получилось. Всегда есть люди, которых хлебом не корми, дай испортить чужое. Выложил в общий доступ пароли? На тебе ддос-атаку с твоего сервера. Ну и сервер блокируют. После N-ой блокировки я плюнула на это дело. Кто хочет научиться, найдет 150р.
Чтобы подключиться к машине, используйте инструменты: