Открыть файл для редактирования linux

Обновлено: 04.07.2024

В Linux все настройки программ и самой операционной системы хранятся в текстовых документах. Также в текстовых документах сохраняются логи и другие необходимые данные. Поэтому при работе с Linux постоянно приходится просматривать и редактировать подобные текстовые и конфигурационные файлы.

В данной инструкции мы расскажем о том, как открыть файл в терминале Linux и какие команды для этого можно использовать. Материал будет актуален для любого дистрибутива Linux, включая Ubuntu, Debian, Kali Linux, CentOS и т.д.

Команды cat и tac

Если вам нужно открыть файл в терминале Linux, то для этого предусмотрено множество простых и эффективных способов. Пожалуй, самая часто используемая команда такого рода – это команда « cat ».

Чтобы использовать ее просто введите « cat » и название файла. Например, если вам нужно просмотреть содержимое файла « file_name.txt », то команда должна выглядеть вот так:

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

команда cat

При использовании команды « cat » может понадобиться нумерация строк. В этом случае команду нужно вводить с параметром « -n ».

команда cat

Также есть команда « tac », которая открывает файлы точно также как « cat », но выводит строки в обратном порядке (начиная с конца).

команда tac

Обратите внимание , для того чтобы узнать больше о « cat » и « tac », а также других командах Linux, введите в терминал « man » (от англ. manual) и через пробел название интересующей вас команды, например, « man tac ». Это выведет подробную информацию о команде и список всех поддерживаемых параметров.

Команды head и tail

Если нужно открыть в терминале Linux большой файл, то вместо команды « cat » можно использовать « head » или « tail ». Данные команды выводят в терминал только часть файла. В случае « head » выводится только начало документа, а в случае « tail » только конец.

Чтобы открыть файл с помощью данной команды просто введите « head » или « tail » и название файла:

команда head

По умолчанию команды « head » и « tail » выводят по 10 строк с начала или конца файла. Но, при необходимости это значение можно изменить при помощи параметра « -n ». Для этого вводим « -n » и число строк (не отделяя пробелом). Выглядит это примерно так:

команда head

Кроме этого, вы можете ограничить количество информации, которую выводят команды « head » и « tail », указав значение в байтах. Для этого нужно использовать параметр « -c ». Например, чтобы вывести 100 байт нужно добавить параметр « -c » и указать значение 100 (не отделяя пробелом). Выглядит это примерно так:

команда tail

Команды « head » и « tail » имеют общий набор параметров, но у « tail » есть уникальный параметр « -f », которого нет у « head ». При вызове « tail -f file_name.txt » выводимая информация будет автоматически обновляться. Это может быть удобно для наблюдения за логами.

Команды more и less

Для открытия больших файлов в терминале Linux можно использовать команды « more » и « less ». Команда « more » открывает файл в терминале Linux и позволяет пролистывать его только вниз при помощи клавиш Enter (одна строка вниз) и Space (страница вниз). Пролистывания вверх нет, поэтому, если вы случайно проскочили нужное вам место в файле, то вернуться назад не получится.

Чтобы открыть файл в терминале Linux с помощью команды « more » и « less » нужно ввести следующее:

команда more

Команда « less » также позволяет открывать большие файлы в терминале Linux, но она уже предоставляет больше возможностей. С помощью « less » можно пролистывать содержимое документа как вниз ( Page Down ), так и вверх ( Page Up ), переходить в конец ( End ) и начало файла ( Home ), пролистывать текст по одной строке ( Enter ), а также выполнять поиск в обоих направлениях.

Для того чтобы выполнить поиск после выполнения « less » нужно ввести слеш ( / ) и любой кусок текста. Чтобы перейти к следующему найденному отрывку нужно нажать N , а Shift-N возвращает к предыдущему найденному отрывку. Для поиска в обратном направлении вместо знака слеш ( / ) нужно вводить знак вопроса ( ? ) и после этого любой текст.

команда less

Учитывая большие возможности команды « less », для открытия файлов в терминале Linux в основном используют именно ее, а не команду « more ».

Команда most

Если возможностей « less » не хватает, то можно использовать команду « most ». Она предоставляет еще больше возможностей для открытия файлов в терминале Linux, но она может быть не установлена по умолчанию.

Если вы используете Ubuntu Linux , то для установки « most » нужно выполнить вот такую команду:

Команда « most » позволяет открывать сразу несколько файлов и переключаться между ними при необходимости. Также « most » позволяет редактировать текущий файл, переходить к нужной строке файла, разделять экран пополам, блокировать или пролистывать оба экрана одновременно и многое другое. По умолчанию, « most » не обертывает длинные строки, а использует горизонтальную прокрутку.

Для того чтобы открыть файл в терминале Linux с помощью « most » нужно выполнить вот такую команду:

команда 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

Для управления текстовым редактором Nano используются следующие комбинации клавиш:

Редактор командной строки

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

В Vi есть два режима. Режим вставки и режим редактирования. В режиме ввода вы можете вводить содержимое в файл. В режиме редактирования вы можете перемещаться по файлу, выполняя следующие действия:

  • удаление
  • копирование
  • поиск
  • замена
  • сохранение
  • другие

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

vi <файл>

Если вы забыли указать файл, есть способ открыть его в vi. Когда мы указываем файл, он может иметь абсолютный или относительный путь.

Отредактируем наш первый файл.

vi <файл>. Отредактируем наш первый файл

Когда вы запускаете эту команду, она открывает файл. Если файл не существует, он создаст его для вас, а затем откройте его. После ввода vi это будет выглядеть примерно так.

vi <файл>. Вы всегда начинаете в режиме редактирования

Вы всегда начинаете в режиме редактирования, поэтому первое, что мы собираемся сделать, это переключиться в режим вставки, нажав i

vi <файл>. Вы всегда начинаете в режиме редактирования

Теперь введите несколько строк текста и нажмите клавишу Esc, и вы вернетесь в режим редактирования.

Сохранение и выход

Есть несколько способов сделать данный маневр. Для начала убедитесь, что вы находитесь в режиме редактирования.

Если вы не уверены, находитесь ли вы в режиме редактирования можно посмотреть в нижнем левом углу. В качестве альтернативы вы можете просто нажать Esc, чтобы быть уверенным. Если вы уже находитесь в режиме редактирования, нажатие клавиши « Esc» ничего не делает, поэтому вы не причините вреда.

Большинство команд в vi выполняются, как только вы нажимаете последовательность клавиш. Любая команда, начинающаяся с двоеточия (:), требует, чтобы вы нажали <enter> для завершения команды.

Другие способы просмотра файлов

Запустив команду cat с одним аргументом командной строки, можно увидеть содержимое файла на экране, а затем появится подсказка.

Если вы случайно запустили cat без указания аргумента командной строки, вы заметите, что курсор перемещается на следующую строку, а затем ничего не происходит. Если вы наберете что-то, нажмите <enter>, вы увидите cat зеркально отразит ваш ввод на экране. Чтобы выйти отсюда, следует нажать <Ctrl> + c, который является универсальным сигналом для отмены в Linux.

На самом деле, когда у вас возникают проблемы, вы обычно можете нажать <Ctrl> + c, чтобы избежать неприятностей.

cat <файл>. Другие способы просмотра файлов

Эта команда хороша, когда у нас есть маленький файл для просмотра.

А если файл большой? Основная часть контента будет летать по экрану, и мы увидим только последнюю страницу контента. Для больших файлов лучше подходит команда, less.

less <файл>

less позволяет перемещаться вверх и вниз по файлу с помощью клавиш со стрелками. Вы можете перейти вперед на целую страницу с помощью пробела или назад на страницу, нажав b. При завершении, следует нажать q для выхода.

Навигация по файлу в Vi

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

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

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

Удаление текста

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

Когда от выделенного сервера / VDS на ОС семейства Linux есть только Shell терминал (консоль для управления сервером через специальные команды), то невольно начинаешь задумываться о то, как бы открыть, редактировать и потом сохранить, например, файл настроек.

Можно, конечно, использовать FTP протокол или же web-интерфейсы для того, что бы не знать, что такое этот Shell terminal (или просто - консоль), но те, кто хоть раз пробовали ставить программное обеспечение на "голый" Linux, поймут - это прокатывает не всегда. Иногда нужно "в ручную" подкрутить некоторые настройки через консоль. И я объясню почему.

Я подкину вам рабочую ситуацию. Представьте, что вы только что поставили, например, Linux Debian 7 Wheezy без предустановленного пакета ПО. Как я и писал, "голый" Linux. Перед вами стоит задача: установить FTP сервер, что бы можно было заходить и скачивать файлы, редактировать их и закачивать обратно. Вы устанавливаете, например, vsftpd стандартными командами (углубляться не буду в это, заметка не совсем об этом, хотя может стоит написать отдельную заметку), но тут возникает один нюанс: FTP сервер по умолчанию не пускает пользователей по логину и паролю. Что делать? Правильно, нужно лезть в настройки. Нужно чем-то открыть файл, редактировать его и потом сохранить.

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

Если описать совсем просто, то для открытия/редактирования файла нужно сделать следующее:

1) Открыть его командой vim:


Кстати, можно так же использовать путь до файла, например, если вы находитесь в корневой директории, а файл лежит по отношению к вам в папке ПУТЬ1, то можно открыть его вот так:

2) Нажать клавишу i (тем самым вы войдете в режим редактирования).
Теперь можете изменять/удалять/добавлять любые настройки, текст и т.д.

3) Пришло время сохранять?

a) Нажмите вначале клавишу Esc (выход из режима редактирования).
б) Одновременно зажмите две клавиши Shift + Q (откроется Vim консоль).
a) Введите команду wq и нажмите Enter. (если интересно, команда расшифровывается как write quit - "записать и выйти").

Файлы, файлы везде

Часто повторяемая фраза относительно Linux и других операционных систем на базе Unix, таких как macOS, звучит так: «все является файлом».

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

Запуск gedit

Чтобы запустить gedit из командной строки, введите gedit и нажмите Enter.

Скоро появится текстовый редактор gedit.

Это лаконичное и чистое окно приложения. Вы можете продолжать печатать все, над чем работаете, не отвлекаясь.

Конечно, вы также можете запустить gedit из меню приложений на рабочем столе Linux. Его часто называют «Текстовый редактор». Просто поищите в меню приложений «gedit».

Запуск gedit в качестве фоновой задачи

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

Открытие существующего файла

Чтобы открыть существующий текстовый файл, нажмите кнопку «Открыть» на панели инструментов gedit. Вы также можете нажать Ctrl + O, чтобы открыть файл.

Проверь это - Как сопоставить цвет плитки приложения с меню `` Пуск '' в Windows 10

Это открывает меню недавних файлов. Если вы хотите повторно открыть один из перечисленных файлов, щелкните имя файла. Если вы хотите открыть другой файл, нажмите кнопку «Другие документы…» в нижней части меню.

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

Нажмите зеленую кнопку «Открыть», когда вы выделите файл, который хотите отредактировать.

Открытие файла из командной строки

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

Функция выделения синтаксиса в gedit позволяет особенно удобно редактировать файлы исходного кода программы и сценарии оболочки.

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

Имя редактируемого файла отображается на панели инструментов. Если вы изменили файл, рядом с именем файла появится звездочка *.

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

Сохранение изменений в файл

Чтобы сохранить изменения, нажмите кнопку «Сохранить» на панели инструментов. Вы также можете нажать Ctrl + S, чтобы сохранить файл.

Чтобы сохранить файл под другим именем или в другом месте, нажмите кнопку меню на панели инструментов, а затем выберите в меню «Сохранить как».

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

Редактирование системных файлов

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

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

Проверь это - 6 лучших плагинов Pidgin Chat для пользователей Linux

Эта команда открывает gedit и загружает файл конфигурации samba для редактирования.

Репликация владения и разрешений на новый файл

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

Допустим, мы хотим отредактировать файл fstab.

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

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

Теперь мы скопируем файл / etc / fstab поверх только что созданного файла. Затем мы проверим атрибуты файла, чтобы увидеть, не изменились ли они.

Fstab был скопирован поверх файла new_fstab. Атрибуты файла new_fstab не изменились. Давайте проверим атрибуты исходного файла fstab.

Проверь это - Как установить расширения Chrome в Chromium Edge в Windows 10

Сначала мы запустим gedit и отредактируем файл new_fstab, чтобы внести необходимые изменения.

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

Мы можем сделать это с помощью параметра –reference команд chmod и chown.

Параметр –reference принимает имя файла в качестве параметра. Это заставляет chmod и chown брать из этого файла права доступа к файловому режиму и значения владения файлом и копировать их в целевой файл. Затем мы можем использовать ls для проверки правильности установки атрибутов отредактированного файла, прежде чем копировать их обратно в исходный файл.

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

Поскольку это изменения в файле fstab, они вступят в силу при следующей перезагрузке компьютера или сразу же, если команда монтирования была использована следующим образом:

Будьте осторожны

Читайте также: