Изменение метки времени файла в 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 после установки.
- Откройте дистрибутив Linux, перейдя в меню Пуск Windows и введя имя установленных дистрибутивов. Например: Ubuntu.
- В командной строке Windows или PowerShell введите имя установленного дистрибутива. Например:
ubuntu
- В командной строке Windows или PowerShell чтобы открыть дистрибутив Linux по умолчанию в текущей командной строке, введите:
wsl.
.exe
- В командной строке 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.![]() |
По умолчанию 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, установлен флаг.![]() |
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
Ваша сеть – это основа вашего бизнеса. Убедитесь, что вы знаете, что происходит глубоко внутри нее. Во многих отношениях ландшафт цифрового бизнеса пережил революцию. То, что начиналось как простые скрипты CGI, написанные на Perl, теперь превратилось в кластерные развертывания, полностью автоматизированные в Kubernetes и других фреймворках оркестрации. Но я не могу не улыбнуться при мысли, […]

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

Цель этого руководства – показать пошаговые инструкции по резервному копированию контейнера Docker в командной строке Linux. Мы также покажем, как восстановить контейнер Docker из резервной копии. Это можно сделать в любой системе Linux, где установлен Docker, и будет работать в любом дистрибутиве Linux. Чтобы понять процесс резервного копирования и восстановления контейнера Docker, нам сначала нужно […]
Запускаем сервис на привилегированном порту. В качестве примера будет использоваться сервис 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
ВКонтакте
Одноклассники
Telegram
Linux OpenSUSE
3 способа получить дату последнего изменения файла в linux
Часто вам нужно проверить время последнего изменения файла или папки, чтобы убедиться, что у вас есть последний и необходимый файл.
Существует много способов получить дату и время последнего изменения файла в системах Linux, Unix или Mac из терминала командной строки, и в этой статье они будут перечислены с примерами.
Команда 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
Если необходимо проверить дату последнего изменения папки, то имя файла следует заменить на имя папки.
Примечание: Если вы находитесь не в том же каталоге, что и файл, укажите полный путь к файлу вместо имени файла.
Команда date
с опцией -r
, за которой следует имя файла, отобразит дату и время последнего изменения файла.Пример,
, где опция -r
используется для отображения даты последней модификации файла. Вышеупомянутая команда выдаст следующий результат:
Понедельник, 6 мая 17:31:03 IST 2019
, который является датой и временем последнего изменения данного файла. date Команда
также может использоваться для определения даты последнего изменения каталога.
В отличие от команды stat
, date
не может использоваться без какой-либо опции.
Команда 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, вы можете перечислить только текущие файлы в вашей домашней папке следующим образом, где:
-
-a
- список всех файлов, включая скрытые -
-l
- включает формат длинного списка -
--time-style = FORMAT
- показывает время в указанном FORMAT -
+% 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 , для той же цели, что и ниже.
-
-maxdepth
level используется для указания уровня (в терминах подкаталогов) ниже начальной точки (в данном случае текущего каталога), на котором будет выполняться операция поиска. -
-newerXY
, это работает, если отметка времени X рассматриваемого файла новее, чем отметка времени Y ссылки на файл.X и Y обозначают любую из букв ниже:- a - время доступа к ссылке на файл
- B - время рождения ссылки на файл
- c - время изменения статуса inode ссылки
- м - время изменения ссылки на файл
- 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
и вы можете найти в следующей серии статей на эту тему.
- Освойте команду Linux «ls» с этими 15 примерами
- 7 полезных трюков для пользователей Linux
- Освойте команду поиска Linux с помощью этих 35 примеров
- Способы поиска нескольких имен файлов с расширениями в Linux
В этой статье мы объяснили два важных совета, как вывести список только сегодняшних файлов с помощью команд ls и find.Воспользуйтесь формой обратной связи ниже, чтобы отправить нам любые вопросы или комментарии по теме. Вы также можете сообщить нам о любых командах, используемых для той же цели.
Если вы цените то, что мы делаем здесь, на TecMint, вам следует принять во внимание:
TecMint - это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей доступны БЕСПЛАТНО для всех.
Если вам нравится то, что вы читаете, пожалуйста, купите нам кофе (или 2) в знак признательности.
Мы благодарны за вашу бесконечную поддержку.
Linux Поиск файлов по дате и список файлов, измененных на определенную дату
Как мне найти файлы по дате в системе UNIX и Linux? Как искать файлы, созданные в определенную дату в Linux или Unix-подобной системе? Как получить список всех файлов, которые были изменены на определенную дату в Linux или Unix?Подробности руководства | |
---|---|
Уровень сложности | Easy |
Права root | Нет |
Требования | Linux или Unix |
Est.время чтения | 2m |
Давайте посмотрим, как найти файл по дате в 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 может быть любой из следующих букв:
- a - Время доступа к ссылке на файл
- B - Время рождения ссылки на файл
- c - Время изменения статуса inode ссылки
- м - Время модификации ссылки на файл
- 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 "* .