Linux время правки файла

Содержание
  1. How can I change ‘change’ date of file?
  2. Изменение метки времени файла в Linux — команда touch
  3. 🐧 Как узнать время и дату изменения файла в системах Linux
  4. Получение даты последнего изменения файла в Linux с помощью команды date
  5. Получение даты последнего изменения файла в Linux с помощью команды ls
  6. Получение даты последнего изменения файла в Linux с помощью команды stat
  7. Получение даты последнего изменения файла в Linux с помощью команды midnight commander
  8. Заключение
  9. You may also like
  10. 📜 Чтение файла построчно на Bash
  11. 📧 В чем разница между IMAP и POP3
  12. ✔️ Как управлять контейнерами LXD от имени обычного.
  13. 📜 Руководство для начинающих по созданию первого пакета.
  14. Феноменальная популярность электроники Xiaomi: основные причины
  15. 📜 Получение вчерашней даты в Bash: Практическое руководство
  16. Использование специальных гелей при мышечных болях
  17. 📦 Как расширить/увеличить файловую систему VxFS на Linux
  18. Услуги по размещению серверного оборудования в ЦОД
  19. Для чего выполняется ИТ консалтинг на предприятиях?
  20. Leave a Comment Cancel Reply
  21. • Свежие записи
  22. • Категории
  23. • Теги
  24. • itsecforu.ru
  25. • Страны посетителей
  26. IT is good

How can I change ‘change’ date of file?

You cannot change the ctime by ordinary means. This is by design: the ctime is always updated to the current when you change any of the file’s metadata, and there is no way to impose a different ctime. To change the ctime of a file, you need to do one of the following:

  • Set the system time to the ctime you want to impose, then touch the file, then reset the system time.
  • Modify the kernel to add an interface to change the ctime.
  • Access the disk image directly (e.g. with debugfs ) and twiddle the bits on the disk (don’t do it while the filesystem is mounted).

You have the answer on related SO question pointed by jw013, for extX, on unmounted disk :

# Update ctime debugfs -w -R 'set_inode_field /tmp/foo ctime 201001010101' /dev/sda1 # Drop vm cache so ctime update is reflected echo 2 > /proc/sys/vm/drop_caches 

$ NOW=$(date) && date -s «2030-08-15 21:30:11» && touch file.txt && date -s «$NOW»

The ctime of a file is updated when any of the metadata is changed.

$ ls -l x.py -rw-rw-r--. 1 ignacio ignacio 485 Mar 26 2010 x.py $ stat -c %z x.py 2010-03-26 11:57:56.237068175 -0400 $ chown ignacio x.py $ stat -c %z x.py 2012-04-08 15:31:33.682383575 -0400 $ ls -l x.py -rw-rw-r--. 1 ignacio ignacio 485 Mar 26 2010 x.py 

evandrix’s answer excerpted in the next line,
NOW=$(date) && date -s «2030-08-15 21:30:11» && touch file.txt && date -s «$NOW»
needs to be improved as described below :

In some systems like mine, date output doesn’t give a valid format to set with date -s

My system bash shell version : GNU bash, version 5.0.3(1)-release (x86_64-pc-linux-gnu)
My system date command version : date (GNU coreutils) 8.30

My system date command output and setting the date with this format is:

# date Tue 21 Jan 2020 01:36:22 PM +03 # date -s "Tue 21 Jan 2020 01:36:22 PM +03" date: invalid date ‘Tue 21 Jan 2020 01:36:22 PM +03’ 

So it is necessary to improve evandrix answer;
It would be better to assign the NOW variable to the timestamp value
change NOW=$(date) to NOW=$(date +@%s)

 NOW=$(date +@%s) && date -s "2030-08-15 21:30:11" && \ touch file.txt && date -s "$NOW" 

Adding sudo command for non root user

 sudo bash -c 'NOW=$(date +@%s); date -s "2030-08-15 21:30:11"; touch file.txt; date -s "$NOW"' 
 sudo bash -c 'NOW=$(date +@%s); date -s "$2"; touch "$1"; date -s "$NOW"' -- \ "file.txt" "2030-08-15 21:30:11" 

In this way for easy use, the filename and setting date are assigned as arguments at the end of the line.

Читайте также:  Файловый менеджер линукс терминал

Источник

Изменение метки времени файла в Linux — команда touch

Каждый файл в Linux ассоциирован с временной меткой, которая показывает время последнего доступа, последней модификации и последнего изменения.

Когда мы создаем новый файл или изменяем существующий или его атрибуты, эта временная метка автоматичекси изменяется

Touch — это команда которая используется для изменения временных меток (время доступа, время модификации и время изменения файла)

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

Вы можете создать пустой файл используя команду touch. Представленный ниже пример создаст файл нулевой длины с именем grnd.txt

Вы также можете использовать опцию -с, чтобы избежать создания новых файлов. То бишь если мы используем ключ -c и файл с таким именем не существует, то команда touch не создаст этот файл.

Вы также можете создать более одного файла используя только одну команду touch. Пример показывает создание 4 файлов с именами ab de fj kl

Мы можем изменить метку о времени доступа к файлу используя ключ -a. По умолчанию установиться текущее системное время.

$ 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: -

После выполнения команды опять проверим состояние файла:

$ 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)

Данную команду можно использовать для изменения времени модификации всех объектных файлов, например для использования утилиты make.

Помимо того, что Вы можете изменить метки на текущее время, Вы также можете задать явные значение этих времен, то бишь то время, которое Вам необходимо. Для этого используются ключи -t и -d

YY – Показывает последние две цифры года. Если значение YY находится между 70 и 99, то значение СС принимается как 19. А если значение YY jn 00 до 37, то СС будет установлено как 20. Невозможно задать дату более 18 Января 2038 года.

$ 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

Читайте также:  Как узнать кто root linux

Вы также можете взять один файл как эталон и обновить метки времени другим файлам, то бишь другие файлы будут иметь метки времени такие же как и у эталонного. Для этого используется ключ -r

Источник

🐧 Как узнать время и дату изменения файла в системах Linux

В этом туториале показаны 4 простых способа получения даты последнего изменения файла в Linux.

Прочитав это руководство, вы будете знать, как проверить дату последней модификации файла с помощью команд ls, date и stat и бонус метод с MC.

Получение даты последнего изменения файла в Linux с помощью команды date

Первый способ узнать дату последней модификации файла в Linux, описанный в этой статье, основан на команде date.

Когда за командой date следует флаг -r, она показывает нам дату последней модификации файла.

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

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

Для получения дополнительной информации о команде date посетите сайт https://man7.org/linux/man-pages/man1/date.1.html.

Получение даты последнего изменения файла в Linux с помощью команды ls

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

Сначала используем команду ls с флагом -l, как показано на скриншоте ниже.

Флаг -l указывает команде ls вывести список файлов в длинном формате.

Список в длинном формате включает дату последней модификации файла.

Как вы можете видеть, в первом столбце показаны права, во втором и третьем – пользователи и группы файлов.

Четвертый столбец – размер.

Затем вы можете увидеть месяц, день и время, когда файл был изменен.

В отличие от предыдущего метода с ls, вы получите список всех файлов в каталоге, включая даты их модификации.

Для упорядоченного вывода вы можете добавить флаг -t.

Флаг -t выведет упорядоченный по дате модификации вывод, показывая сначала последние измененные файлы.

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

Команда ls также позволяет проверить дату последней модификации файла по отдельности; для этого просто укажите имя файла, как показано ниже.

Читайте также:  Linux add route one host

Получение даты последнего изменения файла в Linux с помощью команды stat

Третий метод получения даты последней модификации файла в Linux, описанный в этой статье, показывает, как использовать команду stat для достижения этого результата.

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

Как вы можете видеть, вывод показывает больше информации, чем предыдущие команды.

Важно различать даты модификации и изменения.

Строка с именем Modify показывает последний раз, когда файл был изменен.

Строка с именем Change показывает последний раз, когда статус файла изменился; статус включает изменение прав, изменение владельца и т.д.

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

Получение даты последнего изменения файла в Linux с помощью команды midnight commander

Вы также можете запустить mc в каталоге, где лежит нужный нам файл и посмотреть дату изменения:

Заключение

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

Ни один из описанных методов не имеет особых преимуществ; все они могут быть реализованы легко и без установки дополнительных пакетов.

Для этого руководства я использовал Debian, но все описанные здесь команды доступны во всех дистрибутивах Linux.

Все описанные команды имеют дополнительные возможности, о которых вы можете узнать, прочитав man-страницы, указанные в конце каждого раздела.

itisgood
🐧 Перенаправление Bash объяснение с примерами
🛠️ Как устранить ошибку Initramfs в Fedora

You may also like

📜 Чтение файла построчно на Bash

📧 В чем разница между IMAP и POP3

✔️ Как управлять контейнерами LXD от имени обычного.

📜 Руководство для начинающих по созданию первого пакета.

Феноменальная популярность электроники Xiaomi: основные причины

📜 Получение вчерашней даты в Bash: Практическое руководство

Использование специальных гелей при мышечных болях

📦 Как расширить/увеличить файловую систему VxFS на Linux

Услуги по размещению серверного оборудования в ЦОД

Для чего выполняется ИТ консалтинг на предприятиях?

Leave a Comment Cancel Reply

• Свежие записи

• Категории

• Теги

• itsecforu.ru

• Страны посетителей

IT is good

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

В мире компьютерных игр Steam, платформа разработанная компанией Valve, является одной из самых популярных и широко используемых. Она предоставляет огромный выбор игр для…

В этой статье вы узнаете, как удалить удаленный Git-репозиторий. Процесс прост, но его полезно запомнить, чтобы избежать неожиданностей в будущем. Git – это…

В 11-й версии своей операционной системы Microsoft серьезно переработала интерфейс и убрала несколько привычных функций. Нововведения не всем пришлись по душе. Мы дадим…

Продажа ноутбука нередко становится хлопотным занятием. Кроме поиска покупателя, продавцу необходимо подготовить устройство перед проведением сделки. Но если последовательно выполнить все шаги, ничего…

Источник

Оцените статью
Adblock
detector