Зашел тут разговор, а зачем люди делают touch, перед тем, как что-то записать в файл? Причем так делает большинство, да и в учебниках повсюду это пихают. Но какой в этом смысл, если при записи все равно будет создан файл? Я имею в виду такую ситуацию:
все же проще:
И не нужно никакого touch. Так откуда взялась эта дурная привычка? И дурная ли она? Почему мы не делаем тогда типа такого?
Оно ведь тоже создает новый файл…
На самом деле правильного ответа нет. Единственно что нужно знать, это — используя 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
touch file.txt
vim file.txt
:w
все же проще:
vim file.txt
:w
И не нужно никакого touch. Так откуда взялась эта дурная привычка? И дурная ли она? Почему мы не делаем тогда типа такого?
dd if=/dev/zero of=newfile bs=1 count=0
Оно ведь тоже создает новый файл…
На самом деле правильного ответа нет. Единственно что нужно знать, это — используя touch ты всегда будешь уверен, что сможешь записать свои данные в файл.
А не когда набрал в vim кучу текста, сохраняешь, а оно тебе
Да и еще touch используется для обновления даты модификации. Кстати очень удобная штука. Например, ты редактировал конфиг nginx в прошлом году, но всем нужно показать что вчера, делаешь touch nginx.conf и проставляется актуальная дата и время. И в bash скриптах можно использовать, если есть какая-то логика с lock файлами, таймштампами и т.п.
А как правильно создавать файлы? А просто! Правильный способ для создания файлов, это любая команда, которая использует системный вызов create или open (с флагом O_CREATE). Таких команд и программ дофига.
Вообще ситуацию можно сравнить с grep, мы его используем, потому что не знаем ничего лучше. Старая школа и мышечная память. Ну или сравним с гуглом и chatgpt, я знаю что gpt найдет и даст ответ быстрее, но я все же предпочитаю гуглить.
А все мифы о том, что в старых linux с ядром 0.97 нужно было обязательно использовать touch, всего лишь мифы.
Кстати есть еще такой древний строковый редактор, называется ed. Идет в коробке почти со всеми дистрибутивами. Этот редактор изначально требовал наличия файла перед его редактированием. И да, из этого редактора выйти намного сложнее чем из vim. Попробуй ради интереса.
Как-то так. А как ты создаешь файлы?
tags: #linux
—