Десять известных и малоизвестных способов создания пустого файла в консоли *NIX, на все случаи жизни:
1 способ
Самый простой, однако, малоизвестный способ:
$>emptyfile
где emptyfile – пустой файл, создаваемый в текущей директории;
Так можно создавать и множество пустых файлов, записывая их цепочкой:
$>emptyfile>emptyfile2>emptyfile3
Данный способ работает в оболочках bash (sh, bash2, ...) и Korn (ksh), но не работает в C-shell (csh), T-shell (tcsh) и некоторых других :(.
2 способ
Это один из самых распространенных способов создания пустого файла:
$touch emptyfile
Аналогично, можно создавать и множество empty-файлов, записывая их названия по порядку через пробелы:
$touch emptyfile emptyfile2 emptyfile3
3 способ
Еще один знаменитый способ:
$cat>emptyfile
Однако чтобы избавить себя от дополнительного нажатия горячих клавиш (Ctrl+D), данную команду следует вводить так:
$cat</dev/null>emptyfile
И соответственно для нескольких пустых файлов:
$cat</dev/null>emptyfile>emptyfile2>emptyfile3
4 способ
Это также не менее употребляемый способ:
$echo>emptyfile
Однако в результате этой команды файл получится не нулевого размера (1b) и будет содержать пустую строку. Если это имеет какое-нибудь значение, то для создания файла нулевого размера данную команду следует вводить так:
$echo>emptyfile>/dev/null
или так:
$echo 0>emptyfile
а для создания множества файлов, например, так:
$echo>emptyfile>emptyfile2>emptyfile3>/dev/null
Правда, последний файл в цепочке всегда будет создаваться с пустой строкой (в комбинации с «echo 0» - аналогично).
5 способ
Оригинальный способ — с помощью команды копирования и нулевого устройства:
$cp /dev/null emptyfile
Примечание: чтение из /dev/null всегда дает символы конца файла (EOF)!
Использовать команду mv для тех же целей ($mv /dev/null emptyfile) не рекомендуется, из-за возможных последующих сбоев системы.
6 способ
С помощью команды копирования данных dd:
$dd if=/dev/null of=emptyfile
для нескольких пустых файлов:
$dd if=/dev/null of=emptyfile>emptyfile2>emptyfile3
7 способ
Нестандартный способ, с помощью стандартной утилиты tee:
$tee emptyfile</dev/null
а для создания множества empty-файлов:
$tee emptyfile>emptyfile2>emptyfile3</dev/null
8 способ
Еще один оригинальный с помощью утилиты вызова командного интерпретатора shell – sh:
$sh>emptyfile exit
а можно и так:
$sh>emptyfile</dev/null
а для создания сразу нескольких файлов так:
$sh>emptyfile>emptyfile2>emptyfile3 exit
9 способ
И, конечно же, пустой файл можно создать с помощью стандартных текстовых редакторов, которых напихано в никсах, больше чем звезд на небе :). Но запускать редактор только для того, чтобы создать пустой файл как-то нерационально, поэтому с редактором vi, например, нужно поступать следующим образом:
$vi –c :wq emptyfile
Аналогично с редактором ex:
$ex –c :wq emptyfile
и для создания нескольких пустых файлов:
$vi –c :wq emptyfile>emptyfile2>emptyfile3
$ex –c :wq emptyfile>emptyfile2>emptyfile3
А вот как следует обходиться с двумя родственными редакторами ed и red:
ed>emptyfile</dev/null
red>emptyfile</dev/null
ed>emptyfile>emptyfile2>emptyfile3</dev/null
red>emptyfile>emptyfile2>emptyfile3</dev/null
10 способ
Последний способ не относится к чисто консольным, т. к. принадлежит народному файловому менеджеру mc. Для тех, кто не хочет утруждать себя лишним набором команд: в mc достаточно нажать комбинацию Shift+F4 с последующим сохранением.
Естественно, здесь перечислены далеко не все способы создания пустых файлов в никс-консоли, поэтому если ты знаешь еще какие-нибудь оригинальные способы, которые не попали в трикс, пиши ниже.