Nano linux очистить файл

How to clear text in a file?

How to clear text that existed in a text file without opening it? I mean for example I have a file as hello.txt with some text data in it, and how can I clear the total text in that file without opening it? By this, I mean not using any editor like nano, Gedit, etc.

What do you mean by ‘opening’ a file? In all the answers given so far the file will still be opened for writing by the shell. In the end the shell is just a program like any other.

Hus787 I have not typed from getting there if you think so else I welcome your interest in my question.

I agree with Jeff’s comment. I too have opinion* that the file stream has to be opened to write to it, whether you use any text editors, or redirection. (*appreciate anybody suggedting links to help with the matter)

9 Answers 9

Just open your terminal with CTRL + ALT + T and type as

that’s it, your data in that file will be cleared with out opening it even .

enter image description here

@souravc John is correct, the file will be open. Shell opens a file for redirection > with flags O_WRITE|O_TRUNC . In fact, this is stated in the bash manual explicitly under Redirecting Output section: «If the file does not exist it is created; if it does exist it is truncated to zero size.»

The easiest way is to truncate a file is to redirect the output of the shell no-op command ( : ) to the file you want to erase.

Its probably not the easiest (relative to just > ) but the fastest for sure..i wonder why it has not been mentioned in any of the answers of this highly viewed question..here, take +1..

I have to do this all the time with log files. The easiest way I have found is with the following command:

This deletes allo of the content of the file, and leaves you with an empty file without having to open it in an editor, select text, any of that stuff. More specifically what it does is to replace the contents of the file with the contents of «/dev/null», or nothing. It’s pretty slick, actually.

The only caveat is that the user you are currently logged in as must have write permission to said file.

I am also going to use redirection like rajagenupula’s answer. But there is a little more flexibility. Open a terminal and type,

And press Ctrl + C . It will wipe out the previous file. If you want upto this much it is fine.

Читайте также:  Отключить wifi адаптер linux

If you wish you can do something more after wiping the file. In this way not only you can wipe a file without opening but also you can write a few lines with proper formatting in the file. Say you wish to write «Ubuntu is the best OS» after wiping the file, just do

cat > hello.txt Ubuntu is the best OS 

Then press Ctrl + C . Now the previous file is wiped out. At the same time words are there in two lines as I put them.

enter image description here

hey thank you for answering. so little but work to be done right after that also & but still interesting .+1

Not the shortest answer but.

This answer is based on another from Super User. Although not the shortest bash command, truncate is the most readable for average newbies:

$ echo Hello > Hello.txt $ echo World! >> Hello.txt $ cat Hello.txt Hello World! $ truncate -s 0 Hello.txt $ ll Hello.txt -rw-rw-r-- 1 rick rick 0 Mar 20 17:32 Hello.txt 

Parameters used with truncate command here:

Clear everything except first 10,000 bytes

An advantage of truncate is you can specify how much to keep, not just zero:

$ truncate -s 10000 Hello.txt 

. will truncate everything after the first 10,000 bytes. This could be useful if a program went crazy and dumped many Megabytes of data into a small log file:

  • Run the truncate command for a reasonable larger normal size of 10K
  • Open the file with your text editor and press End
  • Highlight and PgUp to delete the remaining bytes that don’t belong (usually recognizable by ASCII garbage characters).

Another approach — cp the /dev/null to the file

xieerqi:$ cat testFile.txt Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 115247656 83100492 26269816 76% / none 4 0 4 0% /sys/fs/cgroup udev 2914492 4 2914488 1% /dev tmpfs 585216 1152 584064 1% /run none 5120 0 5120 0% /run/lock none 2926072 98096 2827976 4% /run/shm none 102400 76 102324 1% /run/user xieerqi:$ cp /dev/null testFile.txt xieerqi:$ cat testFile.txt xieerqi:$ 

Why does this work and how does this work ? The testFile.txt will be opened with O_WRONLY|O_TRUNC flags, which means if the file exists — it will be truncated, which means contents discarded and size set to zero. This is the same flag with which > operator in shell opens the file on the right of that operator.

Next, cp will attempt to read from /dev/null and after reading 0 bytes will simply close both files, thus leaving testFile.txt truncated and contents effectively deleted.

Knowing that, we could in theory use anything that allows us to open a file with O_TRUNC . For instance this:

Small difference here is that dd won’t perform any read() at all. Big plus of this dd version is that it is POSIXly portable. The dd specifications state:

If the seek= expr conversion is not also specified, the output file shall be truncated before the copy begins if an explicit of= file operand is specified, unless conv= notrunc is specified.

By contrast cp /dev/null testFile.txt isn’t necessarily portable, since POSIX specifications for cp cover what happens only if source_file is non-regular and when -r / -R flags are specified (big thanks to Stephen Kitt for pointing this out), but not what happens when -r or -R are omitted, which is the case here. However it appears at least GNU cp defaults to using rule 3 in the same spec, which is truncating the existing file without changing its type.

Читайте также:  Linux show system time

Источник

Редактор Nano, как пользоваться

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

Открыл для себя удобный консольный редактор Micro, с поддержкой мышки, рекомендую попробовать.

Установка редактора Nano

Если Nano у вас не установлен, установить его можно командой:

sudo apt update
sudo apt install nano

Команда выше подходит для операционных систем Debian/Ubuntu.

Создание и открытие файлов

‎Чтобы открыть существующий файл или создать новый, в командной строке наберите nano и название файла:

Сразу откроется окно редактора:

Окно редактора Nano

В нижней части окна располагается список основных команд и вызывающих их сочетаний клавиш ( все управление в nano выполняется с клавиатуры с использованием горячих клавиш).

В сокращениях символ ^ означает клавишу Ctrl. Например, для получение справки нужно выполнить ^G, это означает сочетание клавиш Ctrl+G.

Файл только для чтения

Если вам нужно открыть файл только для чтения используется ключ -v:

Резервная копия файла

Так же можно сделать чтобы при изменения файла создавалась его резервная копия. Для этого используется ключ -B:

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

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

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

Поиск и замена текста

Чтобы найти какой либо текст внутри файла используйте сочетание клавиш Ctrl+W, далее введите строку поиска и нажмите Enter. Курсов переместиться на первое вхождение (относительно курсора) искомого текста, чтобы проложить поиск, нажмите сочетание клавиш Alt+W и курсор переместиться к следующему вхождению.

Чтобы найти и заменить какой-либо текст внутри файла, вам потребуется сочетание клавиш Ctrl+\. После его нажатия появится запрос на ввод текста который нужно найти и заменить, введите его и нажмите Enter. Далее нужно ввести текст на который выходите заменить, введите его и нажмите Enter.

Далее режим работы такой, при нажатии клавиши:

A — будет произведена замена всех вхождений искомого текста.

Y — заменить текст около курсора.

N — пропустить и не менять текст около курсора.

Вырезание, копирование и вставка текста

Если вам нужно вырезать и вставить целую строку, то переместите курсор на эту строку и нажмите сочетание клавиш Ctrl+K. Затем, чтобы вставить вырезанную строку из буфера, нажмите Ctrl+U.

Для копирования и вставки произвольного текста вам нужно сначала выделить его. Чтобы это сделать поместите курсор на начало текста, который планируется копировать, и нажмите сочетание клавиш Ctrl+6, затем перемещайте курсор клавишами влево вправо, чтобы выделить нужный фрагмент. Далее чтобы скопировать текст нажмите Alt+6 или вырезать Ctrl+K. Чтобы вставить используйте уже знакомое сочетание Ctrl+U.

Если вы работаете с Nano в Ubuntu через Windows Subsystem for Linux (WSL2), то сочетание клавиш Ctrl+6 работать не будет, для выделения текста используйте Alt+Shift+6

Или можно нажать Esc+Esc+6

Кстати, двойное нажатие на клавиши Esc можно использовать вместо Ctrl, т.е. Ctrl = Esc Esc

Для вставки текста из другого файла используется клавиша Ins.

Зажатой клавишей Shift и стрелками можно выделять текст.

Как удалить весь текст из файла

Комбинация клавиш Alt + T сотрет все от курсора и до конца файла. Если поставить курсор в начало файла, то сотрется все содержимое.

Читайте также:  Firefox файл настроек linux

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

Если вы просто хотите сохранить изменения и продолжить работу не закрывая редактор, то используйте сочетание клавиш Ctrl+O, далее введите имя файла или оставьте старое и нажмите Enter.

Сохранение файла в редакторе Nano

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

Дальше, если вы изменяли файл, то появится вопрос: «Save modified buffer?». Если вы хотите сохранить изменения нажмите клавишу Y, появится вопрос на ввод имени файла. Введите новое имя файла или оставьте старое и нажмите Enter. Если не хотите сохранять изменения, то нажмите клавишу N.

При нажатии Ctrl+C вы вернетесь обратно в редактор.

Список основных горячих клавиш для работы с редактором Nano

Сочетание Что делает
Ctrl+A Переместить курсор в начало строки.
Ctrl+E Переместить курсор в конец строки.
Ctrl+Y Переместить курсор на 1 страницу вверх (аналог PageUp)
Ctrl+V Переместить курсор на 1 страницу вниз (аналог PageDown)
Ctrl+_ Перейти к определенной строке (после нажатия введите номер строки).
Ctrl+C Показать на какой строке и в какой позиции находится курсор.
Ctrl+W Поиск текста в файле (после нажатия введите что искать).
Ctrl+\ Поиск и замена текста в файле (после нажатия введите что найти/заменить, а после на что менять).
Ctrl+D Удалить символ под курсором.
Ctrl+K Удалить текущую строку.
Ctrl+O Сохранить изменения, не закрывая редактор.
Ctrl+X Выход из редактора. Если файл был изменен, появится запрос на сохранение изменений.

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

Категории

Свежие записи

Источник

[!] nano Справочник: Работа с текстоыми файлами в терминале, редактирование, сохранение, поиск — примеры горячих клавиш

vedro-compota's picture

Чтобы сохранить файл в редакторе nano сначала набираем комбинацию клавиш:

потом в ответ на уточняющий вопрос набираем букву:

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

Копирование и вставка текста

Чтобы начать выделение (или отменить его) используйте:

Чтобы скопировать выделенное в буфер обмена (альт шифт шесть):

Чтобы вставить текст из буфера, начиная позиции курсора:

Следует учитывать, что скопированный таким образом текст можно вставить только в самом nano, но не перенести наружу.

Выделение и удаление фрагмента текста (нескольких строк)

  • Ставим курсор в нужную позицию и нажимаем CTRL+Shift+6, чтобы отметить начало блока
  • Затем переводим курсор на конец блока
  • Нажимаем CTRL+K, чтобы удалить выделенное

Поиск

Чтобы начать искать нажмите:

Введите фрагмент и нажмите Enter

Перейти к следующему найденному фрагменту

Перейти к следующему найденному можно с помощью комбинации:

Переход к указанной строке по номеру

Вывести номер текущей строки, символа (позиции курсора)

Используйте комбинацию клавиш:

Другие команды

Key Words for FKN + antitotal forum (CS VSU):

  • linux nano
  • Linux nano сохранить файл
  • nano
  • ubuntu nano
  • nano как редактировать файлы
  • nano поиск текста
  • nano поиск строки
  • nano Перейти к следующему найденному объекту
  • nano Как работать в linux
  • nano Скопировать и вставить текст — копипаста
  • nano Выделить весь текст
  • nano Выделить всё
  • nano linux команды
  • nano linux Справочник основные команды
  • nano копировать в буфер
  • нано
  • справочник
  • nano remove several lines
  • удалить выделенное
  • nano go to line

Источник

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