Дата изменение файла консоль linux: Получить дату последнего изменения файла в Linux

Содержание

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

 

8 Примеров команды Date для начинающих в Linux

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

Если вы ищете инструмент, который позволяет делать все это (и многое другое), вы будете рады узнать, что существует команда date. В этой статье мы обсудим основные команды «date», а также, как вы можете использовать ее. Но прежде чем мы это сделаем, стоит отметить, что все команды и инструкции, упомянутые здесь, были протестированы на Ubuntu 16,04 LTS.

Команда date в Linux

Вот общий синтаксис команды date:

date [OPTION]. .. [+FORMAT]

 

А вот что говорит страница man об этом:

date - вывод или установка даты и время системы 

Отображение текущего времени в данном формате, или установка системной даты.

 

Следующие примеры должны дать вам хорошее представление о том, как эта команда работает.

 

Q1. Как получить системную дату/время с помощью команды date?

Это поведение по умолчанию. Чтобы узнать дату и время вашей системы, все, что вам нужно сделать, это запустить программу следующим образом (да, любой вариант без):

date

 

Вот команда в действии:

date
Sun Jul  9 19:41:10 MSK 2017

 

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

 

Q2. Как получить дату, соответствующую дню?

Чаще всего, мы смотрим на календари, чтобы знать дату в определенный день недели. Например, требование может быть такое, узнать дату «когда следующий вторник». Вы будете рады узнать, что это возможно с помощью команды «date».

-d или –date параметр командной строки будет помощью в этом случае:

date -d "next Tuesday"

 

Вот вышеприведенная команда в действии:

date -d "next Tuesday"
Tue Jul 11 00:00:00 MSK 2017

 

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

Входной параметр -d/–date может быть разных типов. Вот как man описывает эту команду:

--date = строка в основном свободный формат удобочитаемой строки даты, такие как 
«Sun, 09 Feb 2017 19:21:20 -1905» или «2017-02-09 19:21:20» или даже «в следующий четверг»,  

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

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

 

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

info date

 

Q3. Как отображать информацию о дате/времени в формате ISO 8601?

В случае, если вы хотите, инструмент для отображения информации о дате/времени в формате ISO 8601, вы можете использовать параметр 

–iso-8601 командной строки. Эта опция требует, указать формат.

--iso-8601[=FMT]

 

Вот как страница man объясняет «format»:

FMT='date' только для даты (по умолчанию), 'hours', 'minutes', 'seconds', или 'ns' для даты и времени с 
указанной точностью. Пример: 2017-07-09T19:20:30-0600

 

Например, мы тестировали следующую команду:

date --iso-8601=seconds

 

На выходе было произведено:

2017-07-09T19:48:20+03:00

 

Q4. Как отображать дату/время в формате RFC 3339?

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

Следующий пример показывает эту опцию в действии:

date --rfc-3339=seconds
2017-07-09 19:49:58+03:00

 

Кроме того, вы можете использовать –rfc-2822 для возможности выводить данные в этом формате.

Q5. Как использовать дату для отображения времени последнего изменения файла?

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

date -r file1

 

Вывод:

date -r file1
Tue Jul 09 19:53:10 MSK 2017

 

Q6. Как установить системную дату/время, используя команду date?

Для установки системной даты/времени на другое значение, используйте параметр -s командной строки. Эта опция требует строку, которая будет использоваться в качестве входных данных для установки системной времени/даты.

date -s STRING

 

Примечание:

Доступные опции, которые можно использовать в качестве строк уже объяснены в Q2 выше.

Вот пример того, как мы использовали параметр -s, чтобы установить дату и время в нашей системы:

date -s "2017-06-27 14:53:00"

 

Пожалуйста, обратите внимание, что вам, возможно, придется использовать «sudo» для опции -s.

 

Q7. Как отобразить текущее время в другом месте?

Для того, чтобы команда date отображала текущее время в другом месте – скажем, Мельбурн в Австралии – использовать ее надо следующим образом:

TZ="Australia/Melbourne" date

 

Вот вышеприведенная команда в действии:

TZ="Australia/Melbourne" date
Mon Jul 10 02:59:50 AEST 2017

 

Примечание:

Вы можете использовать команду «tzselect», чтобы найти значение, которое нужно для TZ.

 

Q8. Как распечатать или установить всеобщее Скоординированное время (UTC)?

Для этого используйте параметр -u командной строки. Например, следующая команда будет отображать информацию в формате UTC:

date -u

 

# date -u
Sun Jul  9 16:32:28 UTC 2017

 

Вывод

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

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

Ctrl+Enter.

Изменение даты, времени, временной зоны в Debian/Linux

Date — утилита Unix/Linux для работы с системными часами. Если вызвать date без параметров, то будет выведена текущая дата и время, соответствующие текущему часовому поясу. Чтобы посмотреть время в часовом поясе UTC, используйте команду date --utc (или сокращенно date -u).
Необходимо следить за правильностью установки даты и времени, это нужно для корректной работы планировщика задач. Также, время и дата указывается во все основные системные лог-файлы и лог-файлы посещений веб-сервера.

Как изменить временную зону в Debian/Linux?
Нужно создать симлинк из /etc/localtime на "нужный" файл из каталога /usr/share/zoneinfo/:

# ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Также советую изменить соответствующую запись в /etc/timezone

Как изменить дату и время в Debian/Linux?

# date MMDDhhmmYYYY. ss
MM - месяц
DD - день
hh - час
mm - минуты
YYYY - год
ss - секунды

Как изменить время в Debian/Linux?

# date --set hh:mm

Синхронизация времени в Linux/Ubuntu. NTP и Ntpdate.
NTP - это протокол синхронизации времени по сети.
Сервис NTP ntpd вычисляет насколько отстают ваши часы и постоянно подправляет их, благодаря этому не происходит сильных изменений, что может приводить к непоследовательности в журналах. Этот сервис не требует много ресурсов, поэтому его можно установить не задумываясь.
Для установки ntpd из консоли введите:

# apt-get install ntp

Конфигурация находится в файле /etc/ntp.conf, тут можно добавлять и удалять сервера, с которыми нужно синхронизировать время.
По умолчанию сервера в Ubuntu выглядят так:

pool 0.ubuntu.pool.ntp.org iburst
pool 1.ubuntu.pool.ntp.org iburst
pool 2.ubuntu.pool.ntp.org iburst
pool 3.ubuntu. pool.ntp.org iburst

Если вы добавите свои сервера, то нужно перезапустить сервис ntpd для применения изменений:

# service ntp restart

Управление дистрибутивами Linux | Microsoft Docs

  • Чтение занимает 11 мин

В этой статье

Способы запуска WSL

Существует несколько способов запустить дистрибутив Linux с WSL после установки.

  1. Откройте дистрибутив Linux, перейдя в меню Пуск Windows и введя имя установленных дистрибутивов. Например: Ubuntu.
  2. В командной строке Windows или PowerShell введите имя установленного дистрибутива. Например: ubuntu
  3. В командной строке Windows или PowerShell чтобы открыть дистрибутив Linux по умолчанию в текущей командной строке, введите: wsl. exe .
  4. В командной строке Windows или PowerShell чтобы открыть дистрибутив Linux по умолчанию в текущей командной строке, введите: wsl [command] .

Применяемый метод зависит от того, что вы делаете. Если вы открыли командную строку WSL в командной строке Windows или окне PowerShell и хотите выйти, введите команду: exit .

Запуск WSL с помощью дистрибутива

При запуске дистрибутива с помощью специального приложения он запускается в собственном окне консоли.

Это то же самое, что нажать кнопку "Запустить" в Microsoft Store.

Можно также запустить дистрибутив из командной строки, выполнив команду [distribution].exe.

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

Пример: (с помощью PowerShell)

PS C:\Users\sarah> pwd

Path
----
C:\Users\sarah

PS C:\Users\sarah> ubuntu

[email protected]:~$ pwd
/home/scooley
[email protected]:~$ exit
logout

PS C:\Users\sarah>

Использование wsl и wsl [команда]

Лучший способ запуска WSL из командной строки — использовать wsl. exe.

Пример: (с помощью PowerShell)

PS C:\Users\sarah> pwd

Path
----
C:\Users\sarah

PS C:\Users\sarah> wsl

[email protected]:/mnt/c/Users/sarah$ pwd
/mnt/c/Users/sarah

Инструмент wsl не только сохраняет текущий рабочий каталог, но и позволяет выполнить одну команду помимо команд Windows.

Пример: (с помощью PowerShell)

PS C:\Users\sarah> Get-Date

Sunday, March 11, 2018 7:54:05 PM

PS C:\Users\sarah> wsl
[email protected]:/mnt/c/Users/sarah$ date
Sun Mar 11 19:55:47 DST 2018
[email protected]:/mnt/c/Users/sarah$ exit
logout

PS C:\Users\sarah> wsl date
Sun Mar 11 19:56:57 DST 2018

Пример: (с помощью PowerShell)

PS C:\Users\sarah> Get-VM

Name            State CPUUsage(%) MemoryAssigned(M) Uptime   Status
----            ----- ----------- ----------------- ------   ------
Server17093     Off   0           0                 00:00:00 Opera. ..
Ubuntu          Off   0           0                 00:00:00 Opera...
Ubuntu (bionic) Off   0           0                 00:00:00 Opera...
Windows         Off   0           0                 00:00:00 Opera...


PS C:\Users\sarah> Get-VM | wsl grep "Ubuntu"
Ubuntu          Off   0           0                 00:00:00 Opera...
Ubuntu (bionic) Off   0           0                 00:00:00 Opera...
PS C:\Users\sarah>

Управление несколькими дистрибутивами Linux

В Windows 10 версии 1903 и более позднихможно использовать wsl.exe для управления дистрибутивами в подсистеме Windows для Linux (WSL), включая список доступных дистрибутивов, настройку распределения по умолчанию и удаление дистрибутивов.

Каждый дистрибутив Linux независимо управляет собственными конфигурациями. Чтобы просмотреть команды, относящиеся к определенному дистрибутиву, выполните команду [distro.exe] /?. Например, ubuntu /?.

Вывод списка дистрибутивов

wsl -l , wsl --list
Выводит список доступных дистрибутивов Linux, совместимых с WSL. Если дистрибутив есть в списке, он установлен и готов к использованию.

wsl --list --all Список всех дистрибутивов, включая те, которые сейчас не используются. Они могут находиться в процессе установки, удаления или в неработающем состоянии.

wsl --list --running Список всех распределений, выполняемых в данный момент.

Настройка дистрибутива по умолчанию

Дистрибутив по умолчанию WSL запускается при выполнении wsl в командной строке.

wsl -s <DistributionName>, wsl --setdefault <DistributionName>

Задает для дистрибутив по умолчанию с помощью значения <DistributionName>.

Пример: (с помощью PowerShell)
Команда wsl -s Ubuntu в качестве дистрибутива по умолчанию установит Ubuntu. Теперь при выполнении wsl npm init эта команда будет выполняться в Ubuntu. Если выполнить wsl, откроется сеанс Ubuntu.

Отмена регистрации и повторная установка дистрибутива

Хотя дистрибутивы Linux можно устанавливать из Microsoft Store, их невозможно удалить в Store. С помощью WSL Config можно отменить регистрацию дистрибутивов или удалить их.

Отмена регистрации также позволяет переустановить дистрибутивы.

Внимание! После отмены регистрации все данные, параметры и программное обеспечение, связанные с этим распределением, будут безвозвратно утеряны. При переустановке из Store будет установлена чистая копия дистрибутива.

wsl --unregister <DistributionName>
Отменяет регистрацию дистрибутива в WSL, чтобы его можно было переустановить или очистить.

Например: wsl --unregister Ubuntu приведет к удалению Ubuntu из дистрибутивов, доступных в WSL. При выполнении команды wsl --list этот дистрибутив не будет присутствовать в списке.

Чтобы переустановить его, найдите этот дистрибутив в Microsoft Store и нажмите кнопку "Запустить".

Выполнение от имени определенного пользователя

wsl -u <Username>, wsl --user <Username>

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

Изменение пользователя по умолчанию для распределения

<DistributionName> config --default-user <Username>

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

Например, ubuntu config --default-user johndoe изменит пользователя по умолчанию для дистрибутива Ubuntu на пользователя "JohnDoe".

Примечание

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

Запуск определенного дистрибутива

wsl -d <DistributionName>, wsl --distribution <DistributionName>

Запускает указанный дистрибутив WSL. Эту команду можно использовать для отправки команд в определенный дистрибутив без необходимости изменения дистрибутива по умолчанию.

Управление несколькими дистрибутивами Linux в более ранних версиях Windows

В Windows 10 до версии 1903 программа командной строки WSL config ( wslconfig.exe ) должна использоваться для управления дистрибутивами Linux, работающими в подсистеме Windows для Linux (WSL). Она позволяет получить список доступных дистрибутивов, настроить дистрибутив по умолчанию и удалить дистрибутивы.

Хотя WSL Config удобно использовать для параметров, охватывающих или координирующих несколько дистрибутивов, каждый дистрибутив Linux независимо управляет собственными конфигурациями. Чтобы просмотреть команды, относящиеся к определенному дистрибутиву, выполните команду [distro.exe] /?. Например, ubuntu /?.

Чтобы просмотреть все доступные параметры для wslconfig, выполните команду wslconfig /?

wslconfig. exe
Performs administrative operations on Windows Subsystem for Linux

Usage:
    /l, /list [/all] - Lists registered distributions.
        /all - Optionally list all distributions, including distributions that
               are currently being installed or uninstalled.
    /s, /setdefault <DistributionName> - Sets the specified distribution as the default.
    /u, /unregister <DistributionName> - Unregisters a distribution.

Чтобы вывести список дистрибутивов, используйте:

wslconfig /list
Выводит список доступных дистрибутивов Linux, совместимых с WSL. Если дистрибутив есть в списке, он установлен и готов к использованию.

wslconfig /list /all
Выводит список всех дистрибутивов, включая те, которые сейчас не используются. Они могут находиться в процессе установки, удаления или в неработающем состоянии.

Настройка распределения по умолчанию, выполняемого при выполнении wsl в командной строке:

wslconfig /setdefault <DistributionName> Задает для распределения по умолчанию значение <DistributionName> .

Пример: (с помощью PowerShell)
Команда wslconfig /setdefault Ubuntu в качестве дистрибутива по умолчанию установит Ubuntu. Теперь при выполнении wsl npm init эта команда будет выполняться в Ubuntu. Если выполнить wsl, откроется сеанс Ubuntu.

Чтобы отменить регистрацию и переустановить распространение, выполните следующие действия.

wslconfig /unregister <DistributionName>
Отменяет регистрацию дистрибутива в WSL, чтобы его можно было переустановить или очистить.

Например: wslconfig /unregister Ubuntu приведет к удалению Ubuntu из дистрибутивов, доступных в WSL. При выполнении команды wslconfig /list этот дистрибутив не будет присутствовать в списке.

Чтобы переустановить его, найдите этот дистрибутив в Microsoft Store и нажмите кнопку "Запустить".

Настройка параметров запуска дистрибутив с помощью вслконф

Доступно в Windows Build 17093 и более поздних версиях

Автоматическая настройка функциональных возможностей в WSL, которые будут применяться при каждом запуске подсистемы с помощью wsl. conf . Сюда входят параметры автоподключения и конфигурация сети.

Файл wsl.conf в каждом дистрибутиве Linux находится в папке /etc/wsl.conf. Если этот файл отсутствует, его можно создать самостоятельно. WSL обнаружит наличие файла и прочитает его содержимое. Если этот файл отсутствует или имеет неправильный формат (т. е. неправильное форматирование разметки), WSL продолжит запуск в обычном режиме.

Ниже приведен пример wsl.conf файла, который можно добавить в дистрибутивы.

# Enable extra metadata options by default
[automount]
enabled = true
root = /windir/
options = "metadata,umask=22,fmask=11"
mountFsTab = false

# Enable DNS – even though these are turned on by default, we'll specify here just to be explicit.
[network]
generateHosts = true
generateResolvConf = true

При запуске нескольких оболочек Linux для одного и того же распространения необходимо подождать, пока подсистема Linux прекратит работу, после закрытия последнего экземпляра оболочки распространителя может потребоваться примерно 8 секунд. При запуске распространения (IE. Ubuntu), измените файл WSL. conf, закройте распространение, а затем снова запустите его. Вы можете предположить, что изменения в файле WSL. conf немедленно вступили в силу. В настоящее время это не так, так как подсистема все еще может работать. Перед повторным запуском подсистемы необходимо подождать около 8 секунд, чтобы предоставить достаточно времени для получения изменений. Вы можете проверить, не работает ли дистрибутив Linux (оболочка) после закрытия, используя PowerShell с помощью команды: wsl --list --running . Если распределения не выполняются, вы получите ответ: "нет выполняющихся распределений". Теперь можно перезапустить распространение, чтобы увидеть примененные обновления WSL. conf.

Параметры конфигурации

В соответствии с соглашениями об INI-файлах ключи объявляются в разделе.

WSL поддерживает четыре раздела: automount , network , interop и user .

automount

Раздел: [automount]

ключ value default HDInsight
Включено Логическое Да Значение true обеспечивает автоматическое подключение несъемных дисков (например, C:/ или D:/) DrvFs в /mnt. false означает, что диски не будут подключены автоматически, но их можно подключать вручную или через fstab .
mountFsTab Логическое Да Значение true задает /etc/fstab для обработки при запуске WSL. /etc/fstab — это файл, в котором можно объявлять другие файловые системы, например общий ресурс SMB. Поэтому вы можете автоматически подключать эти файловые системы в WSL при запуске.
корневой Строка /mnt/ Задает каталог, в который будут автоматически подключены несъемные диски. Например, если у вас есть каталог в WSL в /windir/ и вы указали его в качестве корневого каталога, то ваши несъемные диски будут подключены в /windir/c
options разделенный запятыми список значений пустая строка Это значение добавляется в строку параметров подключения по умолчанию DrvFs. Можно указать только параметры, относящиеся к DrvFs. Параметры, которые двоичный файл подключения обычно анализирует и преобразовывает во флаг, не поддерживаются. Если вы хотите явно указать эти параметры, необходимо добавить каждый диск, для которого вы хотите это сделать, в /etc/fstab.

По умолчанию WSL задает для идентификаторов UID и GID значения пользователя по умолчанию (в дистрибутиве Ubuntu пользователь по умолчанию создается с идентификаторами UID = 1000 и GID = 1000). Если пользователь явно указывает параметр GID или UID с помощью этого ключа, связанное значение будет перезаписано. В противном случае всегда будет добавляться значение по умолчанию.

Примечание. Эти параметры применяются в качестве параметров подключения для всех автоматически подключенных дисков. Чтобы изменить параметры для конкретного диска, используйте /etc/fstab.

Параметры подключения

Задание различных параметров подключения для дисков Windows (DrvFs) позволяет контролировать определение разрешений для файлов Windows. Доступны следующие варианты:

Ключ Описание Значение по умолчанию
uid ИД пользователя, используемый для владельца всех файлов. ИД пользователя по умолчанию для дистрибутива WSL (при первой установке имеет значение по умолчанию — 1000).
gid Идентификатор группы, используемый для владельца всех файлов. Идентификатор группы по умолчанию для дистрибутива WSL (при первой установке имеет значение по умолчанию — 1000).
umask Восьмеричная маска разрешений, исключаемых для всех файлов и каталогов. 000
fmask Восьмеричная маска разрешений, исключаемых для всех файлов. 000
dmask Восьмеричная маска разрешений, исключаемых для всех каталогов. 000
метаданные Добавляются ли метаданные в файлы Windows для поддержки системных разрешений Linux disabled
case Определяет, что каталоги обрабатываются с учетом регистра, а также будут ли для новых каталогов, созданных с помощью WSL, установлен флаг. Подробное описание параметров см. в статье учет регистра и WSL . dir

Примечание. Маски разрешений помещаются в логическую операцию или перед применением к файлам или каталогам.

network

Метка раздела: [network]

ключ value default HDInsight
generateHosts Логическое true Значение true указывает WSL создать /etc/hosts. Файл hosts содержит статическую карту имен узлов и соответствующих IP-адресов.
generateResolvConf Логическое true Значение true указывает WSL создать /etc/resolv.conf. Файл resolv.conf содержит список DNS-серверов, которые способны разрешить заданное имя узла в его IP-адрес.
interop

Метка раздела: [interop]

Эти параметры доступны в выпусках для программы предварительной оценки, начиная со сборки 17713.

ключ value default HDInsight
Включено Логическое true Установка этого ключа определяет, будет ли WSL поддерживать запуск процессов Windows.
appendWindowsPath Логическое true Задание этого ключа определяет, будет ли WSL добавлять элементы пути Windows в переменную среды $PATH.
пользователь

Метка раздела: [user]

Эти параметры доступны в сборках 18980 и более поздних версий.

ключ value default HDInsight
default строка Начальное имя пользователя, созданное при первом запуске Задание этого параметра указывает, какой пользователь будет запускать, как при первом запуске сеанса WSL.

Настройка глобальных параметров с помощью.

вслконфиг

Доступно в Windows Build 19041 и более поздних версиях

Вы можете настроить глобальные параметры WSL, поместив .wslconfig файл в корневой каталог папки "Пользователи": C:\Users\<yourUserName>\.wslconfig . Многие из этих файлов связаны с WSL 2. Помните, что для wsl --shutdown завершения работы виртуальной машины WSL 2 может потребоваться запустить, а затем перезапустить экземпляр WSL, чтобы эти изменения вступили в силу.

Ниже приведен пример файла. вслконфиг:

[wsl2]
kernel=C:\\temp\\myCustomKernel
memory=4GB # Limits VM memory in WSL 2 to 4 GB
processors=2 # Makes the WSL 2 VM use two virtual processors

Этот файл может содержать следующие параметры:

Параметры WSL 2

Метка раздела: [wsl2]

Эти параметры влияют на виртуальную машину, на которой распространяется любое WSL 2.

ключ value default HDInsight
ядро строка Входящие в состав ядра Microsoft Абсолютный путь Windows к пользовательскому ядру Linux.
Память размер; 50% от общего объема памяти в Windows или 8 ГБ, в зависимости от того, что меньше. в сборках до 20175:80% от общего объема памяти в Windows Объем памяти, назначаемый виртуальной машине WSL 2.
обработчики number Одинаковое число процессоров в Windows Количество процессоров, назначаемых виртуальной машине WSL 2.
локалхостфорвардинг Логическое true Логическое значение, указывающее, должны ли порты, привязанные к подстановочным знакам или localhost на виртуальной машине WSL 2, подключаться с узла через порт localhost:.
кернелкоммандлине строка Пусто Дополнительные аргументы командной строки ядра.
swap размер; 25% размера памяти в Windows округляется до ближайших ГБ Объем пространства подкачки для добавления в виртуальную машину WSL 2, 0 для файла подкачки.
Файл подкачки строка %усерпрофиле%\аппдата\локал\темп\свап.вхдкс Абсолютный путь Windows к виртуальному жесткому диску для переключения.
  • Примечание. это значение true для Windows Build 19041 и может отличаться в сборках Windows в программе "предварительные оценки"

Записи со path значением должны быть путями Windows с escape-символами обратной косой черты, например: C:\\Temp\\myCustomKernel

Записи со size значением должны быть размером, за которым следует единица, например 8GB или 512MB .

Команда ls – просмотр каталога. Курс "Введение в Linux и Bash"

Команда ls используется в командной оболочке Linux для вывода содержимого каталогов и информации о файлах. Кроме утилиты ls, есть схожие с ней dir и vdir, отличающиеся поведением по-умолчанию.

В качестве аргументов ls принимает адреса каталогов или файлов. Если их не передавать, то будет выведено содержимое текущей папки.

Указав адрес или адреса других каталогов, можно посмотреть их содержимое.

Обратите внимание, что в случае команды ls смены текущего каталога не происходит, как при использовании cd. Bash лишь выводит нам файлы и папки запрашиваемого каталога. Если нужно сразу просмотреть несколько каталогов, их указывают простым перечислением.

У программы ls есть много ключей, позволяющих получать о файлах более подробную информацию, а также выводить ее в различных форматах. Информацию по всем ключам можно получить с помощью команды ls --help. Самым используемым ключом является -l, благодаря которому выводится подробная информация об объектах.

В первой строке указано общее количество блоков дискового пространства, которое занимают файлы просматриваемого каталога. В данном случае один блок соответствует 1024-м байтам, или 1-му килобайту.

В описании каждого файла первый символ указывает на тип файлового объекта, далее идут права (rwxrwxrwx). О типах файлов в Unix-подобных ОС мы уже говорили, о правах будет сказано позже. В примере выше имеется две директории (d), один именованный канал (p) и два обычных файла (-).

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

Ключ -a позволяет увидеть скрытые файлы:

Здесь также используется ключ -1, чтобы вывод был в столбик. Кроме скрытого файла .iamhidden мы видим имена текущего каталога (.) и родительского (..). Если они не нужны, вместо -a употребляют -A.

Если требуется просмотреть не только сам каталог, но и вложенные в него папки, используется ключ -R:

В отличие от cd, команде ls можно передавать не только имена каталогов, но и файлов. Например, когда нужно получить информацию о конкретном файле или группе файлов.

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

Задание

По-умолчанию ls сортирует файлы по алфавиту. С помощью справочной системы Linux узнайте, как сортировать файлы по размеру и времени изменения.

Курс с ответами к заданиям и дополнительными уроками:
android-приложение, pdf-версия.

Страница не найдена – Information Security Squad

  • 🖧 Обзор анализаторов сетевых пакетов для аналитиков безопасности 28.05.2021

    Ваша сеть – это основа вашего бизнеса. Убедитесь, что вы знаете, что происходит глубоко внутри нее. Во многих отношениях ландшафт цифрового бизнеса пережил революцию. То, что начиналось как простые скрипты CGI, написанные на Perl, теперь превратилось в кластерные развертывания, полностью автоматизированные в Kubernetes и других фреймворках оркестрации. Но я не могу не улыбнуться при мысли, […]

  • 🐳 Vulnhub – готовые уязвимые окружения Docker для обучения хакингу 28. 05.2021

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

  • 🕵️ Обзор БЕСПЛАТНЫХ инструментов тестирования на проникновение для проверки безопасности приложений 27.05.2021

    Тестирование на проникновение – это процесс практической оценки уязвимостей безопасности в приложениях c целяю установить, смогут ли злоумышленники использовать их и поставить под угрозу информационные системы.   Как правило, это помогает исследователям, разработчикам и специалистам по безопасности выявлять и устранять уязвимости, которые позволяют злоумышленникам атаковать или скомпрометировать приложение или другие ИТ-ресурсы. На практике тестирование на […]

  • 🐳 Контейнер Docker: резервное копирование и восстановление 27. 05.2021

    Цель этого руководства – показать пошаговые инструкции по резервному копированию контейнера Docker в командной строке Linux. Мы также покажем, как восстановить контейнер Docker из резервной копии. Это можно сделать в любой системе Linux, где установлен Docker, и будет работать в любом дистрибутиве Linux. Чтобы понять процесс резервного копирования и восстановления контейнера Docker, нам сначала нужно […]

  • ⚙️ Как запустить сервис на привилегированном порту от обычного пользователя 26.05.2021

    Запускаем сервис на привилегированном порту. В качестве примера будет использоваться сервис jenkins. По умолчанию jenkins запускается на порту 8080. $ cat /etc/default/jenkins [...] # port for HTTP connector (default 8080; disable with -1) HTTP_PORT=8080 [...] Изменение этого значения прекратит запуск службы. $ sudo tail -20 /var/log/jenkins/jenkins.log Caused: java.io.IOException: Failed to bind to 0.0.0.0/0.0.0.0:80 at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector. java:349) […]

  • Как создать пустой файл в Linux? - Linux

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

    Порывшись на Linux форумах, обнаружил, что вариантов несколько. Предлагаю на выбор 11 способов.

    Способ 1

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

    
    
    #!/bin/sh
    touch имя_файла
    
    

    Способ 2

    cat — утилита UNIX, выводящая последовательно указанные файлы (или устройства), таким образом, объединяя их в единый поток. Если вместо имени файла указывается «-», то читается стандартный ввод.

    
    
    #!/bin/sh
    cat /dev/null >имя_файла
    
    

    Способ 3

    tail — утилита в UNIX, выводящая несколько (по умолчанию 10) последних строк из файла. Moses$" >имя_файла

    Способ 4

    date — утилита Unix для работы с системными часами. Выводит текущую дату и время в различных форматах и позволяет устанавливать системное время.

    
    
    #!/bin/sh
    date 2>имя_файла
    
    

    Способ 5

    dd — программа Unix, предназначенная как для копирования, так и для конвертации файлов.

    
    
    #!/bin/sh
    dd count=0 if=/etc/inittab of=имя_файла
    
    

    Способ 6

    Vim — свободный режимный текстовый редактор, созданный на основе более старого vi. Ныне это один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, и созданным благодаря этому расширениям и надстройкам.

    
    
    #!/bin/sh
    vim -c wq имя_файла
    
    

    Способ 7

    cp — команда Unix в составе GNU Coreutils, предназначенная для копирования файлов из одного в другие каталоги (возможно, с другой файловой системой). Исходный файл остаётся неизменным, имя созданного файла может быть таким же, как у исходного, или измениться.

    
    
    #!/bin/sh
    cp имя_файла_0 имя_файла
    
    

    Способ 8

    echo — команда Unix, предназначенная для отображения строки текста. Команда echo — выводит текст (выводит текст на стандартное устройство вывода).

    
    
    #!/bin/sh
    echo >имя_файла
    
    

    Способ 9

    
    
    #!/bin/sh
    echo '(with-open-file (x "имя_файла" :direction :output))' | clisp -
    
    

    Способ 10

    
    
    #!/bin/sh
    cp /dev/null имя_файла
    
    

    Способ 11

    
    
    #!/bin/sh
    : > имя_файла
    
    

    Способ 12

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

    
    
    #!/bin/sh
    > имя_файла
    
    

    Ссылки

    • Команда touch
    • Утилита Cat
    • Утилита Tail
    • Утилита Date
    • Утилита Dd
    • Текстовый редактор Vim
    • Команда Cp
    • Команда Echo

    ВКонтакте

    Twitter

    Facebook

    Одноклассники

    Linkedin

    Telegram

    WhatsApp

    Поделиться

    Linux OpenSUSE

    3 способа получить дату последнего изменения файла в linux

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

    Метод 1: Использование команды stat
    Команда stat используется для проверки состояния файла и возвращает сведения о файле, такие как его размер, разрешения, дата создания, дата последнего доступа и дата последнего изменения файла.
    stat После команды должно быть указано имя (или полный путь) файла, как показано ниже, и будет получен следующий результат.

    stat demofile.txt
    Файл: demofile.txt
    Размер: 4240 Блоки: 16 Блок ввода-вывода: 4096 обычных файлов
    Устройство: 806h / 2054d Inode: 2236484 Ссылки: 1
    Доступ: (0755 / -rwxr-xr-x) Uid : (0 / root) Gid: (0 / root)
    Доступ: 2019-08-08 17: 10: 05.713608794 +0530
    Изменение: 2019-05-06 17: 31: 03.605066693 +0530
    Изменение: 2019-05- 06 17:31:03. 605066693 +0530
    Рождение: -

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

    stat -c «% y» demofile.txt

    , где -c флаг используется для отображения данных в настраиваемом формате, а % y используется для отображения времени последней модификации. Таким образом, эта команда выведет только

    2019-05-06 17:31:03.605066693 +0530

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

    Метод 2: Использование команды date
    Команда date с опцией -r , за которой следует имя файла, отобразит дату и время последнего изменения файла.
    Пример,

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

    Понедельник, 6 мая 17:31:03 IST 2019

    , который является датой и временем последнего изменения данного файла. date Команда также может использоваться для определения даты последнего изменения каталога.
    В отличие от команды stat , date не может использоваться без какой-либо опции.

    Метод 3: Использование команды ls
    Команда ls используется для вывода списка файлов и папок, а ее параметр -l отображает имена файлов и каталогов вместе с другими деталями, такими как разрешения файлов и папок, пользователь-владелец, дата изменения и т. Д. .
    Когда эта команда выдается,
    • без аргументов, она выводит список всех файлов и папок в текущем каталоге.
    • с именем файла, тогда будут перечислены детали только этого файла.
    • с именем каталога, тогда он перечислит подробную информацию обо всех файлах в этом конкретном каталоге.

    Пример:

    -rwxr-xr-x 1 root root 4240 6 мая 17:31 demofile.txt

    Нажмите на кнопку , если вам понравилась статья

    37

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

    Строительство из комментария @Adam Taylor в ответе @phoops и ответе @Sparhawk.

    Чтобы конкретно , просто получит дату (например, 3 октября 2019 года, потому что это был мой последний день рождения, вот мой венмо, если вы чувствуете, что можете благословить меня финансово: @levi_uzodike)

    • stat -c% y file | cut -d '' -f1 даст вам 2019-10-03
    • date +% F -r file также даст вам 2019-10-03
    • дата +% D -r файл даст вам 10/03/19
    • date +% x -r file будет , вероятно, даст либо 10/03/2019 , либо 10/03/19 , если вы находитесь в U.S. и либо 10.03.2019 , либо 10.03.19 , если вы находитесь в Великобритании, просто чтобы назвать пару примеров (конечно, есть больше возможностей)

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

    Сокращенное название месяца языкового стандарта% b (например, январь)
    Полное название месяца языкового стандарта% B (например, январь)
    ...
    % d день месяца (например, 01)
    % D дата; то же, что и% m /% d /% y
    % e, день месяца, заполненный пробелом; то же, что и% _d
    % F полная дата; То же, что и% Y-% m-% d
    .по возможности используйте верхний регистр
    # по возможности используйте противоположный регистр

    Примечание: эти флаги не работают с «комбинированными форматами », такими как % F , % D и % x . Они предназначены для " форматов единственного поля ". # p дают pm или am , [в зависимости от времени, конечно] ) разве есть какой-то скрытый порядок действий? Извините, что отвлекся.b \% -e \% Y -r file даст вам 3 октября 2019 г.

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

    Существует только ТРИ различных значений времени, сохраненных для каждого из ваших файлов, как определено стандартом POSIX : http://pubs.opengroup.org/onlinepubs/9699919799/ (см. Раздел Base Definitions -> 4 . Общие понятия -> 4.8 File Times Update)

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

    И из :

      atime - для отметки времени последнего доступа к данным.
    mtime используется для отметки времени последнего изменения данных.
    ctime используется для отметки времени последнего изменения статуса файла.
      

    Следующие примеры показывают разницу между atime , mtime и ctime , эти примеры находятся в GNU / Linux BASH.Вы можете использовать stat -x в Mac OS X или другом BSD Dist. чтобы увидеть аналогичный формат вывода.

      $ stat --версия
    stat (GNU coreutils) 8.4
    Авторское право (C) 2010 Free Software Foundation, Inc.
    Лицензия GPLv3 +: GNU GPL версии 3 или более поздней .
    Это бесплатное программное обеспечение: вы можете изменять и распространять его.
    НИКАКИХ ГАРАНТИЙ в той степени, в которой это разрешено законом.
    
    Автор Майкл Мескес.
    $
    $ сенсорный тест
    $ stat test
      Файл: `test '
      Размер: 0 Блоки: 0 Блок ввода-вывода: 4096 обычных пустых файлов
    Устройство: 811h / 2065d Inode: 98828525 Ссылки: 1
    Доступ: (0664 / -rw-rw-r--) Uid: (514 / ранг) Gid: (514 / ранг)
    Доступ: 16 марта 2014 г., 10:58:28.609223953 +0800
    Изменить: 2014-03-16 10: 58: 28.609223953 +0800
    Изменение: 2014-03-16 10: 58: 28.609223953 +0800
      

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


    Сначала позвольте получить доступ к данным файла, прочитав их ( минус или vim ), распечатав ( cat ) или скопировав в другой файл ( cp ).

      $ cat test # Ничего не распечатывается, так как файл пустой
    $ stat test
      Файл: `test '
      Размер: 0 Блоки: 0 Блок ввода-вывода: 4096 обычных пустых файлов
    Устройство: 811h / 2065d Inode: 98828525 Ссылки: 1
    Доступ: (0664 / -rw-rw-r--) Uid: (514 / ранг) Gid: (514 / ранг)
    Доступ: 16 марта 2014 г., 10:59:13.182301069 +0800 <- время изменено!
    Изменить: 2014-03-16 10: 58: 28.609223953 +0800
    Изменение: 2014-03-16 10: 58: 28.609223953 +0800
      

    Теперь давайте изменим статус файла, изменив разрешение ( chmod ) или переименовав его ( mv )

      $ chmod u + x тест
    $ stat stet
      Файл: `test '
      Размер: 0 Блоки: 0 Блок ввода-вывода: 4096 обычных пустых файлов
    Устройство: 811h / 2065d Inode: 98828525 Ссылки: 1
    Доступ: (0764 / -rwxrw-r--) Uid: (514 / ранг) Gid: (514 / ранг)
    Доступ: 16 марта 2014 г., 10:59:13.182301069 +0800
    Изменить: 2014-03-16 10: 58: 28.609223953 +0800
    Изменение: 2014-03-16 11: 04: 10.178285430 +0800 <- ctime Changed!
    $
    $ mv тестовое тестирование
    $ stat тестирование
      Файл: `testing '
      Размер: 0 Блоки: 0 Блок ввода-вывода: 4096 обычных пустых файлов
    Устройство: 811h / 2065d Inode: 98828525 Ссылки: 1
    Доступ: (0764 / -rwxrw-r--) Uid: (514 / ранг) Gid: (514 / ранг)
    Доступ: 2014-03-16 10: 59: 13.182301069 +0800
    Изменить: 2014-03-16 10: 58: 28.609223953 +0800
    Изменение: 2014-03-16 11: 06: 33.342207679 +0800 <- ctime Снова изменено!
      

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


    Наконец, давайте изменим содержимое файла, отредактировав файл.

      $ echo 'Изменить ДАННЫЕ файла'> тестирование
    $ echo 'Измените ДАННЫЕ файла, также измените статус файла'> тестирование
    $ stat тестирование
      Файл: `testing '
      Размер: 56 Блоки: 8 Блок ввода-вывода: 4096 обычных файлов
    Устройство: 811h / 2065d Inode: 98828525 Ссылки: 1
    Доступ: (0764 / -rwxrw-r--) Uid: (514 / ранг) Gid: (514 / ранг)
    Доступ: 16 марта 2014 г., 10:59:13.182301069 +0800
    Изменение: 2014-03-16 11: 09: 48.247345148 +0800 <- mtime Changed!
    Изменение: 2014-03-16 11: 09: 48.247345148 +0800 <- ctime также изменился!
      

    Также обратите внимание, что более новая версия stat (например, stat --version 8.13 в Ubuntu 12.04) имеет информацию о 4-й временной метке - Birth Time (время создания файла). Хотя сейчас он может показывать неправильное время:

      $ stat --версия
    stat (GNU coreutils) 8.13
    Авторское право (C) 2011 Free Software Foundation, Inc.Лицензия GPLv3 +: GNU GPL версии 3 или новее.
    Это бесплатное программное обеспечение: вы можете изменять и распространять его.
    НИКАКИХ ГАРАНТИЙ в той степени, в которой это разрешено законом.
    
    Автор Майкл Мескес.
    $
    $ stat Birth_time
      Файл: `Birth_time '
      Размер: 0 Блоки: 0 Блок ввода-вывода: 4096 обычных пустых файлов
    Устройство: 805h / 2053d Inode: 4073946 Ссылки: 1
    Доступ: (0664 / -rw-rw-r--) Uid: (1000 / bingyao) Gid: (1000 / bingyao)
    Доступ: 2014-03-16 10: 46: 48.838718970 +0800
    Изменение: 16.03.2014 10:46:48.838718970 +0800
    Изменение: 2014-03-16 10: 46: 48.838718970 +0800
     Рождение: -
      

    Как получить дату последнего изменения файла в Linux

    Иногда может потребоваться проверить подробную информацию о файле (отметку времени), например дату его последнего изменения. Это может пригодиться, когда вы хотите проверить, когда файл последний раз редактировался. Кроме того, это гарантирует, что у вас установлена ​​последняя версия файла.

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

    1. Использование команды stat

    Команда ls -l дает вам основную информацию о файле, такую ​​как права собственности на файл и разрешения, размер файла и дата создания. Команда stat возвращает атрибуты файла с подробной информацией, например, время последнего доступа к файлу и его изменения.

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

      $ stat имя файла  
    stat из 'file1.текст'

    Из вышеприведенного вывода мы можем ясно видеть, когда к файлу в последний раз обращались (Дата доступа), Дата изменения, Дата изменения среди других параметров.

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

      $ stat -c «% y» file1.txt  
    Используйте команду stat только для проверки даты изменения

    Параметр -c используется для возврата даты в настраиваемом формате, а флаг '% y' отображает время последнего изменения.Для каталогов синтаксис остается прежним. Просто замените имя файла именем каталога.

    2. Использование команды даты

    Команда date в основном синтаксисе отображает текущую дату. Однако при использовании с опцией -r вы можете отобразить дату последней модификации файла, как показано.

      $ date -r имя_файла  

    Например,

      $ date -r file1.txt  
    команда date для отображения даты последнего изменения

    3.Использование команды ls -l

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

      $ ls -lt имя_файла  
    проверить последний измененный файл uing ls -lt

    4. Использование httpie

    Другой способ проверить дату последнего изменения - использовать клиентский инструмент командной строки httpie HTTP.Инструмент обычно используется для взаимодействия с HTTP-серверами и API-интерфейсами, а также может проверять, когда последний раз был изменен файл, находящийся на веб-сервере.

    Но сначала вам нужно установить его с помощью команды:

      $ pip3 установить httpie --user  

    В Ubuntu / Debian / Mint выполните команду:

      $ sudo apt install httpie  

    Чтобы проверить, когда файл на веб-сервере был в последний раз изменен, используйте синтаксис:

      $ http -h [url] | grep 'Последнее изменение'  

    Например:

      $ http -h https: // линоксид.com / wp-content / uploads / 2020/09 / Fedora-32-desktop.png | grep -i 'Последнее изменение'  
    Выход
      Последнее изменение: пт, 18 сен 2020 22:38:48 GMT  

    Заключение

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

    linux - отметка времени, время модификации и время создания файла

    Ответ echox действителен, но я хочу добавить информацию о времени создания файла.

    Некоторые файловые системы поддерживают дополнительную запись в индексном дескрипторе, касающуюся времени создания (или времени рождения). Я знаю, что ext4 поддерживает эту функцию, а также JFS и BTRFS.

    Однако большинство инструментов и API еще не обновлены для чтения этой дополнительной информации. Так что даже если он может быть там, он недоступен.

    Например, в Ubuntu 12.04 LTS для файла, который я создал сегодня, я получаю следующее:

      $ echo Еще один тест> / tmp / mytest
    $ спать 3
    $ touch / tmp / mytest
    $ спать 2
    $ cat / tmp / mytest> / dev / ноль
    $ stat / tmp / mytest
    [...]
    Доступ: 2012-06-05 13: 33: 44.279774711 +0200
    Изменение: 2012-06-05 13: 33: 34.611893317 +0200
    Изменение: 2012-06-05 13: 33: 34.611893317 +0200
     Рождение: -
    $ sudo debugfs -R 'stat / tmp / mytest' / dev / sda1
    [...]
     ctime: 0x4fcdee8e: 91e30114 - Вт 5 июня 13:33:34 2012
     atime: 0x4fcdee98: 42b417dc - Вт 5 июня 13:33:44 2012
     mtime: 0x4fcdee8e: 91e30114 - Вт 5 июня 13:33:34 2012
    crtime: 0x4fcdee46: 01258f1c - Вт 5 июня 13:32:22 2012
    [...]
      

    Вы можете видеть, что новая функция stat имеет поле рождения, хотя вывод кажется некорректным. И через debugfs мы можем получить информацию (crtime, поскольку я использую файловую систему ext4).

    Начиная с ядра 4.11 появился новый системный вызов statx, помимо улучшенной поддержки Y2038 или сетевых файловых систем, он также предлагает несколько дополнительных функций, таких как btime или доступ к времени рождения (времени создания). Поддержка ext4 должна быть в том же выпуске ядра 4.11.

    В более поздних выпусках ядра были внесены исправления для добавления поддержки этого нового системного вызова: e.грамм. BTRFS и F2FS в ядре 4.13, SMB3 в 4.14, GFS2 в 4.15, NFS в 4.16 и т. Д.

    В будущем glibc предоставит вызов функции для запроса этого интерфейса (см. Новости Phoronix о поддержке glibc statx). Так что мы можем ожидать поддержки этой функции в пользовательском пространстве довольно скоро.

    Как найти недавно измененные или измененные файлы в Linux

    В этой статье мы объясним два простых совета командной строки, которые позволят вам вывести список только всех сегодняшних файлов.

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

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

    Ниже приведены различные способы перечисления только всех файлов, которые вы создали или изменили (прямо или косвенно) сегодня.

    1. Используя команду ls, вы можете перечислить только текущие файлы в вашей домашней папке следующим образом, где:

    1. -a - список всех файлов, включая скрытые
    2. -l - включает формат длинного списка
    3. --time-style = FORMAT - показывает время в указанном FORMAT
    4. +% D - показать / использовать дату в формате% m /% d /% y
     # ls -al --time-style = +% D | grep 'дата +% D'
     
    Поиск последних файлов в Linux

    Кроме того, вы можете отсортировать результирующий список по алфавиту, включив флаг -X :

     # ls -alX --time-style = +% D | grep 'дата +% D'
     

    Вы также можете указать размер (сначала наибольший), используя флаг -S :

     # ls -alS --time-style = +% D | grep 'дата +% D'
     

    2. Опять же, можно использовать команду find, которая практически более гибкая и предлагает множество опций, чем ls , для той же цели, что и ниже.

    1. -maxdepth level используется для указания уровня (в терминах подкаталогов) ниже начальной точки (в данном случае текущего каталога), на котором будет выполняться операция поиска.
    2. -newerXY , это работает, если отметка времени X рассматриваемого файла новее, чем отметка времени Y ссылки на файл.X и Y обозначают любую из букв ниже:
      1. a - время доступа к ссылке на файл
      2. B - время рождения ссылки на файл
      3. c - время изменения статуса inode ссылки
      4. м - время изменения ссылки на файл
      5. t - ссылка интерпретируется непосредственно как время

    Это означает, что будут учитываться только файлы, измененные 2016-12-06 :

     # найти. -maxdepth 1 -newermt "2016-12-06"
     
    Поиск сегодняшних файлов в Linux

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

     # найти.-maxdepth 1 -newermt "12-06-2016"
    
      находка: я не могу понять, как интерпретировать '12-06-2016' как дату или время 
     

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

     # найти. -maxdepth 1 -newermt "12.06.2016"
    ИЛИ ЖЕ
    # найти . -maxdepth 1 -newermt "12.06.16"
     
    Поиск сегодняшних измененных файлов в Linux

    Дополнительную информацию об использовании команд ls и вы можете найти в следующей серии статей на эту тему.

    1. Освойте команду Linux «ls» с этими 15 примерами
    2. 7 полезных трюков для пользователей Linux
    3. Освойте команду поиска Linux с помощью этих 35 примеров
    4. Способы поиска нескольких имен файлов с расширениями в Linux

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

    Если вы цените то, что мы делаем здесь, на TecMint, вам следует принять во внимание:

    TecMint - это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей доступны БЕСПЛАТНО для всех.

    Если вам нравится то, что вы читаете, пожалуйста, купите нам кофе (или 2) в знак признательности.

    Мы благодарны за вашу бесконечную поддержку.

    Linux Поиск файлов по дате и список файлов, измененных на определенную дату

    Как мне найти файлы по дате в системе UNIX и Linux? Как искать файлы, созданные в определенную дату в Linux или Unix-подобной системе? Как получить список всех файлов, которые были изменены на определенную дату в Linux или Unix?

    Подробности руководства
    Уровень сложности Easy
    Права root Нет
    Требования Linux или Unix
    Est.время чтения 2m
    Операционные системы Linux и UNIX не хранят время создания файла. Однако вы можете использовать время и дату доступа к файлу и изменения, чтобы узнать файл по дате. Например, можно перечислить все файлы, которые были изменены на определенную дату.

    Давайте посмотрим, как найти файл по дате в Linux. Вам нужно использовать команду NA и команду NA.

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

    Синтаксис следующий:

     ls -l
    ls -lt
    ls -ltu
    ls -lt / etc / | более 

    Примеры выходных данных:

     drwxr-xr-x 2 root root 4096 24 сен, 11:42 sysctl.d
    drwxr-xr-x 2 root root 4096 24 сен, 11:42 logrotate.d
    drwxr-xr-x 2 root root 4096 24 сентября, 11:42 init
    drwxr-xr-x 2 root root 4096 24 сен, 11:42 init.d
    drwxr-xr-x 2 root root 4096 24 сен, 11:42 dnsmasq.d-available
    drwxr-xr-x 2 root root 4096 23 сентября 06:22 bash_completion.d
    -rw-r - r-- 1 root root 22667 22 сентября 18:17 ld.so.cache
    drwxr-xr-x 9 root root 4096 22 сентября 18:17 apparmor.d
    drwxr-xr-x 2 root root 4096 21 сен 06:21 ssh
    drwxr-xr-x 2 root root 4096 20 сентября 05:35 python3.5
    -rw-r - r-- 1 root root 3611 20 сентября 05:35 mailcap
    drwxr-xr-x 3 root root 4096 13 сен 12:29 apparmor
    drwxr-xr-x 7 root root 4096 22 августа 21:07 сеть
    -rw-r - r-- 1 корень root 929 22 августа 21:07 resolv.конф
    -rw-r - r-- 1 root root 492 22 августа 21:07 fstab
    drwxr-xr-x 2 root root 4096 22 августа 16:31 cron.hourly
    drwxr-xr-x 2 root root 4096 22 августа 16:29 percona-toolkit
    drwxr-xr-x 2 root root 4096 22 августа 16:29 gdb
    drwxr-xr-x 2 root root 4096 18 августа 21:28 cron.daily
    ...
    ..
    ...
    -rw-r - r-- 1 root root 575 22 октября 2015 профиль
    -rw-r - r-- 1 root root 10368 2 октября 2015 г. Sensor3.conf
    -rw-r - r-- 1 root root 2188 31 августа 2015 г. bash.bashrc
    -rw-r - r-- 1 root root 45 12 августа 2015 г. bash_completion
    -rw-r - r-- 1 root root 477 19 июля 2015 zsh_command_not_found
    -rw-r - r-- 1 root root 604 2 июля 2015 deluser.конф
    -rw-r - r-- 1 root root 3663 9 июня 2015 screenrc
    -rw-r - r-- 1 root root 703 6 мая 2015 logrotate.conf
    -rw-r - r-- 1 root root 12 30 апреля 2015 debian_version
    -rw-r - r-- 1 root root 771 6 марта 2015 insserv.conf
    drwxr-xr-x 2 root root 4096 6 марта 2015 insserv.conf.d
    -rw-r - r-- 1 root root 338 18 ноя 2014 обновленоb.conf
    -rw-r - r-- 1 root root 346 6 ноября 2014 discover-modprobe.conf
    -rw-r - r-- 1 root root 2932 25 октября 2014 протоколы
    -rw-r - r-- 1 root root 887 25 октября 2014 rpc
    -rw-r - r-- 1 root root 19605 25 октября 2014 службы
    -rw-r - r-- 1 root root 280 20 июня 2014 fuse.конф
    -rw-r - r-- 1 root root 497 4 мая 2014 г. nsswitch.conf 

    Для фильтрации информации необходимо использовать команду grep / egrep:
    $ ls -lt / etc / | grep filename
    ls -lt / etc / | grep 'Jun 20'

    Лучшее и рекомендуемое решение - это команда find:
    find. -type f -ls | grep '2017'
    найти. -type f -ls | grep 'имя_файла'
    найти / etc / -type f -ls | grep '25 сен '

    Пример команды find

    Если вам нужен определенный диапазон дат много дней назад, подумайте об использовании команды find.В этом примере найдите файлы, измененные между 1 января 2007 г. и 1 января 2008 г., в каталоге / data / images:

     touch --date "2007-01-01" / tmp / start
    touch --date "01.01.2008" / tmp / end
    find / data / images -type f -newer / tmp / start -not -newer / tmp / end 

    Вы можете сохранить список в текстовый файл с именем output.txt следующим образом:
    find / data / images -type f -newer / tmp / start -not -newer / tmp / end> ​​output.txt

    Linux найти файл по дате с помощью команды даты

    GNU find как различные опции командной строки для вывода списка файлов по их модификации и доступу к отметке даты / времени.

    Поздоровайтесь с параметром -newerXY для команды поиска

    Синтаксис следующий:
    find / dir / -type f -newerXY 'yyyy-mm-dd'
    find / dir / -type f -newerXY 'yyyy-mm-dd' -ls

    Буквы X и Y может быть любой из следующих букв:

    1. a - Время доступа к ссылке на файл
    2. B - Время рождения ссылки на файл
    3. c - Время изменения статуса inode ссылки
    4. м - Время модификации ссылки на файл
    5. t - ссылка интерпретируется непосредственно как время

    Чтобы увидеть все файлы, измененные 24 сентября 2017 года в текущем каталоге:

    найти.-type f -newermt 24.09.2017
    ## передать параметр -ls для вывода списка файлов в формате ls -l ##
    find. -type f -newermt 2017-09-24 -ls

    OR
    найти. -type f -newermt 24.09.2017! -newermt 25.09.2017
    найти. -type f -newermt 24.09.2017! -newermt 25.09.2017 -ls

    Примеры выходных данных:

     956 4 -rw-r - r-- 1 root root 910 24 сентября 11:42 ./init.d/.depend.boot
          958 4 -rw-r - r-- 1 root root 876 24 сен, 11:42./init.d/.depend.start
          959 4 -rw-r - r-- 1 root root 783 24 сен, 11:42 ./init.d/.depend.stop 

    Для просмотра всех файлов, к которым обращались 25 сентября 2017 г .:

    $ найти. -type f -newerat 25.09.2017! -newerat 26.09.2017
    ИЛИ
    $ найти. -type f -newerat 25.09.2017! -newerat 26.09.2017 -ls

    Список всех файлов * .c, доступ к которым осуществлялся 30 дней назад

    Введите следующую команду:
    find / home / you -iname "* .

    Оставить комментарий

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    © 2019 Штирлиц Сеть печатных салонов в Перми

    Цифровая печать, цветное и черно-белое копирование документов, сканирование документов, ризография в Перми.