linux
Время для прочтения: 1 мин. 27 сек.

Как создать пустой файл в Linux?

Очень часто возникает необходимость создать пустой файл в папке, работая через терминал.

Порывшись на Linux форумах, обнаружил, что вариантов несколько. Предлагаю на выбор 11 способов.

Способ 1

touch — команда Unix, предназначенная для установки времени последнего изменения файла или доступа в текущее время. Также используется для создания пустых файлов.


#!/bin/sh
touch имя_файла

Способ 2

cat — утилита UNIX, выводящая последовательно указанные файлы (или устройства), таким образом, объединяя их в единый поток. Если вместо имени файла указывается «-», то читается стандартный ввод.


#!/bin/sh
cat /dev/null >имя_файла

Способ 3

tail — утилита в UNIX, выводящая несколько (по умолчанию 10) последних строк из файла.


#!/bin/sh
tail /etc/fstab | grep -E "^Moses$" >имя_файла

Способ 4

date — утилита Unix для работы с системными часами. Выводит текущую дату и время в различных форматах и позволяет устанавливать системное время.


#!/bin/sh
date 2>имя_файла

Способ 5

dd — программа Unix, предназначенная как для копирования, так и для конвертации файлов.


#!/bin/sh
dd count=0 if=/etc/inittab of=имя_файла

Способ 6

Vim — свободный режимный текстовый редактор, созданный на основе более старого vi. Ныне это один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, и созданным благодаря этому расширениям и надстройкам.


#!/bin/sh
vim -c wq имя_файла

Способ 7

cp — команда Unix в составе GNU Coreutils, предназначенная для копирования файлов из одного в другие каталоги (возможно, с другой файловой системой). Исходный файл остаётся неизменным, имя созданного файла может быть таким же, как у исходного, или измениться.


#!/bin/sh
cp имя_файла_0 имя_файла

Способ 8

echo — команда Unix, предназначенная для отображения строки текста. Команда echo — выводит текст (выводит текст на стандартное устройство вывода).


#!/bin/sh
echo >имя_файла

Способ 9


#!/bin/sh
echo '(with-open-file (x "имя_файла" :direction :output))' | clisp -

Способ 10


#!/bin/sh
cp /dev/null имя_файла

Способ 11


#!/bin/sh
: > имя_файла

Способ 12

Самый короткий из способов, любезно предоставленный пользователем stam.


#!/bin/sh
> имя_файла

Ссылки

  • Команда touch
  • Утилита Cat
  • Утилита Tail
  • Утилита Date
  • Утилита Dd
  • Текстовый редактор Vim
  • Команда Cp
  • Команда Echo

Для вставки кода используйте HTML-теги
<pre><code class="php">ваш код</code></pre>

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

6 комментариев

по хронологии
по рейтингу сначала новые по хронологии

Ещё короче способ: >new.txt

Автор
Кобзарёв Михаил

Спасибо, добавил в статью.

использую всегда первый способ.

спасибо за примеры

Автор
Кобзарёв Михаил

А я теперь 12-м пользуюсь за его лаконичность.

Спасибо за статью. 12 способ рулит 🙂

В 8-м способе создается не пустой файл, а весом в 1 байт... 🙂