TGViewer
Bash Days | Linux | DevOps Bash Days | Linux | DevOps @bashdays · 23.6K subscribers
Post #197 10.3K
Зашел тут разговор, а зачем люди делают touch, перед тем, как что-то записать в файл? Причем так делает большинство, да и в учебниках повсюду это пихают. Но какой в этом смысл, если при записи все равно будет создан файл? Я имею в виду такую ситуацию:

touch file.txt
vim file.txt
:w


все же проще:

vim file.txt
:w


И не нужно никакого touch. Так откуда взялась эта дурная привычка? И дурная ли она? Почему мы не делаем тогда типа такого?

dd if=/dev/zero of=newfile bs=1 count=0


Оно ведь тоже создает новый файл…

На самом деле правильного ответа нет. Единственно что нужно знать, это — используя touch ты всегда будешь уверен, что сможешь записать свои данные в файл.

А не когда набрал в vim кучу текста, сохраняешь, а оно тебе идикатывхуй, permission denied. Файл есть, но владелец кто-то другой. Короче говоря это быстрый способ выяснить, если ли у тебя права на запись, прежде чем ты начнешь редактирование.

Да и еще touch используется для обновления даты модификации. Кстати очень удобная штука. Например, ты редактировал конфиг nginx в прошлом году, но всем нужно показать что вчера, делаешь touch nginx.conf и проставляется актуальная дата и время. И в bash скриптах можно использовать, если есть какая-то логика с lock файлами, таймштампами и т.п.

А как правильно создавать файлы? А просто! Правильный способ для создания файлов, это любая команда, которая использует системный вызов create или open (с флагом O_CREATE). Таких команд и программ дофига.

Вообще ситуацию можно сравнить с grep, мы его используем, потому что не знаем ничего лучше. Старая школа и мышечная память. Ну или сравним с гуглом и chatgpt, я знаю что gpt найдет и даст ответ быстрее, но я все же предпочитаю гуглить.

А все мифы о том, что в старых linux с ядром 0.97 нужно было обязательно использовать touch, всего лишь мифы.

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

Как-то так. А как ты создаешь файлы?

tags: #linux
—
💩 @bashdays
  • 👍 116
More from @bashdays
  1. Sep 29, 2026Самый жаркий холивар в команде — это не systemd, а какие заказать роллы на всю команду. Од…
  2. Sep 24, 2026Post #1565
  3. Sep 23, 2026Здрасти приехали, решил я в кой-то веке воспользоваться услугами Codex, создал аккаунт, по…
  4. Sep 22, 2026Всем привет, с вами TagdTagd. Сегодня опять поднимем тему архивов, но немного с другой сто…
  5. Sep 15, 2026Всем привет, с вами TagdTagd. И это вторая часть. Практическая. С первой частью можешь озн…
  6. Sep 9, 2026Всем привет, с вами TagdTagd! Я тут вынужденно перешёл на MAX. Просто Telegram перестал ра…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →