Linux открыть большой текстовый файл
Очень часто многие пользователи Linux используют графический интерфейс своей системы как основной и при этом им этого более чем достаточно. Практически все оболочки имеют полный набор функций и параметров с помощью можно полноценно пользоваться всеми возможностями установленной операционной системы на базе ядра Linux.
Но, мы хотим большего — знать как просматривать файлы в Linux еще быстрее и удобнее. Статья ориентированна для новичков, поэтому я постараюсь как можно подробнее рассказать про самые интересные команды. Также, если учитывать то, что все логи, настройки и информация в Linux хранятся в обычных текстовых файлах, тема становится еще более интересной.
Пример мы приведем на Ubuntu. И расскажем как оптимизировать процесс просмотра файлов до максимальных значений каждый раз, когда вы включаете свой ноутбук или другое устройство.
Скажем так: Linux это очень гибкая операционная система и просмотр файлов, также можно сделать еще более быстрым чем через графический интерфейс к которому все привыкли. Давайте разберем основные команды.
Прежде чем начать, вы можете узнать о том как правильно настроить Ubuntu 17.10 после установки, чтобы система была еще производительнее чем ранее.
Просмотр файла в Linux является казалось бы понятным делом. Но сейчас мы расскажем как сделать запуск еще быстрее.
Просмотр файла в Linux полностью
В параметрах нужно будет указать только адрес файла, или даже нескольких файлов. Команды выглядит так:
Для того, чтобы было более понятно приведем обычный пример:
Это будет просмотр содержимого файла Linux /etc/passwd. Все очень просто. Дальше еще проще.
Также можно сделать и с несколькими файлами:
Опция -n включает специальную нумерацию строк:
cat -n /var/log/Xorg.0.log
Для удобства и лучшего понимания где начинается новая строка, можете использовать эту команду:
Обычный текстовый файл, который открылся$
$
Все отлично работает.$
Также можно сделать появление табуляции, после этого все табуляции будут заменены символом ^I:
Обычный ^Iтекстовый файл, который открылся.
Далее перейдем к еще одной очень важной команде, которая сможет упростить быстрое открытие файла. Но также, все основные команды вы можете узнать если введете:
Также, стоит сказать что есть похожая утилита tac и ее главная особенность то, что она поддерживает команды из cat, только наоборот — выполняет вывод и показ информации в обратном порядке, с конца файла.
Давайте теперь перейдем к тому чтобы сделать просмотр файла в Linux через командную строку еще более удобным.
Просмотр файла в Linux с прокруткой
Также, есть замечательная возможность комбинирования с cat:
Например, давайте просмотрим таким образом логи X Сервер:
Просмотр только начала или конца файла
Бывают ситуации при которых нам нужно узнать только часть инфомарции которая хранится в файле. Например чтобы посмотреть что за ошибка, иногда достаточно посмотреть последние строки лога. Это очень ускоряет процесс решения вопросов. Или например просмотреть начальные строки чтобы узнать другиие особенности. Для этого также есть специальные утилиты Head и Tail(голова и хвост).
По умолчанию утилита Head показывает только десять строк файла:
Также как и в вариантах выше, есть возможность открыть сразу несколько файлов:
Удобная возможность открыть файл или файлы и вывести только по стандартному количеству строчек каждого из них также есть.
Если вы хотите указать удобное для вас количество строчек для отображения вы можете воспользоваться командной:
Здесь будет выводиться по пять строчек.
Вы можете сделать еще проще, и задать нужное количество строк с помощью этой команды:
Также можно указать количество байт с помощью опции -c для этого есть команды:
Значение вы задаете самостоятельно в команде, как на примере выше.
Если хотите еще подсчитать количество символов и проверить правильный подсчет используйте команду:
head -c45 /var/log/emerge.log | WC -C
Значение укажет сразу.
Вторая команда про которую мы говорили вначале, называется очень интересно tail. Также выводит по стандарту последние строки файла:
Параметры для этой утилиты tail задаете как для предыдущего способа. Но tail также умеет обновлять информацию постоянно, что позволяет просматривать содержимое файла, и все действия и изменения. Это очень удобно для просмотра логов в реальном времени:
Просмотр содержимого файла по шаблону
Если говорить про просмотр файлов, то обычно нам нужно узнать только несколько важных строк. Вы можете выполнить просмотр файла Linux перед этим отсеяв все лишнее с помощью Grep. Использовать нужно эту команду для открытия файла:
это также можно сделать в комбинации с утилитой cat
Как вы поняли все делается очень просто. И использую командную строку можно намного быстрые выполнять основные функции и команды по файлу.
Просмотр файлов Linux в сжатом файле
Чтобы открыть сжатый файл для просмотра используйте эту команду:
Или например более интересный пример, сначала распаковываем а затем копируем информацию из файла в текущую директорию:
Вы также можете использовать утилиту less для сжатых файлов:
Если вам нужно будет отфильтровать информацию в сжатом файле, то для этого также есть утилиты. Используйте zgrep и zegrep. Например, чтобы найти в сжатом файле какие-то ошибки:
Просмотр файла в Linux может быть еще быстрее. Чтобы сделать открытие файлов удобным, главное запомнить основные команды.
Выводы
Надеемся вы поняли как открыть текстовый файл в Linux если он сжатый. Делается все это очень просто. Мы рассказали про основные функции которые будут вам полезны. Также если у вас остались какие-то вопросы по этой теме — пишите их в комментарии, мы постараемся вам рассказать все детальнее.
Если статья была полезной поделитесь ссылкой в своих социальных сетях Google+, ВКонтакте, Twitter, Одноклассники или например Facebook.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
В эпоху большого количества информации, большие файлы (размером больше 500 Мб) могут встречаться очень часто. Предположим что вам нужно найти информацию или отредактировать такой файл, но обычные текстовые редакторы не приспособлены для этой задачи и могут просто зависнуть при попытке открыть файл размером несколько гигабайт из-за нехватки памяти.
Если вы опытный системный администратор вы можете открыть такой файл используя комбинацию консольных команд cat, tail, grep, sed, awk и т д. В этой статье я расскажу о более дружелюбных способах открытия и редактирования больших файлов в Linux.
Сначала давайте создадим текстовый файл для экспериментов размером 500 Мб. Для этого воспользуемся командой:
yes "losst.ru " | head -c 500MB > test.txt
1. Большие файлы в Vim
У текстового редактора Vim есть множество различных плагинов или скриптов которые расширяют его функциональность. Одним из таких плагинов есть LargeFile Plugin.
Этот плагин ускоряет загрузку и редактирование больших файлов путем отключения таких дополнительных функций Vim как события, отмена последнего действия, подсветка синтаксиса и т д.
Чтобы установить LargeFile plugin сначала необходимо установить vim, если он еще не установлен. Для Debian, Ubuntu, Linux Mint:
sudo apt install vim
В Fedora, ContOS, или RHEL:
sudo yim install vim-enhanced
Теперь скачайте плагин с официального сайта последняя версия на данный момент 5. Для установки в домашнюю директорию вы можете открыть vba файл расширения с помощью vim:
Наберите :so % и нажмите Enter, чтобы Vim установил расширение в домашнюю папку. Затем можете набирать :q для выхода. Плагин будет установлен в
/.vim/plugin/LargeFile.vim и вы сможете его использовать.
Когда большой файл загружается в vim этот плагин отключает события, отмену действий и подсветку синтаксиса. По умолчанию большими файлами считаются файлы размером более 100 Мб. Чтобы изменить эту настройку нужно отредактировать файл
/.vimrc. Например, будем считать большими файлы больше 10 Мб:
Несмотря на то что плагин LargeFile может ускорить загрузку и просмотр больших файлов сам vim справляется с редактированием больших файлов не очень хорошо потому что он пытается загрузить файл целиком в оперативную память. Например при загрузке моего текстового файла размером 500 Мб утилита будет занимать достаточно много оперативной памяти:
При этом на открытие файла ушло примерно 10-15 секунд. Так что если ваши файлы имеют размер больше чем количество оперативной памяти вам необходимо рассматривать другие варианты.
2. Glogg Log Explorer
Если все что вам нужно это просмотр содержимого файла и вы не собираетесь его редактировать вы можете использовать Glogg. Это анализатор логов с графическим интерфейсом. Glogg поддерживает фильтрацию вывода с помощью расширенных регулярных выражений и масок.
Для установки Glogg в Debilan (Wheezy и выше) Ubuntu и Linux Mint наберите:
sudo apt install glogg
Для установки в Fedora:
sudo yum install glogg
Для открытия текстового файла просто выполните:
Glogg открывает большие файлы очень быстро. Мой тестовый файл открылся практически мгновенно:
Вы можете ввести регулярное выражение в текстовое поле и и нажать поиск. Поддерживается поиск с учетом регистра, результаты поиска вы увидите в нижнем окне.
По сравнению с Vim, Glogg более легкий, для загрузки файла журнала размером 500 Мб было использовано всего лишь 141 Мб оперативной памяти.
3. JOE Text Editor
JOE это легкий консольный текстовый редактор выпущенный под лицензией GPL. JOE один из немногих текстовых редакторов поддерживающих работу с большими файлами. С его помощью можно открывать и редактировать файлы намного большего размера чем размер оперативной памяти.
К тому же JOE поддерживает множество мощных функций для редактирования текста, таких как: безопасное редактирование, поиск и замена по регулярным выражениям, неограниченная отмена и повтор операций, подсветка синтаксиса и т д.
Для установки JOE в Debian, Ubuntu, или Linux Mint наберите:
sudo apt install joe
Для Fedora, CentOS или RHEL:
sudo yum install joe
Чтобы открыть текстовый файл для редактирования выполните:
Загрузка больших файлов в JOE происходит немного медленнее чем в Glogg. На загрузку файла размером 500 Мб ушло примерно 15 секунд. Но это не так уж плохо учитывая что сразу после загрузки файл можно полноценно редактировать.
Потребление памяти JOE впечатляет. На загрузку и редактирование текстового файла размером 500 Мб было использовано 53 Мб физической памяти.
Если вам известный еще какой нибудь способ редактировать большие файлы, сообщите нам в комментариях.
Проблема: Есть большой файл (порядка 500 мегов). По сути это SQL дамп базы данных. Необходимо просто открыть его и поменять в заголовке парочку слов(кодировку). Все хорошо, но любимый vim почему-то не хочет открывать такой большой файл? Тупит по долгу, а когда все-таки откроет тормозит безбожно.
Подскажите, пожалуйста, чем можно редактировать большие текстовые файлы?
К сожалению, это лишь для чтения, а мне нужно редактирование.
echo для чтения? man
емаксом попробуй =) я 300-метровый дамп емаксом открывал.
dd if=somefile.sql of=head.sql bs=1M count=сколько-надо dd if=somefile.sql of=tail.sql bs=1M skip=сколько-надо vim head.sql cat head.sql tail.sql > somefile.sql
З.Ы. может открыть его в vi? (именно в vi а не в vim)
sed'ом получилось. Спасибо!
Использовал команду: sed -i '1,15s/SET NAMES utf8/SET NAMES cp1251/' dump.bk
но вот в чем вопрос: хотя и указал что меня интересуют как максимум первые 15 строчек - все равно sed прочитал весь файл (ощутимо по времени). Что было не верно?
Поменять пару слов? Присоединяюсь к sdio - sed.
sed -- stream editor.
Он редактирует в потоке, т.е. читает файл по кускам, изменяет и записывает заново. Поскольку совпадение может быть в любом месте файла, то и прочитать его надо весь.
Редактирование в потоке -- та вещь, которую в вантузе недооценивают: зачем-то ищут редакторы, способные сожрать весь файл сразу, когда в потоке можно редактировать файлы неограниченной длины.
есть команда q
можно было бы дать команду 16q
но я не уверен что будет результатом, возможно от файла останутся только первые 15 строк :-)
надо проверить
У меня есть 4 GiB TXT файл, который мне нужно просмотреть.
Когда я пытаюсь открыть его в Gedit, он загружается некоторое время, а затем вылетает.
У вас есть идеи текстового редактора, который я могу использовать для просмотра этого файла. Моя ОС - Fedora 20.
Попробуйте Глогг. Это прекрасно сработало для меня.
Не текстовые редакторы, но в командной строке tail -n 100 ./file.txt вы получите последние 100 строк файла, head -n 100 ./file.txt предоставит вам первые 100 строк.
vim в буферах командной строки при чтении файла (он не открывает его за один раз), поэтому он также эффективен.
Вы можете установить Midnight Commander.
Debian, Ubuntu и т.д.:
Red Hat, CentOS, Fedora и т.д.:
Вы можете запустить Midnight Commander из CLI с помощью команды mc . После этого вы можете выбрать и открыть любой файл в "режиме просмотра" ( F3 ) или в "режиме редактирования" ( F4 ).
mc гораздо более эффективен при открытии и просмотре больших файлов, чем vim . Я проверял это сам.
Если вы хотите просмотреть очень большой файл в своем любимом редакторе, не беспокоясь об ограничениях, связанных с оперативной памятью, я предлагаю вам разбить файл с помощью команды split :
Вышеупомянутый cammand разбивает файл на 8 частей.
Конечно, это решение будет проверять только для некоторых приложений. Обратите внимание, что не каждый файл сохраняет свою согласованность после разделения (например, XML нет). Все зависит от того, что вы хотите сделать с данным файлом.
Если просмотр - это все, что вам нужно, вы можете использовать less , который должен быть включен в ваш дистрибутив. Я часто просматриваю файлы размером с терабайт. Существуют также варианты zless и bzless для файлов gzipped/bz2.
emacs также должен работать с большими файлами (в качестве альтернативы vim).
nano - это еще одна альтернатива vim , которую я нахожу более простой в использовании для основных задач в конфигурации по умолчанию. В коротком тестовом прогоне я смог успешно просмотреть файл размером 1 ГБ, однако его открытие заняло более 30 секунд (однако после этого он работает довольно плавно).
Я только что решил эту проблему - мне нужно просматривать большие файлы журнала. Я попытался Gedit, но он не смог открыть. Vim работал, но я хочу прокрутить. Я также попытался установить gglog, но он не обеспечивает функцию переноса строк, и мои журналы являются jsonlines, поэтому строки длинные, а перенос - важен.
Наконец, я неожиданно обнаружил, что браузер проще всего использовать. Я проверил и Firefox и Chromium. Они работают отлично. Я могу довольно удобно прокручивать свои большие журналы и даже искать слова. Поэтому я советую использовать любой приличный браузер для просмотра таких файлов.
В Linux все настройки программ и самой операционной системы хранятся в текстовых документах. Также в текстовых документах сохраняются логи и другие необходимые данные. Поэтому при работе с Linux постоянно приходится просматривать и редактировать подобные текстовые и конфигурационные файлы.
В данной инструкции мы расскажем о том, как открыть файл в терминале Linux и какие команды для этого можно использовать. Материал будет актуален для любого дистрибутива Linux, включая Ubuntu, Debian, Kali Linux, CentOS и т.д.
Команды cat и tac
Если вам нужно открыть файл в терминале Linux, то для этого предусмотрено множество простых и эффективных способов. Пожалуй, самая часто используемая команда такого рода – это команда « cat ».
Чтобы использовать ее просто введите « cat » и название файла. Например, если вам нужно просмотреть содержимое файла « file_name.txt », то команда должна выглядеть вот так:
После выполнение данной команды все содержимое указанного файла будет выведено в терминал Linux. Данный способ вывода удобен для быстрого просмотра небольших файлов.
При использовании команды « cat » может понадобиться нумерация строк. В этом случае команду нужно вводить с параметром « -n ».
Также есть команда « tac », которая открывает файлы точно также как « cat », но выводит строки в обратном порядке (начиная с конца).
Обратите внимание , для того чтобы узнать больше о « cat » и « tac », а также других командах Linux, введите в терминал « man » (от англ. manual) и через пробел название интересующей вас команды, например, « man tac ». Это выведет подробную информацию о команде и список всех поддерживаемых параметров.
Команды head и tail
Если нужно открыть в терминале Linux большой файл, то вместо команды « cat » можно использовать « head » или « tail ». Данные команды выводят в терминал только часть файла. В случае « head » выводится только начало документа, а в случае « tail » только конец.
Чтобы открыть файл с помощью данной команды просто введите « head » или « tail » и название файла:
По умолчанию команды « head » и « tail » выводят по 10 строк с начала или конца файла. Но, при необходимости это значение можно изменить при помощи параметра « -n ». Для этого вводим « -n » и число строк (не отделяя пробелом). Выглядит это примерно так:
Кроме этого, вы можете ограничить количество информации, которую выводят команды « head » и « tail », указав значение в байтах. Для этого нужно использовать параметр « -c ». Например, чтобы вывести 100 байт нужно добавить параметр « -c » и указать значение 100 (не отделяя пробелом). Выглядит это примерно так:
Команды « head » и « tail » имеют общий набор параметров, но у « tail » есть уникальный параметр « -f », которого нет у « head ». При вызове « tail -f file_name.txt » выводимая информация будет автоматически обновляться. Это может быть удобно для наблюдения за логами.
Команды more и less
Для открытия больших файлов в терминале Linux можно использовать команды « more » и « less ». Команда « more » открывает файл в терминале Linux и позволяет пролистывать его только вниз при помощи клавиш Enter (одна строка вниз) и Space (страница вниз). Пролистывания вверх нет, поэтому, если вы случайно проскочили нужное вам место в файле, то вернуться назад не получится.
Чтобы открыть файл в терминале Linux с помощью команды « more » и « less » нужно ввести следующее:
Команда « less » также позволяет открывать большие файлы в терминале Linux, но она уже предоставляет больше возможностей. С помощью « less » можно пролистывать содержимое документа как вниз ( Page Down ), так и вверх ( Page Up ), переходить в конец ( End ) и начало файла ( Home ), пролистывать текст по одной строке ( Enter ), а также выполнять поиск в обоих направлениях.
Для того чтобы выполнить поиск после выполнения « less » нужно ввести слеш ( / ) и любой кусок текста. Чтобы перейти к следующему найденному отрывку нужно нажать N , а Shift-N возвращает к предыдущему найденному отрывку. Для поиска в обратном направлении вместо знака слеш ( / ) нужно вводить знак вопроса ( ? ) и после этого любой текст.
Учитывая большие возможности команды « less », для открытия файлов в терминале Linux в основном используют именно ее, а не команду « more ».
Команда most
Если возможностей « less » не хватает, то можно использовать команду « most ». Она предоставляет еще больше возможностей для открытия файлов в терминале Linux, но она может быть не установлена по умолчанию.
Если вы используете Ubuntu Linux , то для установки « most » нужно выполнить вот такую команду:
Команда « most » позволяет открывать сразу несколько файлов и переключаться между ними при необходимости. Также « most » позволяет редактировать текущий файл, переходить к нужной строке файла, разделять экран пополам, блокировать или пролистывать оба экрана одновременно и многое другое. По умолчанию, « most » не обертывает длинные строки, а использует горизонтальную прокрутку.
Для того чтобы открыть файл в терминале Linux с помощью « most » нужно выполнить вот такую команду:
Для перемещения по открытому файлу в «most» можно использовать стрелки на клавиатуре, Tab (вправо), Enter (вниз), T (начало), B (конец), J и G (переход к n-й строке), SPACE и D (один экран вниз), DELETE и U (один экран вверх). Для поиска вперед S , f или слеш , для поиска назад знак вопроса (?).
Текстовый редактор Nano
Если вам нужно не просто открыть файл в терминале Linux, но и отредактировать его, то лучше всего использовать не « most », а какой-нибудь более продвинутый текстовый редактор для терминала. Например, это может быть редактор Nano .
В Ubuntu Linux текстовый редактор Nano установлен по умолчанию, но если его нет в вашей системе, то вы можете его установить следующими командами:
Для CentOS, Fedora :
Для Debian, Ubuntu :
Чтобы открыть файл в терминале Linux при помощи редактора Nano нужно выполнить следующую команду:
Интерфейс программы Nano включает в себе верхнюю строку с информацией о редакторе и открытом файле, область редактирование с содержимым открытого файла, нижнюю панель с информацией о комбинациях клавиш.
Для управления текстовым редактором Nano используются следующие комбинации клавиш:
Читайте также: