Как изменить дату создания файла linux
Next: Разделение файла на меньшие Up: Средства управления файлами Previous: Определение типа и формата Contents Index
Для изменения времени модификации файла без исправлений его содержимого используйте команду touch. Укажите имя требуемого файла в качестве аргумента. По умолчанию время модификации устанавливается на текущий момент.
Чтобы сменить время модификации файла `pizzicato’ на текущий момент, введите:
$ touch pizzicato [Enter]
Если Вы хотите установить иное время модификации, укажите опцию `-d’ и требуемые дату и время в апострофах. Вы можете указать либо дату, либо время, либо и то и другое.
Для установки времени модификации файла `pizzicato’ на `17 мая 1999 14:16′, введите:
$ touch -d ’17 May 1999 14:16′ pizzicato [Enter]
Примечание: Если указать только дату, время устанавливается в `0:00′; если не указывать год, будет использован текущий.
Alex Otwagin 2002-12-16
Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.049 секунд. Запросов: 23.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Изменение метки времени файла в Linux — команда touch
Каждый файл в Linux ассоциирован с временной меткой, которая показывает время последнего доступа, последней модификации и последнего изменения.
Когда мы создаем новый файл или изменяем существующий или его атрибуты, эта временная метка автоматичекси изменяется
Touch — это команда которая используется для изменения временных меток (время доступа, время модификации и время изменения файла)
Данную команду Вы вряд ли будете использовать часто, но в некоторых случаях она может оказаться очень полезной
1. Создание нового файла используя touch
Вы можете создать пустой файл используя команду touch. Представленный ниже пример создаст файл нулевой длины с именем grnd.txt
$ touch grnd.txt
Вы также можете использовать опцию -с, чтобы избежать создания новых файлов. То бишь если мы используем ключ -c и файл с таким именем не существует, то команда touch не создаст этот файл.
$ touch -c abcd.txt
Такие команды как ls и find используют информацию о временных метках для вывода и поиска файлов.
Вы также можете создать более одного файла используя только одну команду touch. Пример показывает создание 4 файлов с именами ab de fj kl
$ touch ab de fj kl
2. Изменение метки времени доступа к файлу (Access)
Мы можем изменить метку о времени доступа к файлу используя ключ -a. По умолчанию установиться текущее системное время.
Сначала запустим команду команду stat, чтобы проследить дальнейшее изменение времени.
$ stat grnd.txt File: `grnd.txt' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 801h/2049d Inode: 3408768 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1001/ alexey) Gid: ( 4/ adm) Access: 2012-11-20 14:07:44.948481916 +0400 Modify: 2012-11-20 14:07:44.948481916 +0400 Change: 2012-11-20 14:07:44.948481916 +0400 Birth: -
Далее touch с ключом -a
$ touch -a grnd.txt
После выполнения команды опять проверим состояние файла:
$ stat grnd.txt File: `grnd.txt' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 801h/2049d Inode: 3408768 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1001/ alexey) Gid: ( 4/ adm) Access: 2012-11-20 14:27:29.264508552 +0400 Modify: 2012-11-20 14:07:44.948481916 +0400 Change: 2012-11-20 14:27:29.264508552 +0400 Birth: -
3. Изменить метку временя модификации (Modify)
Вы можете изменить время модификации используя ключ -m
$ touch -m *.o
Данную команду можно использовать для изменения времени модификации всех объектных файлов, например для использования утилиты make.
То бишь при использование данной команды возможно применение стандартных масок.
Примечание: Невозможно изменить метку времени изменения файла (Change) командой touch.
4. Явно задать время доступа и модификации
Помимо того, что Вы можете изменить метки на текущее время, Вы также можете задать явные значение этих времен, то бишь то время, которое Вам необходимо. Для этого используются ключи -t и -d
Формат при использовании ключа -t будет — [[CC]YY]MMDDhhmm[.SS] —
$ touch -t [[CC]YY]MMDDhhmm[.SS]
Обозначения данного формата:
CC – Показывает первые две цифры года.
YY – Показывает последние две цифры года. Если значение YY находится между 70 и 99, то значение СС принимается как 19. А если значение YY jn 00 до 37, то СС будет установлено как 20. Невозможно задать дату более 18 Января 2038 года.
MM – Показывает месяц
DD – Указывает дату
mm – минуты
SS – секунды
$ touch -a -m -t 203710141103.24 grnd.txt
Проверим результат выполнения:
:~$ stat grnd.txt File: `grnd.txt' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 801h/2049d Inode: 3408768 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1001/ alexey) Gid: ( 4/ adm) Access: 2037-10-14 11:03:24.000000000 +0400 Modify: 2037-10-14 11:03:24.000000000 +0400 Change: 2012-11-20 15:08:04.992597671 +0400 Birth: -
Рассмотрим другой пример с более удобочитаемой записью даты:
$ touch -d "2012-10-20 13:13:13.000000000 +0400" grnd.txt
Команда touch будет очень полезна для разработчиков, особенно если работать с Makefiles
5. Копировать метку времени с другого файла.
Вы также можете взять один файл как эталон и обновить метки времени другим файлам, то бишь другие файлы будут иметь метки времени такие же как и у эталонного. Для этого используется ключ -r
Приведем пример, обновим метки времени файлу ab.txt взяв за эталон метки файла grnd.txt
$ touch ab.txt -r grnd.txt
Как изменить время создания файла, тем самым, замаскировав шелл на сайте
Опять возвращаемся к вопросу сокрытия
шелла, залитого на сайт. Каким образом админы находят и удаляют
залитые файлы? Вариантов много, но один из них — это поиск по
дате создания и изменения файла. А это время мы можем изменить,
тем самым, усложнив админу задачу. Конечно, не панацея, но иначе
шансы спалиться резко возрастают.
1. Поставить на файл определенную дату, формат: год месяц
число час минута.
touch -t200811182005 apach.php
touch -d ‘Jan 31 2007 12:34:56’ apach.php
2. Сделать file5 того же времени, что и file4:
touch -r file4 file5
3. Сделать file7 30 секундами старше, чем file6:
touch -r file6 -B 30 file7
4. Сделать file7 30 секундами моложе, чем file6:
touch -r file6 -F 30 file7
То же самое можно сделать средствами PHP функцией touch():
Ну и наконец, на шелле r57 есть специальная вкладка с
одноименным названием, она поможет это сделать в удобном виде. Не
забывай, что для изменения атрибутов нужно иметь соответствующие
права.