Как редактировать файл в линукс
Перейти к содержимому

Как редактировать файл в линукс

  • автор:

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

Для редактирования файлов в командной строке используют редакторы Nano, Vim и Emacs. В этом уроке мы обсудим два редактора из этого списка.

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

Nano

Nano — очень простенький текстовый редактор, похожий на Блокнот в Windows, хотя по возможностям он богаче и даже способен подсвечивать содержимое файлов:

После запуска редактора внизу открывается панель с подсказками, какие горячие клавиши доступны для использования. Символ ^ означает клавишу Ctrl .

Например, нажав Ctrl + x , вы можете выйти из редактора. При выходе нужно уточнить, хотите ли вы сохранить изменения:

  • Сохранить — y (yes)
  • Не сохранять — n (no)

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

Vim

Совсем другое дело — это Vim (сокращение от Vi Improved). Это свободный текстовый редактор, созданный на основе более старого vi (visual editor).

Это редактор, который имеет уникальную модель работы:

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

Если вы не знаете команд, то лучше ничего не трогать, иначе на экране начнется хаос. Обычное редактирование текста выполняется в режиме ввода — INSERT. Попасть в него можно с помощью клавиши i . Для выхода в режим команд достаточно нажать Esc или комбинацию Ctrl + [ .

Всего у Vim есть четыре основных режима работы:

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

Vim по праву считается редактором с самым высоким порогом входа, и разработчики даже шутят на эту тему:

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

Посмотрев на Vim без плагинов, сложно поверить, что благодаря расширениям он может стать очень навороченным:

Подробнее о том, почему так происходит и что особенного в Vim, написано в нашем руководстве. Крайне рекомендуем к прочтению.

Говорят, что самое сложное в Vim — это выйти, поэтому подготовимся заранее. Обсудим, как выйти из Vim:

  • Убедитесь, что вы находитесь в командном режиме. На всякий случай нажмите Esc или комбинацию Ctrl + [
  • Затем наберите : (символ «двоеточие») — эта команда переведет вас в режим командной строки
  • В конце введите q! и нажмите Enter

Так вы выйдете из Vim без сохранения изменений. Если набрать :wq , то перед выходом сохранятся все изменения. Если вы хотите просто сохраниться без выхода, то наберите :w .

Кстати, большая часть Хекслета сделана именно в Vim, включая код самой платформы, некоторые текстовые курсы и эту строчку.

Дополнительные материалы

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Об обучении на Хекслете

  • Статья «Как учиться и справляться с негативными мыслями»
  • Статья «Ловушки обучения»
  • Статья «Сложные простые задачи по программированию»
  • Урок «Как эффективно учиться на Хекслете»
  • Вебинар «Как самостоятельно учиться»

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов

Наши выпускники работают в компаниях:

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

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

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

Есть несколько классных текстовых редакторов, таких как Gedit, Leafpad и Mousepad. Они, благодаря своему графическому интерфейсу, выглядят лучше, чем текстовые редакторы командной строки, но мы сосредоточимся на текстовых редакторах терминала. Рассмотрим два наиболее распространенных варианта:

Текстовый редактор Nano

Nano — самый удобный и простой текстовый редактор для работы в терминале Kali Linux. Чтобы открыть файл и начать редактирование, просто введите:

nano [ имя-файла ]
nano spysoftnet . txt

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

Редактировать текстовый файл терминал Kali Linux Nano

В нижней части окна находится подсказка, я рекомендую запомнить самые используемые сочетания клавиш команд:

  • CTRL+O — записать изменения в файл.
  • CTRL+K — вырезать до текущей строки.
  • CTRL+U — удалить строку и вставить ее вместо, где находится курсор.
  • CTRL+W — поиск.
  • CTRL+X — выход.

Чтобы узнать больше о Nano, см. официальную документацию.

Текстовый редактор Vi

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

Как и в случае с Nano, для редактирования нужно запустить команду:

vi [ имя-файла ]
vi spysoftnet . txt

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

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

  • dd — удалить текущую строку.
  • yy — копировать текущую строку.
  • p — вставить из буфера обмена.
  • x — удалить текущий символ.
  • :w — записать текущий файл на диск и остаться в vi.
  • :q! — выйти без сохранения.
  • :wq — сохранить и выйти.

Редактирование текстового файла терминал Kali Linux VI

Использование Vi неоправданно для многих простых пользователей Linux, но пентестеру надо уметь с ним работать. Любители редактора Vi, в сообществе Linux, считаются профессиональными гиками. Кстати, если вы начали изучать Kali Linux, я рекомендую прочитать статью «Основы работы в терминале Kali Linux».

РЕКОМЕНДУЕМ:

  • Использование редактора Vim
  • Использование Netcat в пентесте на Kali Linux

Sysadminium

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

Оглавление скрыть

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

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

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

alex@deb:~$ touch file.txt

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

alex@deb:~$ ls file.txt

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

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

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

alex@deb:~$ ls -lh итого 0 -rw-r--r-- 1 alex alex 0 ноя 26 16:15 file.txt

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

alex@deb:~$ touch file.txt alex@deb:~$ ls -lh итого 0 -rw-r--r-- 1 alex alex 0 ноя 26 16:17 file.txt

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

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

Тип файла | Права | | Кол-во ссылок | | | Владелец | | | | Группа | | | | | Размер | | | | | | Дата и время последнего касания или изменения | | | | | | | Имя файла | | | | | | | | - rw-r--r-- 1 alex alex 0 ноя 26 16:17 file.txt

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

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

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

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

alex@deb:~$ nano file.txt

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

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

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

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

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

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

Команды cat и tac

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

alex@deb:~$ cat file.txt И тут мы можем вводить текст, какой только пожелаем.

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

alex@deb:~$ cat -n file.txt 1 И тут мы можем 2 вводить текст, 3 какой только пожелаем.

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

alex@deb:~$ tac file.txt какой только пожелаем. вводить текст, И тут мы можем

Команда grep

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

alex@deb:~$ grep какой file.txt какой только пожелаем.

Команда less

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

alex@deb:~$ less /etc/ssh/sshd_config

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

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

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

Команды tail и head

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

alex@deb:~$ tail /etc/ssh/sshd_config # override default of no subsystems Subsystem sftp /usr/lib/openssh/sftp-server # Example of overriding settings on a per-user basis #Match User anoncvs # X11Forwarding no # AllowTcpForwarding no # PermitTTY no # ForceCommand cvs server

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

alex@deb:~$ head /etc/ssh/sshd_config # $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the

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

alex@deb:~$ tail -n 3 /etc/ssh/sshd_config # AllowTcpForwarding no # PermitTTY no # ForceCommand cvs server alex@deb:~$ head -n 3 /etc/ssh/sshd_config # $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $ # This is the sshd server system-wide configuration file. See

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

Как редактировать файл в линукс

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

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

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

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

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

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

vim НАЗВАНИЕ.РАСШИРЕНИЕ

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

vim ПУТЬ1/НАЗВАНИЕ.РАСШИРЕНИЕ

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

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

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

Ура, настройки сохранены.

Виталий Жуков 16.10.2014

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

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