Как очистить большой файл в Linux?

хм, сначала подумал что нужно очистить файл не изменяя его размера
а если нужно просто очистить то возможность сделать это вагон и маленькая тележка, да и гуглится довольно легко, например, из первых выдач — Как очистить файл журнала в Linux
Решения вопроса 3

админ из русского манчестера
Если кто то пишет в этот файл и мне нужно его очистить обычно делаю так
> /путь/logfile.log
Если что эта команда сотрет ВСЕ в файле!
Ответ написан более двух лет назад
Нравится 7 6 комментариев

shellnet @warlinx Автор вопроса
гениально, благодарю

Ещё в копилку truncate -s 0 file

shellnet @warlinx Автор вопроса
Lynn «Кофеман», благодарю за команду))

Александр Фалалеев @suffix_ixbt
И ещё один вариант:
echo -n «» | sudo tee file

Руслан Федосеев @martin74ua Куратор тега Linux
echo -n > file

cat /dev/null > file

When In Rome do as The Romans do.
Выше Dmitriy Loginov правильно дал команду, но чуть добавлю свои 5 копеек, т.к. такой вариант считается более кашерным:
sudo bash -c ‘>/путь/logfile.log’
или с двойными кавычками, что иногда необходимо в скриптах или комбинациях команд:
sudo bash -c «>/путь/logfile.log»
Чистит до нуля файл любого размера и любого расширения.
Например файл видоса:
sudo bash -c ‘>/путь/vidos.avi’
Ответ написан более двух лет назад
Комментировать
Нравится 1 Комментировать
Saboteur @saboteur_kiev Куратор тега Linux
software engineer
Можно вот так почистить с сохранением последних 100 строк:
LOG=$(tail -n100 file) && echo «$LOG»>file
а так по сути любое перенаправление «>» перезапишет содержимое файла не меняя его inode.
echo «» > file
Из команд —
truncate -s BYTES file
но оно обнуляет с начала файла, то есть -s 0 имеет смысл, остальные размеры обычно не имеют смысла для лог файлов.
Ответ написан более двух лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Linux
- +1 ещё
Почему меняется разрешение arch linux?
- 1 подписчик
- час назад
- 72 просмотра
Удалить все содержимое файла (очистить файл) в Unix/Linux


Хочу описать в своей статье «Удалить все содержимое файла в Unix/Linux» как можно очистить содержимое файла. Некоторые скажут что это банально, взял удалил файл и создал заново, делов то. Но иногда это не проще и не выход.
Тем более для общего развития, та кому то и пригодиться. Я вот, например, не все методы знал.
1. Если вы хотите очистить содержимое файла вы можете просто удалить файл и создать его заново:
$ rm -rf /home/captain/file_for_delete.txt
2. Существуют и другие методы очистки файла, например методом «echo».
Чтобы очистить свой файл, просто введите следующую команду. Я использую свой php_error.log файл, например.
# echo -n > /home/captain/some_file_for_clear.txt
3. Можно удалить содержимое файла с помощью редакторов, например VI/VIM. Открываем файл, я открою его vim:
# vim /home/captain/some_file_for_clear.txt
Когда открылся редактор, нажимаем «dG» и чтобы сохранить, используем сначала «:» и наживаем «wq» после чего нажимаем энтер.
PS: Команды нужно использовать без кавычек.
4. Используем null для очистки файла:
# cat /dev/null > /home/captain/file_clean.sh
# cp /dev/null > /home/captain/file_clean.sh
5. Еще 1 интересная команда для очистки файла:
# :> /home/captain/file_clean.sh
# > /home/captain/file_clean.sh
6. С помощью текстового редактора SED:
# sed -i 'd' file_clean.sh
Тема «Удалить все содержимое файла (очистить файл) в Unix/Linux» завершена.
Как очистить файл в Linux

В сегодняшней статье я вам буду рассказывать о разных способах очистки файла. Иногда всем нам приходится работать с файлами в терминале Linux и вдруг нам понадобилось очистить содержимое файла, не открывая сам файл с помощью каких-либо редакторов командной строки.
- Оператор перенаправления.
- Команда cat.
- Команда echo.
- Команда cp.
- Команда truncate.
- Итоги.
1. Оператор перенаправления.
Для очистки содержимого файла, мы можем просто использовать оператор перенаправления ( > ) перед именем файла.

2. Команда cat.
Еще вариант, вы можете очистить содержимое файла, перенаправив вывод /dev/null в файл в качестве ввода с помощью команды cat.
$. cat /dev/null > file1.sql

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

4. Команда cp.
Команда cp вообще-то используется на копирования чего-либо, но и очистить файл тоже может.
$. cp /dev/null file3.sql

5. Команда truncate.
С помощью команды truncate можно уменьшать и также увеличивать размер файла.
$. truncate -s 0 file4.sql

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

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

Очистка содержимого файла с использованием sudo
Описанный выше способ не работает, если вам нужно использовать sudo, то есть очистить файл от имени суперпользователя.
Для очистки файла с использованием sudo можно использовать команду:
sudo truncate -s 0 myfile.txt

Еще несколько способов
Есть множество способов, с помощью который можно очистить содержимое файла, используя командную строку Linux. Вот некоторые из них:
echo -n "" > myfile.txt
: > myfile.txt
true > myfile.txt
cat /dev/null > myfile.txt
cp /dev/null > myfile.txt
dd if=/dev/null of=myfile.txt
Будьте внимательны при использовании команд, которые очищают содержимое файлов, чтобы случайно не удалить нужные данные. Не забывайте делать резервные копии.