Перейти к содержимому

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

  • автор:

Terminal Basics #9: Editing Files in Linux Terminal

You have learned a bunch of file operations so far in this Terminal Basics series. You learned to create new files, delete existing ones, and copy and move them.

It is time to take it to the next level. Let’s see how to edit files in the Linux terminal.

If you are writing bash shell scripts, you can use the GUI text editors like Gedit and run them in the terminal.

But at times, you’ll find yourself in a situation where you have to edit existing files in the terminal itself. For example, modifying config files located in the /etc directory.

As a desktop Linux user, you could still use GUI editors for editing config files even as root. I’ll show it to you later.

However, knowing how to edit files in the command line is better.

Editing files in Linux terminal

You may use the cat command if you just have to add a few lines at the bottom of an existing file. But in order to properly edit a file, you’ll need a proper text editor.

There is simply no shortage of terminal-based text editors in Linux. Vi, Vim, Nano, Emacs are just a few of the most popular ones out there.

But here is the thing. All of them have a learning curve involved. You don’t have the comfort of the GUI. You don’t have menus to interact with the editor with your mouse.

Instead, you have to use (and remember) keyboard shortcuts.

I find Nano to be a good starting point for new users. It is the default text editor in Ubuntu and many other Linux distributions.

Of course, there is a learning curve, but it is not as steep as that of Vim or Emacs. It keeps on displaying the most relevant keyboard shortcuts at the bottom. This helps you navigate even if you don’t remember the exact shortcut.

For this reason, I’ll be covering the absolute basics of the Nano editor here. You’ll learn all the essentials you need to know to start using Nano for editing files in the Linux terminal.

Using Nano editor

Nano can be used to edit text files, script files, program files etc. Please remember that it is not a word processor and cannot be used to edit docs or PDF files. For simple text editing of conf files, scripts, or text files, Nano is a great choice.

Sysadminium

На этом уроке по Linux мы рассмотрим создание (touch), редактирование (nano) и чтение (cat, tac, grep, less, tail) текстовых файлов.

Создание файлов и просмотр их в каталоге

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

Для создания текстового файла служит команда touch:

С помощью команды ls можно посмотреть какие файлы есть в каталоге:

Для команды ls есть дополнительные опции:

  • -l — показывает информацию по каждому файлу;
  • -h — показывает размер файла в удобном для человека виде (байты, килобайты, мегабайты и т.д.). Эту опцию можно использовать только вместе в -l.

Опции можно писать слитно (ls -lh) или раздельно (ls -l -h). Вот пример:

Команда touch не только создает файл, но если этот файл уже есть, то обновляет время доступа и модификации данного файла:

Как вы могли заметить вначале время последнего изменения файла было 16:15, а после выполнения команды touch оно изменилось на 16:17. На самом деле команда touch не изменила файл, она лишь прикоснулась к файлу и тем самым изменила его время доступа. Кстати, с английского touch переводится как прикасаться.

Давайте теперь разберём вывод команды ls -lh:

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

  • знак тире «-« — это обычный файл;
  • символ «d» — это каталог;
  • есть и другие типы файлов, но пока их рассматривать не будем.

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

Отредактировать текстовый файл можно с помощью текстового редактора «nano»:

После выполнения этой команды у Вас откроется текстовый редактор:

Для того чтобы сохранить этот файл нужно нажать комбинацию клавиш «Ctrl+o«.

А чтобы закончить редактирование и закрыть этот файл нужно нажать «Ctrl+x«. При этом у вас спросят, хотите ли вы сохранить этот файл и если да, то нужно ввести «y» и нажать клавишу «Enter«. Таким образом необязательно использовать комбинацию «Ctrl+o» перед закрытием файла.

Внизу я выделил подсказки текстового редактора Nano, в подсказках символ «^» — это клавиша Ctrl.

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

Чтение файлов

Команды cat и tac

Давайте теперь научимся читать текстовые файлы. Чаще всего для этого используется команда cat:

У команды cat есть опция -n, которая выводит номера строк:

Для команды cat есть команда перевёртыш, это команда tac. Она выводит текст задом наперед:

Команда grep

Если Вам нужно что-то найти в тексте, то для этого используйте команду grep. Например, мы ищем строку в которой встречается слово «какой»:

Команда less

Если текст длинный то вместо cat лучше использовать команду less:

Используя less мы можем кнопками вверх / вниз перемещаться по тексту:

Если нажать кнопу «/», то откроется строка, куда можно ввести фразу для поиска в этом файле. Давайте, например, найдём строку со словом «Port»:

При поиске удобно использовать кнопку «n» для дальнейшего поиска введенной фразы, и комбинацию «Shift+n» для поиска в обратном направлении (к началу файла). Для выхода из программы используйте клавишу»q«.

Команды tail и head

Если Вам нужно посмотреть последние строки файла используйте команду «tail«:

А если нужно посмотреть первые строки файла то команду «head«:

Эти две команды выводят 10 последних (tail) или 10 первых (head) строк файла. И у этих команд есть параметр -n, с помощью которого можно указать сколько строк выводить, например выведем по 3 строки:

А ещё команда tail позволяет выводить изменяющиеся файлы, например логи. Для этого используется опция -f. Чтобы закончить наблюдение за файлом, нужно нажать комбинацию Ctrl+c.

Урок 12. Как редактировать файл в терминале Linux — редактор Nano

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

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

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

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

Редактор состоит из 4-х областей:

Области редактора nano

1-я область — отображает версию редактора и название файла.

2-я область — редактируемая часть, отображает содержимое файла.

3-я область — строка состояния, отображает реакцию редактора на определенные действия пользователя.

4-я область — подсказка команд.

Синтаксис команды следующий:

nano [опции] файл

Попробуем понять работу редактора на основе примера. У нас имеется файл Configuration.txt. Необходимо сделать следующее:

  1. Создать новый текстовый файл Example.txt
  2. В файле Configuration.txt найти 28-ю строчку
  3. Начиная с 28-й строки выделить и скопировать в буфер 10 строк текста
  4. Вставить текст из буфера в файл Example.txt
  5. Закрыть файл Configuration.txt
  6. В файле Example.txt найти и удалить строки, которые содержат слово “configuration”
  7. Затем в конец файла добавить произвольный текст
  8. Сохранить изменения в файле и закрыть

1) Создадим файл Example.txt:

nano Example.txt

Создание пустого файла редактором

Перед закрытием файла сохраняем его, иначе он не будет создан. Для этого выполним комбинацию Ctrl + O. В области подсказок указано как ^O, то есть ^ означает Ctrl:

Редактор запросил имя файла для подтверждения. Нажимаем Enter и можно закрывать. Для этого набираем комбинацию Ctrl + X (^X).

2) Теперь откроем файл Configuration.txt в multi-buffer режиме.

Что это за режим?

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

Если необходимо работать сразу с несколькими файлами, то откроем файлы в multi-buffer режиме с помощью опции -F (—multibuffer):

nano -F Configuration.txt

Файл открыт в режиме multi buffer

Чтобы найти нужную строку наберем Ctrl +Shift + — (^_) и введем номер строки. Курсор перейдет в указанную строку:

3) Теперь выделим текст для копирования.

Для этого наберем Ctrl + 6 и редактор установит метку для выделения текста. Теперь с помощью клавиш вперед/назад/вверх/вниз можно выделять текст. Когда текст выделен скопируем его в буфер обмена с помощью Alt + Shift + 6

4) Теперь, не закрывая сам файл Configuration.txt, мы откроем файл Example.txt. Для этого наберем комбинацию Ctrl + R (^R) и введем название файла Example.txt. После этого мы окажемся в файле Example.txt. Теперь вставим скопированный текст с помощью комбинации Ctrl + U.

5) Так как файл Configuration.txt нам больше не нужен мы его закроем.

Но как? Ведь мы находимся в файле Example.txt.

Для этого достаточно набрать Alt + . и редактор переключит нас в другой файл. Набираем Ctrl + X для выхода. Файл закрывается и мы сразу возвращаемся в Example.txt.

6) Попробуем найти строки со словом “configuration” — Ctrl + W (^W):

Слово найдено, однако это может быть не единственное слово. Как найти остальные?

Очень просто. Воспользуемся Alt + W (m — W) для перехода к следующему найденному слову.

Теперь выделим найденные строки с помощью Alt + 6 и стрелок, а затем удалим с помощью Ctrl + K (^K).

7) Думаю добавить произвольный текст не составит труда.

8) Теперь сохраним и закроем файл. Сделать это можно с помощью Ctrl + X.

Этих команд для начала хватит. Если возникнут трудности, то всегда можно открыть справку комбинацией Ctrl + G (^G).

Итак подведем итог по “горячим клавишам”:

Ctrl + G — справка, помощь

Ctrl + O — сохранить файл

Ctrl + X — закрыть файл

Ctrl + R — открыть новый файл

Ctrl + 6 — выделить текст

Alt + Shift + 6 — скопировать файл

Ctrl + K — вырезать текст

Ctrl + U — вставить текст

Ctrl + W — поиск слова

Alt + W — продолжить поиск

Ctrl + Shift + — — переход к указанной строке

Alt + . — переключение между файлами в multi buffer режиме

Nano имеет и дополнительные опции, кроме того, при написании программного кода для удобства можно определенные слова выделять цветом. Для этого необходимо поменять настройки в файле /etc/nanorc.

How to edit files in a terminal with nano?

Sometimes, a graphical text editor like gedit or kate cannot be used (because you’re in a virtual console for example). Luckily, there are text editors for the terminal. An easy one is nano , but I cannot understand how to work with it.

If I start nano by running nano , the bottom text is supposed to help me but all I see are things like ^G Get Help ^O WriteOut .

  1. How can I open text files for editing?
  2. How can I save the file?
  3. How can I quit the editor without saving the changes?
  4. How to edit? I heard that you’ve to enter some commands to begin editing in vi , is this true for nano too?
  5. Sometimes, if I manage to open a file, the text is unreadable due to its colors. How can I disable these colors? (see the image below)
  6. In the some files, lines are truncated because those do not fit in the screen. How can I prevent that from happening? (see the image below)

nano screenshot

5 Answers 5

Ctrl + G will let you read the help. nano can do some pretty nice things so you might want to pootle around in there for a bit.

When you see ^G (et al) it means Ctrl + G . In the help pages, M-H means Alt + H .

How can I open text files for editing?

This is the default in nano . Open and file and you’re set to start editing:

Note: you won’t be able to save unless you have write permissions for that file.

How can I save the file?

F3 will let you save without exiting. Otherwise, Ctrl + X will prompt you if you’ve made changes. Press Y when it asks, and Enter to confirm the filename.

How can I quit the editor without saving the changes?

Ctrl + X , then N when it asks if you want to save.

How to edit? I heard that you’ve to enter some commands to begin editing in vi, is this true for nano too?

As above, no. nano is simple. It drops you in edit mode as soon as it opens. You can use arrow keys, Page Up / Page Down and Home / End as in gedit. You cannot use the mouse for moving the cursor position.

Sometimes, if I manage to open a file, the text is unreadable due to its colors. How can I disable these colors?

Colours are loaded through the nanorc framework. These are files that are loaded when nano loads which basically spell out the syntax highlighting. To toggle syntax highlighting, press Alt + Y . To disable it permanently for certain file types, edit /etc/nanorc and put a hash mark ( # ) before include "/usr/share/nano/*.nanorc" .

In the some files, lines are truncated because those do not fit in the screen. How can I prevent that from happening?

Well I’ve been trying to find something but the best I could see was enabling soft-line-wrap with the funky key-combination of: Alt + $ ( Alt + Shift + 4 ). To enable soft line wrapping by default, add the below line to

More information about this configuration file can be found at man nanorc .

In the bottom text the ^ stands for Ctrl and M- stands for Alt

So ^G is Ctrl-G and M-Y is Alt-Y (that one toggles the colors).

You can toggle line truncation with M-$ . See the help pages ( ^G ) for more functions.

Florian Diesch's user avatar

The combination of ^ and a letter means you’re supposed to press Ctrl and that letter. So when nano says ^X Exit that means you’re gonna quit nano by pressing Ctrl + X .

To open a file called /etc/nanorc you can start nano with:

Note that /etc/groups is not writeable by regular users, therefore you need sudo :

If you’ve already opened nano , you can press Ctrl + R to open a file.

Here is a list of stettings you can configure in .nanorc .

/.nanorc and /etc/nanorc . I've 2.2.6-1 installed (Natty) and a QWERTY keyboard layout.

Ctrl X : Exit the editor. If you’ve edited text without saving, you’ll be prompted as to whether you really want to exit.

Ctrl O : Write (output) the current contents of the text buffer to a file. A filename prompt will appear; press Ctrl T to open the file navigator shown above.

Ctrl R : Read a text file into the current editing session. At the filename prompt, hit Ctrl T for the file navigator.

Ctrl K : Cut a line into the clipboard. You can press this repeatedly to copy multiple lines, which are then stored as one chunk.

Ctrl J : Justify (fill out) a paragraph of text. By default, this reflows text to match the width of the editing window.

Ctrl U : Uncut text, or rather, paste it from the clipboard. Note that after a Justify operation, this turns into unjustify.

Ctrl T : Check spelling.

Ctrl W : Find a word or phrase. At the prompt, use the cursor keys to go through previous search terms, or hit Ctrl R to move into replace mode. Alternatively you can hit Ctrl T to go to a specific line.

Ctrl C : Show current line number and file information.

Ctrl G : Get help; this provides information on navigating through files and common keyboard commands.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *