как создать несколько файлов в linux
Создание файлов в Linux. Команда touch
В Linux у каждого файла есть временные метки. В них хранится информация о времени последнего доступа, времени последней модификации (изменения содержимого) и времени последнего изменения (изменения метаданных). Поэтому при создании нового файла, доступе к файлу или его модификации временные метки этого файла автоматически обновляются.
В данном руководстве мы рассмотрим несколько полезных практических примеров использования команды touch. Это стандартная программа операционных систем Unix/Linux, используемая для создания и изменения временных меток файлов.
Синтаксис touch
Опции команды следующие:
-a изменить только время доступа
-m изменить только время модификации
-c не создавать файл, если он не существует
-r использовать время доступа и модификации заданного файла
-t использовать заданные дату и время вместо текущего
-d использовать дату и время, заданные в виде строки
—help вывести справочное сообщение и выйти
—version вывести информацию о версии и выйти
Создание пустого файла
Следующая команда создает новый пустой (размером 0 байт) файл с именем file1:
Создание нескольких файлов
При помощи команды touch можно создавать больше одного файла. Например, следующая команда создаст три файла – file1, file2 и file 3:
Также можно указывать диапазон, например:
Изменение времени доступа и модификации
Для изменения или обновления времени последнего доступа и модификации файла используются опции «-a» и «-m». Первая из них изменяет время доступа, и если в явном виде не указана вторая, время модификации остается неизменным. Следующая команда устанавливает текущее время доступа к файлу file1. Если файл не существует, будет создан новый пустой файл с таким именем:
Временные метки используются для сортировки и поиска файлов такими популярными командами Linux, как find и ls.
Запрет создания нового файла
Опция «-c» запрещает команде touch создавать новый файл. Например, следующая команда не будет создавать файл file4, если его не существует:
Установка заданного времени доступа и модификации
При помощи опций «-c» и «-t» можно задать время в явном виде. Формат команды следующий:
ВВ – первые две цифры года
ГГ – последние две цифры года.
Значения «ВВ» и» ГГ» можно не указывать: если «ГГ» в диапазоне 69-99, то «ВВ» автоматически устанавливается в 19, для «ГГ» 00-38 значение «ВВ» устанавливается в 20. Если не указать год вообще, то устанавливается текущий год. «ГГ» от 39 до 68 приводит к ошибке.
ММ – месяц (01-12)
ДД – день (01-31)
чч – час (00-23)
мм – минута (00-59)
сс – секунда (00-59), не обязательно
Например, следующая команда устанавливает дату и время доступа и модификации файла file1 в 10:26 16 января текущего года (2019):
Вместо опции «–t» можно использовать опцию «–d», которая позволяет задать дату и время в виде строки в более удобном и читаемом человеком формате, например:
Так как время и год не указаны, данная команда устанавливает дату 14 марта текущего года, а время – 00:00.
Использование временных меток другого файла
Команда touch с опцией «-r» позволяет задать файлу временные метки другого файла. Например, следующая команда установит для файла file2 временные метки file1. Таким образом, временные метки обоих файлов будут одинаковыми:
Создание файла с заданным временем
Опцию «-t» можно использовать для создания пустого файла с заданной временной меткой. Обратите внимание на отсутствие опции «-с»:
Приведенная команда создает файл с именем file5 и временной меткой 18:30:55 10 декабря 2018 года.
Заключение
Команда touch очень простая, и мы рассмотрели практически все ее опции. Однако, в разных версиях операционных систем ее работа может немного отличаться. Уточнить детали всегда можно на соответствующей man-странице.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Как создать файл в Linux: примеры создания при помощи командной строки
Рассмотрим 12 способов создания файла в Linux.
Эти способы тестировались на дистрибутиве Ubuntu, но будут работать на любой системе Linux.
Создание пустого файла при помощи touch
Пояснение: Команда touch предназначена для того, чтобы поменять дату изменения файла на текущую. Однако ее также часто используют для создания файлов.
Создание сразу нескольких пустых файлов при помощи touch
Создание пустого файла при помощи echo
Пояснение: Команда echo предназначена для вывода на экран строки, которая в нее передается. Символ > перенаправляет вывод в файл. Соответственно мы перенаправили пустоту в файл.
Трюк для создания пустых файлов
Пояснение: символ > перенаправляет вывод, а мы ничего не выводим, просто перенаправляем пустоту в файл. Это самый короткий способ создать пустой файл.
Или лучше такой пример:
Двоеточие в начале, чтобы случайно не записать вывод предыдущей команды в файл.
Создание файла с содержимым
Пояснение: Выводим строку 123 и перенаправляем этот вывод в файл. Файл будет содержать строку 123
Создание файла путем объединения других файлов с помощью cat
Пояснение: Команда cat выводит на экран содержимое на экран, однако мы перенаправляем этот вывод в файл. Соответственно мы создали файл big_file в котором находится содержимое из трех других файлов.
Создание файла с помощью любой команды и символа >
Мы можем создать файл, с помощью команд, которые выводят что-то на экран, записав этот вывод в файл. Например ps aux выводит информацию о текущих процессах в системе. Мы просто можно записать весь вывод этой команды в файл file.txt и потом его проанализировать.
Записываем в файл справку по команде man :
Записываем в файл календарь на 2021 год
Создание фала при помощи редактора nano
Этот редактор чуть более привычный простому пользователю, чем Vim, однако он должен быть установлен в вашей системе.
Проверить установлен ли nano в вашей системе можно с помощью следующей команды:
Результатом будет информация об установленном редакторе:
Либо сообщение об ошибке: Command ‘nano’ not found
Создание файла при помощи текстового редактора Vim
Если вы никогда не работали с этим редактором, то этот способ вам не подойдет, т.к. без пары часов за документацией Vim не освоить.
Создание файла определенного размера c помощью fallocate
Таким образом вы создали файл hello.txt размером 10 мегабайт.
Создание файла определенного размера с помощью dd
Создание файла-сокета c помощью команды mkfifo
После создания вам нужно установить на него права, чтобы нужные программы могли им пользоваться
Создание файла при помощи HEREDOC
Пояснение: мы сначала пишем cat file.txt причем вместо EOF может быть любая строка, которой нет в тексте, который мы собираемся написать. Затем когда мы завершили заполнение многострочного файла, просто переходим на следующую строку и вводим EOF. В итоге содержимое нашего файла будет:
Файлы в Linux
Типы файлов в Linux
В Linux всё является файлами и tty терминалы не исключение.
Или аналогичную команду
crw—w—-. 1 andrei tty 136, 1 Nov 19 12:43 /dev/pts/1
Доступно семь типов файлов: обычные, директории, символьные, блоки, сокеты, именованые каналы, символьные ссылки
— : regular file
d : directory
c : character device file
b : block device file
s : local socket file
p : named pipe
l : symbolic link
Тип c означает character. То есть этот файл может принимать и показывать символы
drwxr-xr-x. 118 root root 8192 Nov 19 11:02 /etc
Видно, что тип файла d. То есть directory
Для просмотра дисков/блоков выполните
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 8G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 7G 0 part ├─centos-root 253:0 0 6.2G 0 lvm / └─centos-swap 253:1 0 820M 0 lvm [SWAP] sr0 11:0 1 57.7M 0 rom /run/media/andrei/VBox_GAs_6.1.10
brw-rw—-. 1 root disk 8, 0 Nov 19 11:02 /dev/sda brw-rw—-. 1 root disk 8, 1 Nov 19 11:02 /dev/sda1 brw-rw—-. 1 root disk 8, 2 Nov 19 11:02 /dev/sda2
Можно убедитсья, что тип файлов b. То есть block
? означает что должен быть один любой символ.
brw-rw—-. 1 root disk 8, 1 Nov 19 11:02 /dev/sda1 brw-rw—-. 1 root disk 8, 2 Nov 19 11:02 /dev/sda2
[12] означает что должен быть либо символ 1 либо символ 2
brw-rw—-. 1 root disk 8, 1 Nov 19 11:02 /dev/sda1 brw-rw—-. 1 root disk 8, 2 Nov 19 11:02 /dev/sda2
Когда вы хотите узнать версию системы вы можете выполнить
Тип файла l означает link то есть это не настоящий файл, а ссылка
Если бы вы пользовались redhat то настоящим был бы redhat-release
Description: CentOS Linux release 7.9.2009 (Core)
Узнать расположение файла
Узнать где находится файл lsb_release можно командой which lsb_release. Чтобы сразу получить дополнительную информацию выполните
-rwxr-xr-x. 1 root root 15929 Mar 27 2015 /usr/bin/lsb_release*
Чтобы узнать откуда взялся файл можно воспользоваться командой rpm с опциями q (query) и f (file)
Чтобы скопировать файл в интерактивном режиме воспользуйтесь командой cp с опцией i (interactive)
interactive означает, что если файл с таким имененм существует, вас спросят прежде чем затирать его
cp: overwrite ‘./hosts’?
Чтобы создать директорию сразу же с поддиректорией внутри воспользуйтесь командлой mkdir с опцией p (parent)
total 0
drwxrwxr-x. 2 andrei andrei 6 Nov 19 13:40 heiheiru
Создать сразу несколько файлов
Чтобы создать одновременно несколько файлов с именами идущими по порядку выполните touch с <>
Чтобы скопировать директорию files в директорию sites со всем содержимым выполните
Директория files была скопирована в директорию sites, то есть теперь у sites есть поддиректория files.
sudo yum install tree
sites └── files ├── file1 ├── file2 ├── file3 ├── file4 └── file5 1 directory, 5 files
Первые шаги в командной строке
Для начала работы в терминале Linux не нужно быть гуру администрирования — достаточно знать список базовых команд для навигации и работы с файлами и папками.
Навигация
После подключения к серверу вы оказываетесь в домашней папке пользователя. Чтобы узнать точный путь к вашему текущему местонахождению, воспользуйтесь командой:
Она выведет текущую рабочую директорию (print working directory).
Если вам нужно перейти в другую папку, для этого используется команда cd (change directory) с указанием пути к нужной вам папке:
Говоря о навигации, нельзя не упомянуть сокращения для обозначения некоторых директорий:
/ | корневая папка сервера |
. |