Как сделать пустой файл линукс

Обновлено: 04.07.2024

Оригинал: Linux Fundamentals
Автор: Paul Cobbaut
Дата публикации: 16 октября 2014 г.
Перевод: А.Панин
Дата перевода: 12 декабря 2014 г.

Глава 7. Работа с файлами

Из данной главы вы узнаете о том, как определять тип файлов, создавать, удалять, копировать и перемещать файлы с помощью таких утилит, как file , touch , rm , cp , mv и rename .

Все имена файлов регистрозависимы

Имена файлов в Linux (или в любой системе Unix) являются регистрозависимыми. Это означает, что имена FILE1 и file1 не являются равноценными, а путь к файлу /etc/hosts отличен от пути к файлу /etc/Hosts (последнего файла не должно существовать в файловой системе типичного компьютера, работающего под управлением Linux).

В данном примере продемонстрировано различие между двумя файлами, причем имя первого файла начинается с заглавной буквы W , а второго - с прописной буквы w .

Все является файлом

Любая директория на самом деле является файлом (с регистрозависмым именем!), хотя этот файл и имеет специальный тип. Каждый терминал (например, /dev/pts/4 ), любой жесткий диск или раздел на нем (например, /dev/sdb1 ) и любой процесс представлены где-либо в рамках файловой системы с помощью файла . После изучения данной главы у вас не останется сомнений в том, что в Linux все является файлом .

Утилита file

Утилита file предназначена для определения типа файла. В Linux для определения типов файлов не используются их расширения. Для инструментов с интерфейсом командной строки абсолютно безразлично, оканчивается ли имя файла на .txt или на .pdf. Исполняя обязанности системного администратора, вы должны использовать команду file для установления типа интересующего вас файла. Ниже приведено несколько примеров использования данной утилиты при работе с типичной системой Linux.

Утилита file использует файл со списком "магических последовательностей байт", содержащий шаблоны для распознавания типов данных. Файл со списком "магических последовательностей байт" расположен по пути /usr/share/file/magic . Используйте команду man 5 magic в случае необходимости получения дополнительной информации о нем.

Важно отметить, что для работы с такими специальными файлами, как файлы из директорий /dev и /proc , следует использовать команду file -s .

Утилита touch

Создание пустого файла

Один из простых способов создания пустого фала заключается в использовании утилиты touch . (Позднее в данной книге мы рассмотрим множество других способов создания файлов.)

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

Команда touch -t

Утилита touch позволяет устанавливать набор значений свойств пустых файлов в процессе их создания. Удастся ли вам определить, какие значения свойств были установлены, ознакомившись с приведенным ниже примером? Если вы не смогли разобраться самостоятельно, обратитесь к странице руководства для утилиты touch .

Удаление файлов навсегда

В том случае, если вам больше не нужен файл, следует использовать утилиту rm для его удаления. В отличие от некоторых графических пользовательских интерфейсов, интерфейс командной строки системы не предполагает использования таких хранилищ файлов, как корзина , предназначенных для последующего восстановления удаленных файлов. Если вы удалили файл с помощью утилиты rm , этот файл будет удален навсегда. Исходя из этого, следует проявлять осторожность при удалении файлов!

Команда rm -i

Команда rm -rf

По умолчанию с помощью команды rm -r невозможно удалить непустые директории. Однако, утилита rm принимает параметры, которые позволят вам удалять любую директорию. Команда rm -rf известна благодаря тому, что она позволяет удалять все элементы файловой системы (конечно же, в том случае, если вы имеете достаточные права для выполнения этой операции). В том случае, если вы вошли в систему, воспользовавшись учетной записью пользователя root, следует проявить особую осторожность при использовании команды rm -rf (параметр f расшифровывается как force (принудительное выполнение операции), а параметр r - как recursive (рекурсивный обход директорий)), так как в случае работы с учетной записью пользователя root, упомянутые ограничения прав не будут распространяться на вас. Вы сможете в буквальном смысле удалить все файлы вашей системы по неосторожности.

Утилита cp

Копирование отдельных файлов

Для копирования файла следует использовать утилиту cp с аргументами, представленными путями к исходному и целевому файлам.

Копирование файлов в другую директорию

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

Команда cp -r

Для копирования директорий целиком следует использовать команду cp -r (параметр -r позволяет осуществлять рекурсивное копирование всех файлов из всех поддиректорий).

Копирование множества файлов в директорию

Вы также можете использовать утилиту cp для копирования множества файлов в одну директорию. В этом случае последний аргумент (аргумент, указывающий на цель) должен быть представлен путем к директории.

Команда cp -i

Для предотвращения перезаписи существующих файлов в ходе использования утилиты cp следует использовать параметр -i (для активации интерактивного режима копирования).

Утилита mv

Переименование файлов с помощью утилиты mv

В том случае, если вам необходимо переименовать один файл, утилита mv является предпочтительным инструментом.

Переименование директорий с помощью утилиты mv

Команда mv -i

Утилита mv поддерживает параметр -i по аналогии с утилитами cp и rm .

В примере ниже показано, как при использовании команды mv -i запрашивается подтверждение перезаписи существующего файла.

Утилита rename

Об утилите rename

Утилита rename является одним из редких случаев, когда в рамках книги "Фундаментальные основы Linux" приходится делать разделение между дистрибутивами Linux. Практически каждая из описанных в данной книге утилит работает практически на каждом компьютере под управлением Linux. Но реализации утилиты rename в различных дистрибутивах отличаются.

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

Утилита rename в дистрибутиве Debian/Ubuntu

Утилита rename в дистрибутиве Debian имеет сложный синтаксис (используются регулярные выражения) для единовременного переименования множества файлов.

Ниже приведен пример использования утилиты rename , с помощью которой у всех файлов с расширением .txt производится замена расширения на .jpg.

Во втором примере производится замена всех (первых) вхождений слов "file" на "document" во всех файлах с расширением .jpg.

Утилита rename в дистрибутиве CentOS/RHEL/Fedora

В Red Hat Enterprise Linux синтаксис утилиты rename немного отличается. В первом примере, представленном ниже, осуществляется переименование всех файлов с расширением .conf (*.conf) путем замены всех вхождений .conf на .backup.

Во втором примере производится переименование всех файлов (*) путем замены всех вхождений one на ONE.

Практическое задание: работа с файлами

1. Выведите список файлов директории /bin.

2. Выведите информацию о типах файлов /bin/cat, /etc/passwd и /usr/bin/passwd.

3b. Выведите информацию о типах файлов wolf.jpg и LinuxFun.pdf.

3c. Переименуйте файл wolf.jpg в wolf.pdf (с помощью команды mv).

3d. Выведите информацию о типах файлов wolf.pdf и LinuxFun.pdf.

4. Создайте директорию ~/touched и перейдите в нее.

5. Создайте файлы today.txt и yesterday.txt в директории touched.

6. Измените дату создания файла yesterday.txt таким образом, чтобы она совпадала с датой прошлого дня.

7. Создайте копию файла yesterday.txt с именем copy.yesterday.txt.

8. Переименуйте файл copy.yesterday.txt в kim.

9. Создайте директорию с именем ~/testbackup и скопируйте все файлы из директории ~/touched в нее.

10. Используйте одну команду для удаления директории ~/testbackup и всех файлов из нее.

11. Создайте директорию ~/etcbackup и скопируйте файлы с расширением .conf (*.conf) из директории /etc в нее. Проверьте, был ли осуществлен обход всех поддиректорий директории /etc?

12. Используйте утилиту rename для переименования всех файлов с расширением .conf (*.conf) таким образом, чтобы расширения всех этих файлов изменились на .backup. (Если у вас есть возможность работы более чем со одним дистрибутивом, попробуйте выполнить эту операцию во всех этих дистрибутивах!).

Корректная процедура выполнения практического задания: работа с файлами

1. Выведите список файлов директории /bin.

2. Выведите информацию о типах файлов /bin/cat, /etc/passwd и /usr/bin/passwd.

3b. Выведите информацию о типах файлов wolf.jpg и LinuxFun.pdf.

3c. Переименуйте файл wolf.jpg в wolf.pdf (с помощью команды mv).

3d. Выведите информацию о типах файлов wolf.pdf и LinuxFun.pdf.

4. Создайте директорию ~/touched и перейдите в нее.

5. Создайте файлы today.txt и yesterday.txt в директории touched.

6. Измените дату создания файла yesterday.txt таким образом, чтобы она совпадала с датой прошлого дня.

7. Создайте копию файла yesterday.txt с именем copy.yesterday.txt.

8. Переименуйте файл copy.yesterday.txt в kim.

9. Создайте директорию с именем ~/testbackup и скопируйте все файлы из директории ~/touched в нее.

10. Используйте одну команду для удаления директории ~/testbackup и всех файлов из нее.

11. Создайте директорию ~/etcbackup и скопируйте файлы с расширением .conf (*.conf) из директории /etc в нее. Проверьте, был ли осуществлен обход всех поддиректорий директории /etc?

Будут скопированы исключительно файлы с расширением .conf (*.conf), находящиеся непосредственно в директории /etc/.

12. Используйте утилиту rename для переименования всех файлов с расширением .conf (*.conf) таким образом, чтобы расширения всех этих файлов изменились на .backup. (Если у вас есть возможность работы более чем со одним дистрибутивом, попробуйте выполнить эту операцию во всех этих дистрибутивах!).

Создание файлов и директорий в терминале Linux.

Создание текстовых файлов в терминале Linux.

Текстовый файл в терминале Linux можно создать тремя способами.

1. С помощью команды touch:

Вводим команду touch, затем путь и название нового файла.

Например, создадим текстовый файл в текущей директории с именем file.txt:

Результат выполнения команды touch

2. С помощью перенаправления стандартного потока вывода любой команды.

О перенаправлении стандартных потоках вывода в файл более подробно будет рассказано в одной из следующих статей о терминале Linux.

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

В общем виде команда будет следующей:

То есть, команда с выводом, затем галочка вправо >, означающая перенаправление вывода команды в файл и путь к файлу.

Например, перенаправим вывод справки команды ls в файл, который будет создан (а если такой файл есть, то он будет полностью перезаписан):

Перенаправление потока вывода в файл

Но это мы создали не пустой файл, а если хотим создать пустой, то воспользуемся командой echo c переданной ей пустой строкой (две одинарных ковычки) и перенаправим это в файл:

3. С помощью любого текстового редактора, консольного или с графическим интерфейсом.

Передаем команду запуска любого текстового редактора и путь к файлу.

Самый простой консольный текстовый редактор это nano:

Или с помощью текстового редактора с графическим интерфейсом, который установлен в Gnome по умолчанию:

Про манипуляции с текстом более подробно в одной из следующих статей о терминале Linux.

Создание директорий (каталогов) в терминале Linux.

Создание каталогов выполняется командой "mkdir" (от англ. make directory):

Создание директории в терминале

Создать директорию с именем "dir1":

Создать две директории одновременно:

Создать дерево директорий:

Удаление файлов и директорий в терминале Linux.

Удаление директорий (каталогов) в терминале Linux.

Для удаления директорий используется команда "rmdir" (от англ. remove directory):

Удаление директории в терминале

Удаляются директории аналогично, как и создаются. Такие же команды.

Удаление файлов в терминале Linux.

Для удаления файлов используется команда "rm" (от англ. remove).

Работает очень просто, пишете команду rm и путь к файлу, который хотите удалить:

Удаление файла в терминале

Удалить файл с именем "file1":

Но команда "rm" позволяет удалять не только файлы, но и директории (каталоги) вместе с их содержимым.

Удалить директорию с именем "dir1" и рекурсивно всё её содержимое:

Удалить две директории и рекурсивно их содержимое:

Также можно добавить параметр -f, который означает, что при удалении не будет запрашиваться подтверждение на удаление. Команды будут выглядеть так:

Перемещение и переименование файлов и директорий в терминале Linux.

Для перемещения и переименовывания файлов и директорий (каталогов) используется команда "mv" (от англ. move).

Всё очень просто. Чтобы переименовать файл, выполняем команду:

Переименование файла в терминале

Чтобы переместить файл:

Перемещение файла в терминале

Копирование файлов и директорий в терминале Linux.

Для копирования используется команда "cp" (от англ. copy).

Копирование файла в терминале

Копировать директорию dir1 в директорию dir2:

Копировать файл с именем file1 в директорию c именем dir1:

Справка о командах.

У каждой команды присутствует множество параметров, чтобы узнать их, просто наберите команду и параметр --help:

Команда touch в Linux

Как известно, в операционных системах Linux присутствует огромное количество встроенных терминальных команд, выполняющих самые разнообразные действия. Некоторые из них позволяют устанавливать программы, другие предназначены для управления логическими томами и жесткими дисками. Существуют среди них и те, которые созданы для взаимодействия с файлами. Одна из таких команд называется touch, и именно о ней мы и хотим рассказать в рамках данного обучающего материала.

Используем команду touch в Linux

Для использования команды touch в Linux потребуется изучить ее синтаксис и понять принципы ввода. С этим не должно возникнуть никаких проблем, поскольку сама утилита довольно проста, а с доступными опциями можно разобраться буквально за несколько минут. Давайте как раз и начнем с этого.

Синтаксис

Обратим внимание на стандартный вид строки при вводе команды touch. Она выглядит так: touch + [Опции] + Файл . Если же действие нужно осуществить от имени суперпользователя, в начале строки придется добавить sudo, а после ее активации написать пароль, подтверждающий учетную запись. Что касается дополнительных опций, то стоит отметить следующие:

  • ––help и ––version используются редко. Первая опция даст возможность прочесть официальную документацию, а вторая отобразит текущую версию утилиты.
  • -a отвечает за изменение времени доступа к указанному файлу.
  • -m изменяет время модификации.
  • -c определяет, что объект с указанным именем создан не будет.
  • -r позволит использовать время доступа и модификации указанного файла.
  • -t предназначена для изменения даты и времени путем ручного ввода.
  • -d использует дату и время, заданные в виде строки.

Теперь вы знаете абсолютно обо всех доступных опциях рассматриваемой сегодня команды. Давайте перейдем к изучению параметров, чтобы разобраться со всеми основными действиями, выполняемыми при помощи данной утилиты.

Генерация пустых файлов

Для начала разберемся с действием команды touch без применения каких-либо аргументов — так она создает пустой файл размером 0 байт с указанным названием.

Переход к терминалу для использования команды touch в Linux

Ввод команды touch в Linux для создания нового файла

Успешное создание файла через команду touch в Linux

Составление списка файлов для одновременного создания через touch в Linux

Автоматическое создание перечня файлов через команду touch в Linux

Больше команда touch без применения аргументов ничего сделать не способна, поэтому давайте сразу же перейдем к разбору примеров взаимодействия с опциями.

Установка времени последнего доступа

Как вы уже знаете, одна из опций рассматриваемой команды разрешает изменить время доступа к файлу на текущее. Осуществляется это путем ввода всего одной строки которая имеет вид touch -a file , где file — имя необходимого объекта. Количество перечисляемых элементов для одной строки не ограничивается. При этом время последнего изменения не устанавливается, если только в данной строке не дописана дополнительная опция -m, о ней мы и поговорим далее.

Установка времени последнего доступа для указанного файла через touch в Linux

Установка времени последнего изменения

По той же аналогии работает и упомянутый выше аргумент -m. Ое переназначает время последнего изменения на текущее, а строка выглядит так: touch -m file . Все внесенные изменения вступают в действие сразу же, а это значит, что вы можете переходить к их проверке или к выполнению других задач, ради которых и вызывалась команда touch с опцией -m.

Установка времени последнего изменения для указанного файла touch в Linux

Запрет на создание объекта

Простая утилита touch иногда позволяет реализовать и сложную цель путем ввода буквально одной строки в консоль. После выполнения команды touch -c file , где file — точное название нужного файла, элемент с указанным именем нельзя будет создать обычному пользователю. Деактивируется эта опция только после того, как привилегированный пользователь создаст пустой объект с таким же названием через эту же команду. Дополнительно ничего не мешает вам создать список из названий, чтобы одновременно установить на них ограничения.

Запрет на создание файла с указанным названием в touch в Linux

Установка времени доступа и изменений

Приведенные выше опции -a и -m позволяли только изменить параметры файла, установив текущее время, однако имеется возможность задать абсолютно любое время с точностью до секунды. При этом главное — соблюдать правило ввода: [[ВВ]ГГ]ММДДччммм[.сс] , где ВВ — первые две цифры года, ГГ — вторые, ММ — месяц, ДД — дата, чч — часы, мм — минуты, сс — секунды. Необходимая команда получается такой: touch -c -t 01261036 file .

Изменение файла с заранее указанным временем через touch в Linux

Если вы заинтересованы в просмотре итогового результата, напишите в консоли ls -l и нажмите на Enter. В списке остается только отыскать необходимый файл и просмотреть, когда он был модифицирован.

Просмотр созданного файла с заранее указанным временем через touch в Linux

Перенос временных меток выбранного файла

Если вы ознакомились с приведенной выше информацией, то знаете, что опция -r разрешит перенести временные метки одного объекта на другой. Осуществляется это через строку: touch -r file1 file2 , где file1 — уже имеющийся файл с определенными временными метками, а file2 — новый объект, к которому они и будут применены.

Создание файла с переносом времени с другого объекта через touch в Linux

Создание файла с указанным временем

В конце данного материала отметим, что по умолчанию touch создает файлы с актуальным временем, однако это можно изменить, применив всего одну опцию: touch -t 201912101830.55 file , где 201912101830.55 — точно указанное время на ваш выбор, а file — название того самого объекта или объектов, если они будут представлены в виде списка.

Создание файла с заранее указанным временем touch в Linux

Теперь вы знакомы с командой touch, которая активно используется в Linux для создания файлов. Это могут быть как отдельные тестовые элементы, так и объекты, добавленные для определенных целей. Пользователь уже сам решает, в каком русле применять возможности утилиты. Если вас заинтересовала тема основных команд этой операционной системы, предлагаем изучить представленные далее материалы.

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Существует несколько способов создания документов в Ubuntu, используя графический интерфейс и командную строку. Все эти методы действительно просты и удобны в использовании. Возможно, вы использовали эти методы ранее в Ubuntu для некоторых других целей. Однако в этой статье мы покажем вам 8 различных способов создания документов в Ubuntu.

В этой статье я буду использовать Ubuntu 18.04 LTS для описания процедуры, упомянутой в этой статье.

Создание пустых документов с использованием Сенсорная команда

Вы можете легко создавать новые пустые документы в Ubuntu с помощью сенсорной команды. С помощью сенсорной команды вы также можете создавать несколько документов одновременно.

Чтобы создать пустой документ с помощью сенсорной команды, откройте Терминал, нажав одновременно клавиши Ctrl + Alt + T . Затем в Терминале перейдите в каталог, в котором вы хотите сохранить новый документ, используя команду cd , затем введите touch и имя документа:


Чтобы создать несколько документов одновременно, используйте следующий синтаксис:


Создание пустых документов с помощью команды Cat

Cat обозначает конкатенацию. Это помогает создавать один и несколько документов, как команда Touch. Однако, помимо создания пустого документа, вы можете также добавить текст во вновь созданный документ в том же экземпляре. С помощью команды Cat вы также можете просматривать содержимое документа в Терминале, не открывая документ в другой программе.

Чтобы создать пустой документ с помощью команды cat, откройте Терминал, перейдите к нужному каталогу и введите cat , за которыми следуют символ > и название документа. Ниже приведен синтаксис для создания документа:

Теперь отредактируйте документ и нажмите Ctrl + D , чтобы сохранить его.


Чтобы создать несколько документов, используйте следующее синтаксис:

Однако для редактирования этих документов вам нужно будет редактировать и сохранять по одному документу за раз, например:


Чтобы просмотреть содержимое документа, введите команду в Терминале, используя следующий синтаксис:


Использование шаблона документа

Самый простой способ создать документ в Ubuntu - использовать щелчок правой кнопкой мыши. контекстное меню. Эта опция была доступна в предыдущих выпусках Ubuntu, но она не включена по умолчанию в Ubuntu 18.04 LTS. Однако, к счастью, вы можете включить эту опцию.

Откройте Терминал и введите следующую команду:


Он создаст пустой документ в каталоге шаблонов. Теперь, когда вам нужно создать новый документ в определенном каталоге. Просто откройте этот каталог и щелкните правой кнопкой мыши на пустом месте. Перейдите к Новый документ> Пустой документ.


Он создаст пустой документ в той же директории, вы можете открыть и редактировать этот документ.

Использование LibreOffice Writer для создания Документы

Вы можете использовать приложение Writer LibreOffice для создания документов в Ubuntu. Ubuntu 18.04 LTS поставляется с предустановленной программой записи LibreOffice. Чтобы запустить приложение, откройте меню Dash или нажмите клавишу Windows, затем найдите ключевое слово LibreOffice writer , введя его в поле поиска.Затем из результатов поиска нажмите на приложение.


Это запустит приложение. Отредактируйте документ и затем нажмите Ctrl + S , чтобы сохранить документ.


Использование текстовых редакторов для создания документов

Как правило, текстовые редакторы используются для редактирования. текстовые и конфигурационные файлы в Ubuntu. Однако вы также можете использовать их для создания нового документа. Некоторые из популярных текстовых редакторов в Ubuntu - это Gedit, Emacs, Nano и Vim. Некоторые из них являются командной строкой, а некоторые на основе графического интерфейса. Gedit - это текстовый редактор на основе графического интерфейса, Emacs - это текстовый редактор с графическим интерфейсом и командной строкой, и вы можете использовать любой из них. В то время как остальные редакторы Nano и vim являются только редакторами командной строки.

Как мы уже обсуждали ранее в одной из наших предыдущих статей об использовании этих редакторов. Итак, здесь мы кратко рассмотрим, как создать новый документ, используя эти текстовые редакторы

Gedit Editor

Чтобы запустить Gedit, откройте меню Dash или нажмите клавишу Windows, затем выполните поиск по ключевому слову Gedit, набрав это в окне поиска. Затем в результатах поиска нажмите Text Editor.


Откроется пустой документ. Отредактируйте документ и затем нажмите Сохранить , чтобы сохранить документ.


@ Emacs Editor

Чтобы создать новый документ в определенном каталоге с помощью Emacs Editor, откройте Терминал и введите команду в следующем синтаксисе:


Если вы находитесь в той же директории, где находится документ, вы можете просто ввести имя документа, а не вводить весь путь.

Это создаст и откроет новый документ в редакторе. Вы можете редактировать новый документ здесь. Затем нажмите Сохранить , чтобы сохранить документ.


Nano Editor

Чтобы создать новый документ в определенном каталоге с помощью Nano Editor, откройте терминал и введите команду в следующем синтаксисе:

Она создаст и откроет новый документ в Терминале, отредактирует документ и нажмите Ctrl + O , чтобы сохранить документ, и Ctrl + X закрыть редактор.


Vim Editor

Чтобы создать новый документ в определенном каталоге с помощью Vim Editor, откройте терминал и введите команду в следующем синтаксисе:

Это создаст и откроет новый документ в Терминале. Чтобы отредактировать документ, нажмите i . Чтобы сохранить и выйти из редактора, нажмите клавишу Esc и введите: wq.


Итак, в этой статье мы увидели, что есть несколько способов, с помощью которых мы можем создавать документы в Ubuntu. 18.04 LTS. Вы можете выбрать тот, который вам удобнее и проще в использовании.

Читайте также: