Вопрос: Как создать пустой файл из командной строки


Как я могу создать пустой файл из командной строки?


161
2018-01-14 19:03


Источник




Ответы:


Использовать touch команда:

The touch utility sets the modification and access times of files to the
current time of day. If the file doesn't exist, it is created with
default permissions.

Пример:

touch newfile

198
2018-01-14 19:06



Вы можете использовать touch newfile.txt или другое расширение (если вам нужно указать расширение). - gotqn
@gotqn для python touch newfile.py и для ruby ​​newfile.rb? - kouty
Но если newfile уже существует и не пусто, тогда touch newfile оставит вас с непусто файл. Возможно, не то, что вы хотели. - Camille Goudeseune
@CamilleGoudeseune Я думаю, что если newfile уже существует, touch команда будет просто обновить временную метку файла (для чего именно команда) без редактирования содержимого файла. - C0deDaedalus
Вам не нужно думать об этом; это правда! Но дело не в этом. - Camille Goudeseune


> newfile

Будет также Создайте пустой файл. Если файл уже существует, он будет усеченный (Опорожнения). Чтобы сохранить содержимое файла, используйте >> для добавления в:

>> file

Даже если файл существует, содержимое будет не тронуто.

редактировать: Если у вас нет содержимого для ввода, это быстрее:

user@host$ :> newfile
user@host$ :>> new_or_existing_file

Заметка. : это команда здесь. Это не часть подсказки.


73
2018-01-14 19:38



Теперь это ново. Является ли это bash-специфическим? - Tshepang
Я так не думаю. Любая оболочка, которая позволяет перенаправить выходной поток в файл, должна поддерживать это. Это приведет к усечению файла, если он уже существует. touch безопасен для использования, если вы не хотите его пустить. - balki
Ничего себе теперь я думаю, что это называется обманом системы - banarun


cat /dev/null > file1.ext 

точный способ есть и другой способ

echo "" > file2.ext 

Разница заключается в том, что file1.ext будет равен нулю, а file2.ext будет одним байтом. Вы можете проверить это на

ls -l file*.*

12
2018-01-15 06:56



Нет, «echo» «>» не создает пустой файл, он создает файл, содержащий новую строку. Если вы по какой-то причине хотите использовать эхо для создания пустого файла, вам нужно будет использовать «echo -n» «>» или просто «echo -n>», - andol


С помощью vim редактор, вы также можете создать пустой файл.

vim filename

Затем сохраните

:wq

7
2018-04-03 09:41



Ну, в этом случае нет текстового редактора, но vim, - Nephente


Команда

echo -n > file

создает пустой файл, если ваша версия echo поддерживает ключ -n.

Или вы можете использовать printf

printf '' > file

2
2018-06-22 09:47





Python однострочный:

$ python -c 'import sys,os;f=sys.argv[1];os.utime(f,None) if os.path.exists(f) else open(f,"a").close' myfile.txt

В принципе, реализация python touch,

Мы можем сделать это короче:

$ python -c 'import sys,os;f=sys.argv[1];'$'\n''with open(f,"a"): os.utime(f,None)' mysecondfile.txt 

0
2017-07-10 11:17