Linux изменить дату создания каталога

Linux изменить дату создания каталога

Приветствую всех.
Возникла необходимость изменить ctime папки, но вот никак не могу сообразить где и как это можно сделать. Подскажите, люди, кто может 🙂
Система Linux.

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

  • Изменить время создания папки, tux2002, 12:40 , 31-Окт-08, ( 1 )
    • Изменить время создания папки, Junior, 12:49 , 31-Окт-08, ( 3 )
    • время ?? папки, Andrey Mitrofanov, 12:54 , 31-Окт-08, ( 4 )
      • время ?? папки, tux2002, 13:22 , 31-Окт-08, ( 6 )
  • Изменить время создания папки, Gennadi, 12:48 , 31-Окт-08, ( 2 )
    • Изменить время создания папки, Junior, 12:58 , 31-Окт-08, ( 5 )

Сообщения по теме [Сортировка по времени | RSS]

>Приветствую всех.
>Возникла необходимость изменить ctime папки, но вот никак не могу сообразить где
>и как это можно сделать. Подскажите, люди, кто может 🙂
>Система Linux.

Можно тронуть (touch) в текущую дату.

1 . «Изменить время создания папки»
Сообщение от tux2002 on 31-Окт-08, 12:40
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3 . «Изменить время создания папки»
Сообщение от Junior (ok) on 31-Окт-08, 12:49

>>Приветствую всех.
>>Возникла необходимость изменить ctime папки, но вот никак не могу сообразить где
>>и как это можно сделать. Подскажите, люди, кто может 🙂
>>Система Linux.
>
>Можно тронуть (touch) в текущую дату.

Спасибо огромное!
То, что нужно, совсем забыл об этой команде.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4 . «время ?? папки»
Сообщение от Andrey Mitrofanov on 31-Окт-08, 12:54

>>Возникла необходимость изменить ctime папки
>Можно тронуть (touch) в текущую дату.

А можно и не текущую:

$ touch -m -d «15 minutes ago» $NAME

Вроде, так. На директориях, вроде, работало тоже.

Только вот про время _создания_ — не уверен.

Time of last access/modification/change есть, про «создание» — тишина

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6 . «время ?? папки»
Сообщение от tux2002 on 31-Окт-08, 13:22

>[оверквотинг удален]
>
>А можно и не текущую:
>
>$ touch -m -d «15 minutes ago» $NAME
>
>Вроде, так. На директориях, вроде, работало тоже.
>
>Только вот про время _создания_ — не уверен.
>
>Time of last access/modification/change есть, про «создание» — тишина

А я что-то и не заморачивался, буду знать 🙂

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2 . «Изменить время создания папки»
Сообщение от Gennadi (??) on 31-Окт-08, 12:48

>Приветствую всех.
>Возникла необходимость изменить ctime папки, но вот никак не могу сообразить где
>и как это можно сделать. Подскажите, люди, кто может 🙂
>Система Linux.

ls -lisa test
total 0
629797 0 drwxr-xr-x 2 root root 48 Oct 31 10:45 .
622485 0 drwxr-xr-x 4 root root 96 Oct 31 10:45 ..

touch -t 0710031305 test

ls -lisa test
total 0
629797 0 drwxr-xr-x 2 root root 48 Oct 3 2007 .
622485 0 drwxr-xr-x 4 root root 96 Oct 31 10:45 ..

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5 . «Изменить время создания папки»
Сообщение от Junior (ok) on 31-Окт-08, 12:58

>[оверквотинг удален]
>629797 0 drwxr-xr-x 2 root root 48 Oct 31 10:45 .
>622485 0 drwxr-xr-x 4 root root 96 Oct 31 10:45 ..
>
>touch -t 0710031305 test
>
>ls -lisa test
>total 0
>629797 0 drwxr-xr-x 2 root root 48 Oct 3 2007
>.
>622485 0 drwxr-xr-x 4 root root 96 Oct 31 10:45 ..

Да, спасибо. Практически так же.

# mkdir test
# ls -la | grep test
drwxr-xr-x 2 root root 4096 Oct 31 12:54 test
# touch —date=»2002-05-21 15:02:17.000000000 +0400″ test
# ls -la | grep test
drwxr-xr-x 2 root root 4096 May 21 2002 test

Источник

Как я могу изменить время создания всех файлов папки на текущее время?

В оболочке Linux, как я могу изменить время создания всех файлов папки на текущее время?

3 ответа 3

Перейдите к рассматриваемой папке, скажем,

Это изменит время модификации, когда вы выполняете эту команду.

Очевидно, вы можете сделать это более конкретным в зависимости от вашего варианта использования, например,

только изменит время модификации для файлов со строкой ‘.doc’ в их имени.

В Linux, если вы хотите сделать что-то рекурсивное в каталоге, или вы хотите применить некоторые действия к файлам, отвечающим некоторым критериям, вам следует попробовать find и xargs

Нажмите на все файлы в

/Documents/myfiles (включая файлы в подкаталоге)

ОП запросил время создания, но ответы Яна Янга и Боэджа основаны на touch команды, устанавливающей время модификации, доступа и изменения текущего времени.

Как boehj сказал (в комментарии) нет времени создания файла . Это верно для большинства файловых систем, но в некоторых современных файловых системах (например, ext4) время создания (или рождения) файла хранится в inode.

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

Это изменит время создания (время рождения ) на текущее время. Это также обновляет время изменения, но сохраняет неизменным время изменения и доступа .

Для информации время изменения иногда сокращается как ctime и может быть перепутано со временем создания ( crtime или btime ). Фактически время изменения файла — это время изменения его соответствующего inode. Поэтому команды, изменяющие содержимое inode как chmod или chattr также устанавливают время изменения на текущее время.

Источник

Как я могу изменить дату изменения / создания файла?

Есть ли способ изменить дату, когда файл был изменен / создан (который отображается в Nautilus или с помощью команды ls -l)? В идеале я ищу команду, которая может изменить метки даты / времени целой пачки файлов на определенное количество времени раньше или позже (например, +8 часов или -4 дня и т. Д.).

Пока вы являетесь владельцем файла (или root), вы можете изменить время модификации файла, используя touch команду:

По умолчанию это установит время модификации файла на текущее время, но есть несколько флагов, например, -d флаг для выбора конкретной даты. Так, например, чтобы установить файл как изменяемый за два часа до настоящего, вы можете использовать следующее:

Если вместо этого вы хотите изменить файл относительно его существующего времени модификации, то следует сделать следующее:

Если вы хотите изменить большое количество файлов, вы можете использовать следующее:

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

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

Что касается времени создания, большинство файловых систем Linux не отслеживают это значение. Существует ctime связь с файлами, но она отслеживает время последнего изменения метаданных файла. Если права доступа к файлу никогда не меняются, может случиться так, что он задержит время создания, но это совпадение. Явное изменение времени изменения файла считается изменением метаданных, поэтому также имеет побочный эффект обновления ctime .

Источник

Команда Date в Linux с примерами

Linux Date Command with Examples

В этом руководстве мы рассмотрим основы date команды.

Команда date отображает или устанавливает системную дату. Чаще всего он используется для печати даты и времени в разных форматах и ​​для расчета будущих и прошлых дат.

Использование Date

Синтаксис date команды следующий:

Выходные данные включают день недели, месяц, день месяца, время, часовой пояс и год:

Параметры форматирования даты

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

Символ %Y будет заменен на год, %m месяц и %d день месяца:

Вот еще один пример:

Ниже приведен небольшой список некоторых наиболее распространенных символов форматирования:

  • %a — Сокращенное название дня недели (например, понедельник)
  • %A — Сокращенное полное название дня недели (например, понедельник)
  • %b — Сокращенное название месяца (например, январь).
  • %B — сокращенное длинное название месяца (например, январь)
  • %d — день месяца (например, 01)
  • %H — час (00..23)
  • %I — час (01.12.12)
  • %j — День года (001..366)
  • %m — Месяц (01.12.12)
  • %M — Минута (00..59)
  • %S — Второй (00 .. 60)
  • %u — день недели (1..7)
  • %Y — Полный год (например, 2019)

Чтобы получить полный список всех параметров форматирования, запустите date —help или man date в своем терминале.

Пользовательское форматирование даты

-d Опция позволяет работать на дату конкретного. Вы можете указать дату в виде удобочитаемой строки даты, как показано ниже:

Использование пользовательского форматирования:

Строка даты принимает значения, такие как «завтра», «пятница», «последняя пятница», «следующая пятница», «следующий месяц», «следующая неделя» .. и т. Д.

Вы также можете использовать параметр строки даты, чтобы показать местное время для разных часовых поясов. Например, чтобы показать местное время 6:30 утра следующего понедельника на восточном побережье Австралии, введите:

Переопределить часовой пояс

Команда date возвращает дату в системном часовом поясе по умолчанию . Чтобы использовать другой часовой пояс, установите переменную среды TZ в желаемый часовой пояс.

Например, чтобы показать время в Мельбурне, введите:

Чтобы получить список всех доступных часовых поясов , вы можете либо перечислить файлы в /usr/share/zoneinfo каталоге, либо использовать timedatectl list-timezones команду.

Конвертер эпох

date Команда может быть использована в качестве преобразователя Epoch. Время, или метки времени Unix, — это количество секунд, прошедших с 1 января 1970 года в 00:00:00 UTC.

Чтобы напечатать количество секунд от эпохи до текущего дня, вызовите date с %s контролем формата:

Чтобы преобразовать секунды с начала эпохи в дату, установите секунды в виде строки даты с префиксом @ :

Использование date с другими командами

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

Команда ниже создаст файл резервной копии Mysql в следующем формате database_name-20190601.sql

Вы также можете использовать date команду в своих сценариях оболочки. В приведенном ниже примере мы присваиваем выход date к date_now переменной:

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

Команда date с -r параметром показывает время последнего изменения файла. Например:

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

Установите системное время и дату

Установка системного времени и даты вручную с помощью этой date команды не рекомендуется, поскольку в большинстве дистрибутивов Linux системные часы синхронизируются с ntp помощью systemd-timesyncd служб или .

Однако, если вы хотите установить системные часы вручную, вы можете использовать эту —set= опцию. Например, если вы хотите установить дату и время 17:30, 01 июня 2019 г., введите:

Вывод

Команда Linux date отображает или устанавливает системную дату и время.

Источник

Читайте также:  Safe mode при запуске windows 10
Оцените статью