Как изменить формат даты и времени, отображаемых на верхней панели? Linux время изменить


Временные метки файлов в Linux: atime, mtime, ctime. Разъяснения

Давайте посмотрим, каковы различные типы временных меток файлов в Linux, как просмотреть временные метки для файла и как изменить метки времени.

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

Что такое метки времени Linux?

Любой файл в Linux обычно имеет три временных метки:

  • atime – время доступа
  • mtime – модифицировать время
  • ctime – изменить время

atime

atime означает время доступа. Эта временная метка сообщает вам, когда был последний раз обращались к файлу. При доступе это означает, что если вы использовали cat, vim, less или какой-либо другой инструмент для чтения или отображения содержимого файла.

mtime

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

ctime

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

Как просмотреть временные метки файла?

Вы можете использовать команду stat для просмотра всех временных меток файла. Использование команды stat очень просто. Вам просто нужно указать имя файла.

stat <filename>

 

Результат будет таким:

stat andreyex.txt File: andreyex.txt Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 10305h/66309dInode: 11936465 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/andreyex)   Gid: ( 1000/andreyex) Access: 2018-10-07 23:10:25.134647523 +0530 Modify: 2018-10-07 23:10:25.134647523 +0530 Change: 2018-10-07 23:10:25.134647523 +0530 Birth: -

Вы можете увидеть все три временных метки (доступ, модифицирование и изменение) в приведенном выше выводе. Все три временных метки здесь одинаковы, потому что мы просто создали этот пустой файл с командой touch.

Теперь давайте изменим эти временные метки.

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

$ less andreyex.txt $ stat andreyex.txt File: andreyex.txt Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 10305h/66309dInode: 11936465 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/andreyex)   Gid: ( 1000/andreyex) Access: 2018-10-07 23:15:12.847568584 +0530 Modify: 2018-10-07 23:10:25.134647523 +0530 Change: 2018-10-07 23:10:25.134647523 +0530 Birth: -

 

Теперь давайте изменим время модификации. Мы будем использовать команду cat для добавления нового текста в этот файл. Это предотвратит изменение времени доступа.

$ cat >> andreyex.txt demo text ^C $ stat andreyex.txt File: andreyex.txt Size: 10 Blocks: 8 IO Block: 4096 regular file Device: 10305h/66309dInode: 11936465 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/andreyex) Gid: ( 1000/andreyex) Access: 2018-10-07 23:15:12.847568584 +0530 Modify: 2018-10-07 12:32:34.751320967 +0530 Change: 2018-10-07 12:32:34.751320967 +0530 Birth: -

Вы заметили что-то странное? Вы изменили файл и ожидали изменения mtime, но также изменили время ctime.

Запомните, ctime всегда изменяет mtime, это потому, что пока время изменения находится под контролем пользователя, ctime контролируется системой. Он представляет собой, когда в последний раз были изменены блоки данных или метаданные файла. Если вы изменяете файл, блоки данных изменяются и, следовательно, ctime изменяется.

Вы можете изменить ctime только путем изменения прав доступа к файлам, используя CHMOD или же командой chgrp, но вы не можете модифицировать mtime без изменения ctime.

Вы также не можете изменять ctime в прошлом обычными способами. Это своего рода функция безопасности, потому что она сообщает вам в последний раз, когда файл был изменен. Даже если кто-то изменяет mtime и устанавливает его в прошлом для злонамеренных целей, ctime укажет фактическое время, когда mtime было изменено.

Помните: ctime всегда будет изменен путем изменения mtime.

Каково использование временных меток файлов?

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

Одним из наших любимых способов было найти файлы журналов приложения с помощью mtime. Запустите приложение и просто зайдите в родительский каталог приложения и выполните поиск файлов, которые были изменены за последние несколько минут.

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

Как узнать, когда был изначально создан файл?

Вы заметили последнюю строку вывода команды stat? В нем указывается «Birth». Вы можете догадаться, что это представляет собой timestmap, когда файл был «рожден» (или был создан, чтобы быть более точным).

Собственно, там является еще одна временная метка называется временем создания (cr). Не все файловые системы поддерживают эту метку времени. Ext4 – одна из популярных файловых систем Linux, и хотя она поддерживает временную метку создания, команда stat в настоящее время не может ее показать. Возможно, будущие версии команды stat покажут временную метку создания в разделе «Birth».

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

andreyex.ru

Linux - Изменить Метки Времени Файла (Access, Modify, Change)

Файлы в Linux имеют 3 типа временных меток: время доступа (англ. access time, сокр. atime), время модификации (англ. modification time, сокр. mtime) и время изменения (англ. change time, сокр. ctime).

Однажды может возникнуть необходимость подделать временные метки какого-либо файла.

atime (время доступа), как и mtime (время модификации) могут быть легко изменены с помощью команды touch, но для подделки метки ctime (времени изменения) стандартного решения не существует.

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

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

Дельный Совет: Чтобы замести следы — очистите историю последних входов в систему. Читать далее →

Узнать Временные Метки Файла

Чтобы получить информацию о текущий временных метках файла воспользуетесь командой stat:

$ stat file.txt File: ‘file.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 804h/2052d Inode: 2501536 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/ admin) Gid: ( 1000/ admin) Access: 2015-02-19 11:43:08.503408793 +0200 Modify: 2015-02-19 11:43:08.503408793 +0200 Change: 2015-02-19 11:43:08.503408793 +0200

Разница Между «atime», «mtime» и «ctime»

Временная метка Когда она обновляется?
atime Время доступа к файлу обновляется когда вы открываете файл либо когда он используется для других операций, например таких как: grep, cat, head и т.д.
mtime Время модификации файла обновляется когда вы изменяете его содержимое либо сохраняете файл.
ctime Время изменения файла обновляется когда меняются его атрибуты, такие как владелец файла, права, либо он перемещается на другую файловую систему. Также это время обновляется и при изменения времени модификации файла.

Изменить Временя «Доступа» и «Модификации» Файла

Изменить atime к файлу (время доступа):

$ touch -a --date="1988-02-15" file.txt $ touch -a --date="1988-02-15 01:00" file.txt $ touch -a --date="1988-02-15 01:00:17.547775198 +0300" file.txt

Изменить mtime файла (время модификации):

$ touch -m --date="2020-01-20" file.txt $ touch -m --date="2020-01-20 23:05" file.txt $ touch -m --date="2020-01-20 23:05:43.443117094 +0400" file.txt

Подделать Время «Изменения» Файла

Как я уже говори ранее, не существует стандартного решения для подделки ctime (времени изменения файла).

Тем не менее, если вы готовы рискнуть, это можно сделать.

Для начала необходимо изменить системное время на то, на которое вы хотите поменять ctime.

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

Неожидаемые последствия: Изменение системного времени может привести к неожидаемым последствиям. Используйте приведенные ниже команды только на свой страх и риск.

Сохраните текущую дату и время в переменную NOW:

$ NOW=$(date)

Установите поддельное системное время (необходим root):

$ date --set "2030-08-15 21:30:11"

Используйте команду touch на файле для изменения всех временных меток на поддельные:

$ touch file.txt

Откатите время назад (необходим root):

$ date --set "$NOW"

Дельный Совет: Удаляйте историю команд в BASH эффективно! Читать далее →

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

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

Заметаем Следы

Чтобы замести следы — очистите значение переменной, а также почистить логи и историю.

Очистите значение переменной NOW:

$ unset NOW

Из файла /var/log/messages удалите строки с информацией об изменении системного времени (необходим root):

Feb 24 06:32:46 centos7 systemd: Time has been changed Aug 15 14:30:11 centos7 systemd: Time has been changed

Дельный Совет: Хотите сохранить анонимность? Узнайте как использовать ПРОКСИ из командной строки в Linux! Читать далее →

Очистите историю входов в Linux (необходим root):

$ echo > /var/log/wtmp $ echo > /var/log/btmp $ echo > /var/log/lastlog

Очистите историю текущей сессии:

$ history -r

www.shellhacks.com

Как изменить время для меню выбора ОС в GRUB? Ubuntu Linux

У меня Windows 7 и Ubuntu 12.04 в моей системе, и я видел, что время по умолчанию для меню выбора os составляет всего 10 секунд, так как я новичок в Linux, может ли кто-нибудь сказать мне, как увеличить это время?

  • Нажмите Alt + F2

  • Команда типа, gksu gedit /etc/default/grub

  • измените значение GRUB_TIMEOUT на 15 или 20, как требуется. (значение во втором) или Установка таймаута в -1 заставит GRUB ждать неопределенно долго, пока вы вручную не выберете запись и не нажмете enter, она должна выглядеть так:

    GRUB_TIMEOUT=10

  • сохрани это. Закрыть gedit. Теперь откройте терминал и запустите

    sudo update-grub

Вам нужно отредактировать файл /etc/default/grub , открыв терминал и выполнив sudo gedit /etc/default/grub команду: sudo gedit /etc/default/grub

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

GRUB_TIMEOUT=10

Кроме того, убедитесь, что вы добавили # до строки GRUB_HIDDEN_TIMEOUT = 0:

#GRUB_HIDDEN_TIMEOUT=0

Затем сделайте sudo update-grub и перезагрузитесь.

Раньше я использовал диспетчер запуска, как указал Чад-24216, но, увы, он больше не поддерживается и не находится в репозиториях.

Он был заменен «grub-customizer», который в то время как в актуальном состоянии также не находится в стандартных хранилищах. Чтобы добавить и установить, просто выполните на терминале следующее:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer

Нажмите enter для подтверждения добавления PPA

sudo apt-get update sudo apt-get install grub-customizer

Нажмите Y, чтобы подтвердить

Теперь вы можете запускать grub-customizer обычными способами. Если вы проигнорируете полный список, который вы увидите при первом запуске, и просто нажмите кнопку «Настройки» на панели инструментов, вы получите хороший сводный диалог, в котором вы можете изменить значение таймаута и пункт меню по умолчанию, как показано ниже:

Источники:

Начальный менеджер мертв

Grab Customizer PPA

Есть два способа сделать это

  1. Начальный менеджер (разработка прекращается)
  2. Grub customiser (пока в официальных репозиториях пока нет)

Использование диспетчера запуска (доступно до 12.04)

Установите его, набрав:

sudo apt-get update sudo apt-get install startupmanager
  1. Откройте start-up manager

  2. Изменение тайм-аута на 10 секунд

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

  1. Чтобы добавить и установить его, просто сделайте следующее на терминале (вам нужно добавить PPA):

    sudo add-apt-repository ppa:danielrichter2007/grub-customizer

    Нажмите enter, затем введите

    sudo apt-get update sudo apt-get install grub-customizer

    И нажмите Y, чтобы подтвердить

  2. Перейдите на вкладку « General » и измените время ожидания до 10 секунд

Надеюсь, это поможет.

Ответ Web-E – это лучший способ сделать это. Однако, если вы хотите использовать GUI для изменения GRUB, который не требует редактирования файла, вы можете загрузить установочный «startupmanager» из USC или Synaptic. Или с включенным репозиторией Universe вы можете открыть терминал и установить, набрав:

sudo apt-get update sudo apt-get install startupmanager

Вам нужно изменить тайм-аут для grub. Взгляните на это руководство для действительно простых инструкций по изменению времени ожидания тайм-аута / времени:

как изменить время для меню выбора os в grub

ubuntu.fliplinux.com

Изменение метки времени файла в Linux

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

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

 

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

 

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

 

1. Создание нового файла используя touch

 

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

$ touch grnd.txt

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

$ touch -c abcd.txt

Такие команды как ls и find используют информацию о временных метках для вывода и поиска файлов.

Вы также можете создать более одного файла используя только одну команду touch. Пример показывает создание 4 файлов с именами 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 – Указывает дату

hh – час

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 Надеюсь данный материал будет Вам полезен, удачи!

 

greendail.ru

linux - Как изменить системную дату и время (встроенный Linux) с помощью QML?

Обычно вы не можете изменить системное время без разрешения root, а установка системного времени - это целая операция -s для системных администраторов. См. settimeofday (2) и adjtimex (2). См. Также учетные данные (7) и возможности (7).

(Так что это не вопрос использования Qt или чего-то еще, для любой библиотеки, использующей settimeofday или adjtimex требуется разрешение root)

Читайте также время (7).

И вы, как правило, не должны менять системное время, но у некоторых демонов, использующих NTP, настраивать его постоянно.

Ваш код просто меняет значение некоторой переменной, удерживая некоторое время. Это не изменяет системное время.

Системный администратор может изменить время, например, с датой (1), используемой с -s которая требует разрешения root и использует settimeofday внутри. См. Также hwclock (8).

Обратите внимание, что приложения с графическим интерфейсом обычно не запускаются с правами root (а Qt или GTK не должны запускаться как root).

Если вы разработали встроенную систему, и вы хотите, чтобы пользователь установил время, вы можете рассмотреть вопрос о написании небольшого специализированного исполняемого файла setuid, который использует settimeofday (2) и запускает ваше приложение GUI (например, с QProcess). Будьте очень осторожны при кодировании программы setuid (так что читайте ALP или какую-нибудь хорошую книгу по системному программированию Linux), так как вы можете легко получить уязвимости. Имейте в виду, что setuid является основным механизмом (используется /bin/login, /bin/su, /usr/bin/sudo т.д., Он также используется в системах Android или любой производной от Unix системы) для приобретения или изменения разрешение. Трудно использовать, так что потратьте время, чтобы понять это.

Возможно, ваш init или systemd может быть настроен для облегчения такой задачи...

(вам нужно больше описать всю вашу систему, чтобы получить дополнительную помощь)

qaru.site

Как изменить формат даты и времени, отображаемых на верхней панели? Ubuntu Linux

По умолчанию дата и время отображаются апплетами часов в верхнем правом углу рабочего стола gnome в Ubuntu. Для меня это отображает что-то вроде «Tue Aug 3, 19:45». Я хотел бы изменить его, чтобы сделать переход даты и включить, например, номер недели ISO, к чему-то вроде 03 / 08-19: 45-W31.2

Есть ли в любом случае я могу указать «формат строки» для отображения даты и времени?

  1. Откройте gconf-editor , нажав Alt + F2 и набрав gconf-editor
  2. Перейдите в apps -> panel -> applets .
  3. Ищите свой апплет. В моем случае это называется applet_3 , на другом компьютере его имя – clock_0 . Возможно, хороший способ – искать ( Strg + f или для американских клавиш Ctrl + f , активировать оба поля в меню поиска) для ClockApplet (случай должен совпадать).
  4. Перейдите в prefs . Измените значение format на custom и измените custom_format как вам нравится. Синтаксис происходит из strftime() .
  5. Формат будет изменен, если вы введете некоторые значения.

Примечание. Этот вариант не будет работать в версии 10.10 в нетбуке, см. Этот вопрос для решения.

Вам также может быть интересно посмотреть на некоторые примеры, которые другие люди сделали с одним и тем же процессом. Смотрите: http://www.omgubuntu.co.uk/2009/11/gnome-panel-clock-themes.html Я использовал первый и не мог быть счастливее, но теперь, когда вы указали номер недели, мне нужно, чтобы слишком.

Вот мой пользовательский формат времени …. <sup> <span font_desc="Droid Sans 14" color="green"> %a %b %d </span> <span font_desc="Droid Sans 20" weight="Bold" color="green" >%l:%M %p</span></sup> …. Хорошо работает с темным цветом панели. Измените цветовой код в соответствии с вашими потребностями.

ubuntu.fliplinux.com

Как изменить дату и время сервера сервера Ubuntu через командную строку? Ubuntu Linux

Вы можете установить системную дату с помощью этой команды:

sudo date --set="2015-09-30 10:05:59.990"

Затем, используя date , она должна отображаться правильно.

Теперь вы должны также установить аппаратные часы в BIOS системы, чтобы этот параметр сохранялся при перезагрузке (при запуске запустилось системное время на значение аппаратных часов). Сделайте это с помощью hwclock :

sudo hwclock --systohc

Это получает значение системных часов (sys) и устанавливает аппаратные часы (hc). Проверьте его командой hwclock . И hwclock и date должны теперь показывать одну и ту же дату и время.

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

sudo dpkg-reconfigure tzdata

BTW : Если вы используете этот компьютер в качестве сервера, я настоятельно рекомендую использовать NTP-клиент для синхронизации времени по сети . Таким образом, вы можете гарантировать, что все ваши серверы имеют точно такое же время. Это позволит синхронизировать время во время работы машины. Если у вас есть приложения, зависящие от синхронизированного времени по серверу, я рекомендую NTP-Daemon. Чем дольше он работает в фоновом режиме, тем точнее время.

просто введите

sudo date newdatestring

с newdatestring в формате nnddhhmmyyyy.ss

  • nn: (двухзначный) месяц (от 01 до 12)
  • dd: день (двухзначный) (с 01 по 31), с обычными правилами для дней в зависимости от месяца и года
  • hh: (двухзначный) час (от 00 до 23)
  • мм: (две цифры) минуты (от 00 до 59)
  • yyyy: год; он может быть двухзначным или четырехзначным
  • ss – две цифры секунды (от 00 до 59). Обратите внимание на период «.» перед ss.

Но помимо команды date, возможно, вы предпочитаете NTP-решение (протокол сетевого времени): Serverguide – NTP , гораздо проще в управлении и точнее, чем установка даты вручную. Вы можете использовать cronjob или ntp daemon (ntpd), чтобы обновлять ваше время каждые x часов / минут …

Надеюсь это поможет!

ubuntu.fliplinux.com