Все знают
touch как «создать пустой файл». Но это лишь верхушка айсберга.Что на самом деле делает
touch:Обновляет временные метки файла (access time, modification time). Создание файла — побочный эффект, если файл не существует.
Базовое использование:
# Создать пустой файл
touch app.log
# Обновить время изменения существующего файла
touch config.yaml
# Создать несколько файлов
touch file1.txt file2.txt file3.txt
Продвинутые флаги:
# Установить конкретное время
touch -t 202501150830.00 file.txt
# Формат: [[CC]YY]MMDDhhmm[.ss]
# Установить время как у другого файла
touch -r reference.txt target.txt
# Изменить только access time
touch -a file.txt
# Изменить только modification time
touch -m file.txt
# Не создавать файл, если не существует
touch -c file.txt
Полезные комбинации:
# Создать структуру директорий с файлами
mkdir -p app/{config,logs,data}
touch app/config/.gitkeep app/logs/.gitkeep
# Найти файлы старше 30 дней и "омолодить"
find /tmp -type f -mtime +30 -exec touch {} \;
# Обновить timestamp только если файл существует
[ -f config.json ] && touch config.json
# Создать файл с правами в одну команду
(umask 077 && touch secret.key)
touch — это швейцарский нож для работы с временными метками и файловыми операциями.📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера