Не открывается файл linux

Как открыть текстовый файл в Linux

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

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

Просмотр файла в Linux полностью

Самая простая и в то же время наиболее часто используемая утилита для просмотра содержимого файла в Linux это cat. Выводит все содержимое файла в стандартный вывод. В параметре нужно передать только адрес файла, или нескольких файлов. Идеально подходит для просмотра небольших файлов. Общий синтаксис команды cat такой:

$ cat опции адрес_файла .

Например просмотр содержимого файла linux /etc/passwd:

Также можно посмотреть сразу несколько файлов:

Если файл доступен только для пользователя root, то нужно перед командой написать sudo:

Опция -n включает нумерацию строк:

Для удобства, можно включить отображение в конце каждой строки символа $

А также отображение табуляций, все табуляции будут заменены на символ ^I:

Больше о ней говорить не будем, потому что большинство её опций направлены на форматирование вывода, более подробную информацию вы можете посмотреть в статье: Команда cat в Linux.

Просмотр файла в Linux с прокруткой

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

$ less опции файл

Также ее можно комбинировать с cat:

$ cat адрес_файла | less

Например, посмотрим лог Х сервера:

Теперь мы можем листать содержимое файла в Linux с помощью стрелок вверх-вниз. Для того чтобы выйти нажмите q. Также эта утилита поддерживает поиск. Для поиска по файлу нажмите слеш «/». О более правильном способе поиска мы поговорим дальше.

Просмотр только начала или конца файла

Очень часто нам не нужен файл целиком. Например, достаточно посмотреть несколько последних строчек лога, чтобы понять суть ошибки, или нужно увидеть только начало конфигурационного файла. Для таких случаев тоже есть команды. Это head и tail (голова и хвост).

По умолчанию head открывает текстовый файл в Linux и показывает только десять первых строчек переданного в параметре файла:

Можно открыть сразу два текстовых файла в Linux одновременно аналогично cat:

Так можно открыть текстовый файл linux или несколько и вывести по десять первых строчек каждого из них.

Читайте также:  Установка java linux через терминал

Если вам не нужны все 10 строчек, опцией -n и цифрой можно указать количество строк которые нужно вывести. Например, 5:

head -n5 /var/log/apt/history.log

Тот же результат можно получить опустив букву n и просто передав цифру в качестве ключа:

head -5 /var/log/apt/history.log

Также можно задать количество байт, которые нужно вывести с помощью опции -с и числа. Например: 45:

head -c45 /var/log/apt/history.log

Тоже хотите подсчитать действительно ли там 45 символов? Используйте команду wc:

head -c45 /var/log/emerge.log | wc -c

Команда tail наоборот, выводит 10 последних строк из файла:

Утилита tail тоже поддерживает изменение количества строк, с помощью опции -n. Но она обладает еще одной интересной и очень полезной опцией -f. Она позволяет постоянно обновлять содержимое файла и, таким образом, видеть все изменения сразу, а не постоянно закрывать и открывать файл. Очень удобно для просмотра логов linux в реальном времени:

Просмотр содержимого файла с поиском

В большинстве случаев нам нужен не полностью весь файл, а только несколько строк, с интересующей нас информацией. Можно выполнить просмотр файла linux предварительно отсеяв все лишнее с помощью grep. Сначала синтаксис:

$ grep опции шаблон файл

$ cat файл | grep опции шаблон

Например выведем из лога только предупреждения:

cat /var/log/Xorg.0.log | grep WW

Но это еще не все, многие не знают, но у этой утилиты еще несколько полезных опций.

С помощью опции -A можно вывести несколько строк после вхождения:

cat /var/log/Xorg.0.log | grep -A2 WW

С помощью -B — до вхождения:

cat /var/log/Xorg.0.log | grep -B2 WW

А опция -С позволяет вывести нужное количество строк до и после вхождения шаблона:

cat /var/log/Xorg.0.log | grep -C2 WW

Также с помощью grep можно подсчитать количество найденных строк:

cat /var/log/Xorg.0.log | grep -c WW

Шаблоном может быть строка и простые спецсимволы замены. Если вы хотите использовать регулярное выражение укажите опцию -e или используйте egrep. Многие спрашивают, а какая разница между этими утилитами — уже никакой, в большинстве дистрибутивов egrep это ссылка на grep -e. А теперь пример:

cat /var/log/Xorg.0.log | egrep ‘WW|EE’

В примерах этого раздела использовались символы перенаправления ввода, подробнее о них можно почитать в этой статье.

Просмотр файлов Linux в сжатом виде

Иногда можно встретить в системе текстовые файлы в сжатом виде, формате gz. Это, например, конфигурационный файл ядра, или логи некоторых программ. Для того чтобы открыть файл в linux через терминал не распаковывая его есть целый ряд аналогов вышеописанных утилит с приставкой z. Это zcat, zless, zgerp, zegrep.

Например, открываем сжатый файл для просмотра:

Или более практичный пример, распаковываем и копируем конфигурационный ядра в текущую директорию:

Так же можно использовать less, для просмотра сжатых файлов с прокруткой:

А для фильтрации сжатых файлов по шаблону есть zgrep и zegrep. Например, ищем в сжатом логе ошибки:

Редактирование файлов в Linux

Довольно часто, обычного просмотра файла недостаточно и в нём надо что-то поправить. Для решения этой задачи cat уже не подойдёт, надо использовать текстовый редактор. В терминале можно пользоваться nano или vim, а в графическом интерфейсе — gedit. Чтобы открыть файл в терминале выполните:

Читайте также:  Visual studio linux компиляция

$ nano /путь/к/файлу

Для большинства файлов в директории /etc/ запись доступна только пользователю root. Поэтому команду надо выполнять от имени суперпользователя с помощью sudo. После нажатия клавиши Enter утилита запросит пароль. Введите его, несмотря на то, что символы пароля не отображаются, это нормально. После внесения изменений сохраните их с помощью сочетания клавиш Ctrl + O.

Аналогично, можно открыть этот же файл в текстовом редакторе:

sudo gedit /etc/default/grub

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

Выводы

Вот и все. Разобрал все достаточно подробно. Теперь вы точно знаете как правильно открыть файл в терминале Linux. Если остались еще вопросы, оставляйте комментарии.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Linux не открывает файлы

на моем компе линукс и он не открывает любые файлы
а мне нужно установить windows 7, но он в ЭКЗЕ формате, я хотел установить wine windows и многие другие проги чтоб открыть файл но бесполезно, ни один формат не открывается, что делать? помогите

Bender Rodriguez Искусственный Интеллект (107699) Ну так в чём проблема, и причём здесь вообще Linux? Запускай установку Windows и всё.

«а мне нужно установить windows 7, но он в ЭКЗЕ формате»

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

что тут дебильного? file установки в exe формате, linux exe не открывает + другие форматы как tar.xz, deb, tar.bz2

Krizz Искусственный Интеллект (109413) Я так понял, что дебильный не только вопрос, но и его автор не лучше.

Говорят, два дебила — это сила. Оказывается иногда и половины хватает. Виндовс устанавливается с загрузочного диска или флешки. Какой exe.

Мюнхгаузен Искусственный Интеллект (123252) А его открывать ЗАЧЕМ. Установочный диск ЗАГРУЗОЧНЫЙ. Его надо вставить в компьютер и перезагрузиться.

На моем компе Линух, и он открывает любые файлы. И мне не нужно установить windows 7, хоть он в в файле в ISO-формате, легально полученном с сайта Некрософта. Я хотел установить wine и я установил wine. Некоторый софт из Венды, который мне нужен, стал запускаться. Доволно много софта, который я использую, делался под DOS, и я поставил xdosemu. Все форматы открываются, что делать? — можно работать! В смысле, за деньги 🙂 Не надо мне помогать 🙂

Источник

Не открываются локальные htm(l)

Когда я пытаюсь открыть локальные файлы htm(l) в браузерах epiphany и midori, они эти файлы пытаются скачать вместо того, чтобы просто открыть. В chromium все работает, но мне пока что хочется другой браузер. Установка браузера по умолчанию через update-alternatives или mimeopen -d не помогает. DE нет.

а если через сам браузер (Ctrl+O) попытаться открыть?

То же самое. Причем в диалоге открытия epiphany в строке «Все поддерживаемые типы» htm не значится.

Читайте также:  Порядок загрузки ядра линукс

У меня веселее, но открываются

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

Лиса то нормально открывает, это midori выпендривается.

настройки кодировки по умолчанию

Покажи заголовок файла, мб там фигня какая.

в мидори видимо очередной иноземец с мыслью «русская кодировка это кои8р»

либо там нет метатега, либо он некорректен

Какого метатега? Открывать локальные файлы браузер все равно должен хоть в каком-то виде.

смотри в какую ветку я отвечаю

Покажи заголовок файла, мб там фигня какая.

заголовок хтмл файла это внутри которого метатеги

Браузер откроет html даже если там нет ни метатегов, ни вообще блока head, внезапно.

Есть перловый скрипт, который выбирает ПО по умолчанию, как раз для отсутствия DE. perl-file-mimeinfo вроде.

если не отрабатывает, не до конца усановил зависимости, переставь.

Сохрани в UTF-8 with BOM. Mousepad умеет.
Документ — Использовать Unicode BOM.

Попробовал открыть от другого пользователя — все открывается, но появляется сообщение

(exo-open:11521): dbind-WARNING **: 19:41:58.136: Couldn’t register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

Значит, проблема в локальных настройках, но как ее решить, не снося весь конфиг? Переставил desktop-file-utils и libfile-mimeinfo-perl — не помогло.

Привязки хранятся здесь ~/.config/mimeapps.list

Я его отредактировал так, чтобы он соответствовал файлу с другого пользователя, но это не помогло. Делаю mimeopen -d tmpa_crtoef.htm, файл tmpa_crtoef.htm УДАЛЯЕТСЯ! Жесть.

UPD. Удаление происходит после открытия в midori. Что они курили?

А в chromium всё нормально? Может у тебя с безопасностью накручено? Если нет DE, то и ты удалил всякие шаблоны безопасности? Что там используют, я не знаю. SElinux, apparmor. Вон MS выпускает свой ))) http://www.opennet.ru/opennews/art.shtml?num=51841

ты удалил всякие шаблоны безопасности?

У меня десктоп. Я вообще никогда безопасность не трогаю. И даже не знаю, как ее настраивать.

Да, открывается как надо, правда, тоже сообщает об ошибках:

[4079:4225:1111/212818.781580:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are «tcp» and on UNIX «unix»)

[4079:4225:1111/212821.781159:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are «tcp» and on UNIX «unix»)

[4079:4225:1111/212821.781339:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are «tcp» and on UNIX «unix»)

[4130:4130:1111/212822.170905:ERROR:sandbox_linux.cc(369)] InitializeSandbox() called with multiple threads in process gpu-process.

[4130:4130:1111/212824.831286:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData:

[4352:41:1111/212834.908025:ERROR:child_process_sandbox_support_impl_linux.cc(81)] FontService unique font name matching request did not receive a response.

[4352:41:1111/212834.912755:ERROR:child_process_sandbox_support_impl_linux.cc(81)] FontService unique font name matching request did not receive a response.

Источник

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