- ls —full-time + время создания файла
- Как найти дату создания файла?
- 7 ответов
- Как я нахожу время создания файла?
- 5 ответов
- [ ls ] Как узнать время создания файла?
- Re: [ ls ] Как узнать время создания файла?
- [ ls ] Как узнать время создания файла?
- [ ls ] Как узнать время создания файла?
- Re: [ ls ] Как узнать время создания файла?
- [ ls ] Как узнать время создания файла?
- [ ls ] Как узнать время создания файла?
- Re: [ ls ] Как узнать время создания файла?
- [ ls ] Как узнать время создания файла?
- [ ls ] Как узнать время создания файла?
- [ ls ] Как узнать время создания файла?
- Re: [ ls ] Как узнать время создания файла?
- [ ls ] Как узнать время создания файла?
- Как посмотреть дату создания файла в Linux
- 1. Найдите дату создания файла в Linux
- 2. Знать корневую систему в Linux
- СТАТЬЯ ПО ТЕМЕ Типы статических графических объявлений Google Adwords
- Список постов
- Читайте сегодня
- Статьи от подписчиков
- СТАТЬИ
- Категории
- ЧИТАЙТЕ ТАК ЖЕ
ls —full-time + время создания файла
Как добавить в вывод `ls —full-time` время создания файлов (ctime)?
Какой-то непонятный у ls мануал.
Хочу ещё одну колонку (точнее две) с датой и временем создания файлов.
ctime — это не время создания файла.
Время создания файла не хранится. Или хранится, но далеко не на всех файловых системах.
ls не будет выводить две даты, мучайте find.
Ну, а то что ctime это «time of last modification of file status information» написано в man’е.
Люникс огорчает в 10001 раз.
А кто, кроме вендов, может порадовать по этому поводу?
Таки UFS2, оказывается, может.
Это же FreeBSD, не?
В таком случае тебе нужен не ls, a stat
man stat, надеюсь он понятнее чем man ls
Сергей, нет в Люникс VFS даты создания файла. Забейте 😉
Она самая и данная фича труднопереносима между ФС.
Ты зачем пришел? В ext4 есть такое поле. Кому надо доберется.
man stat для вывода нескольких полей даты.
А вот в исходниках, да, есть:
Gnulib already supports the code for reading Btime (aka ext4’s crtime, aka birth-time) from all file systems that support it (at least ext4 and NTFS). It’s just that no one has yet written the code to make stat(1) take advantage of this code in the stat-times module.
Вот ведь, б*дь, 1001 пример того, что ядерные фифи в userspace отсутствуют.
Как же это через одно место.
Через debugfs я знал, но говорить не хотел, ты и так полон ненависти к непонятному.
Я полон ненависти к не user-friendly ОСям, которые нужные вещи прячут глубоко в опу.
Я полон ненависти к разрабам GNU, которые простейшую фичу уже лет 10 не могут реализовать.
Скрипт, который рекурсивно выводит modification creation time для заданной директории. Файлы, содержащие в имени перевод строки, не поддерживаются. Впрочем, мне плевать на таких извращенцев.
Источник
Как найти дату создания файла?
Я хочу узнать дату создания конкретного файла, а не дату изменения или дату доступа.
Я пробовал с ls -ltrh и stat filename .
7 ответов
Стандарт POSIX определяет только три разных временных отметки для каждого файла: время последнего доступа к данным, время последней модификации данных и время последнего изменения статуса файла.
Тем не менее, современные файловые системы Linux, такие как ext4, Btrfs и JFS, хранить время создания файла (также время рождения), но использовать разные имена для данного поля ( crtime в ext4, otime в Btrfs и JFS). Тем не менее, в настоящее время Linux не предоставляет API-интерфейс ядра для доступа к файлу времени создания , даже в поддерживающих их файловых системах.
Как Craig Sanders и Мохсен Пахлеванзаде указал, stat поддерживает % w и %w для отображения времени рождения файла (в человекообразном формате и в секундах с Epoch соответственно). Однако %W сам обращается к времени рождения через stat , предоставляемый gnulib (в get_stat_birthtime() ), который получает время рождения из полей lib/stat-time.h и st_birthtime структуры st_birthtimensec , возвращенных системным вызовом stat . Хотя, например, BSD-системы (и в расширении OS X) предоставляют stat() через st_birthtime , Linux этого не делает. Вот почему stat выводит stat -c ‘%w’ file (указывающий на неизвестное время создания) в Linux даже для файловых систем, которые хранят время создания внутри.
Как Стефан Хазелас указывает на , некоторые файловые системы, такие как ntfs-3g, отображают время создания файла с помощью расширенных атрибутов файла.
TLDR; Используйте stap ( «SystemTap» ), чтобы создать свой собственный API ядра. Демонстрация извлечения времени создания ext4 ниже.
Вы можете извлечь время создания ext4 в системах Fedora 19. Вот мой:
Понятно, что inodes на моих ext4-разделах имеют время создания. Вот сценарий оболочки, который определяет индексный дескриптор, связанный с именем файла, и затем добавляет результат stat со временем создания, используя stap («systemtap»).
NB: это просто демо и чрезвычайно неэффективны, так как модуль ядра создается, загружается и выгружается для каждого исполнения. Это также, вероятно, очень хрупко, поскольку проверка ошибок не выполняется. Правильный API ядра предпочтительнее, но этот скрипт можно сделать намного более эффективным и прочитать время создания нескольких файлов /инодов.
В ext4 это возможно; потому что файловая система ext4 хранит время создания файла. Но все же вы обнаружите, что команда stat не может показать дату, это потому, что я думаю, что у ядра по-прежнему нет API-интерфейсов для этого.
В любом случае время рождения файла сохраняется в ext4 , и вы можете найти его, хотя это не прямой метод, но используя debugfs
sudo debugfs -R «stat /ABSOLUTE /PATH» /dev /sdxX | grep crtime
В теории с GNU stat вы можете использовать stat -c ‘%w’ или %W , чтобы получить дату создания файла (также время рождения).
На практике большинство файловых систем не записывают эту информацию, и ядро linux не предоставляет никакого доступа к ней.
Самое близкое, что вы можете получить, это ctime файла, который является not временем создания, это время, когда метаданные файла были в последний раз изменены.
В Weekly News Linux появилась интересная статья об этом несколько лет назад — http://lwn.net/Articles/397442/
Разница между FreeBSD и GNU\Linux в stat command :
Если вы вызываете команду stat в GNU\Linux , она вызывает параметр -x , но в FreeBSD вы сами должны вызывать -x.
Примечания: -x очень полезно в сценарии —printf .
В OS X вы можете использовать ls -lU , stat -f%B , GetFileInfo -d или mdls -n kMDItemFSCreationDate :
Кстати, это работает только на ext4. Я не нашел решение для BtrFS . еще;)
Источник
Как я нахожу время создания файла?
Я должен найти время создания файла, когда я прочитал некоторые статьи об этой проблеме, все упомянули, что нет никакого решения (как Site1, Site2).
Когда я попробовал stat команда, указывает это Birth: — .
Таким образом, как я могу найти время создания файла?
5 ответов
Есть способ узнать дату создания каталога, просто выполните следующие действия:
Узнайте inode каталога с помощью ls -i команда (скажем, ее X )
Узнайте, на каком разделе сохранен ваш каталог, с помощью команды df -T / path (скажем, это на / dev / sda1 )
Теперь используйте эту команду: sudo debugfs -R ‘stat ‘ / dev / sda1
В выводе вы увидите:
crtime — дата создания вашего файла.
Что я тестировал :
- Создал каталог в определенное время.
- Получил доступ к нему.
Изменил его, создав файл.
Я попробовал команда, и она дала точное время.
@Nux нашел отличное решение для этого, которое вы все должны проголосовать. Я решил написать небольшую функцию, которую можно было бы использовать для прямого запуска всего. Просто добавьте это в свой
Теперь вы можете запустить get_crtime , чтобы распечатать даты создания любого количества файлов или каталогов:
TL; DR: Просто беги: sudo debugfs -R ‘stat / path / to / your / file’ / dev /
(Чтобы определить вашу fs, запустите df -T / path / to / your / file , скорее всего, это будет / dev / sda1 ).
Длинная версия:
Мы собираемся запустить две команды:
Узнать имя раздела для ваш файл.
Вывод будет выглядеть следующим образом (сначала имя раздела):
Узнать время создания этого файла.
В выходных данных найдите ctime .
Неспособность stat показать время создания связана с ограничением системного вызова stat (2) , структура возврата которого не включает поле для времени создания. Однако, начиная с Linux 4.11 (т.е. 17.10 и новее *), доступен новый системный вызов statx (2) , который включает время создания в его возвращаемую структуру.
* И, возможно, в более старых версиях LTS, использующих ядра аппаратного стека (HWE). Проверьте uname -r , чтобы убедиться, что вы используете ядро версии не ниже 4.11 для подтверждения.
К сожалению, вызывать системные вызовы непосредственно в программе на языке C непросто. Обычно glibc предоставляет оболочку, которая упрощает работу, но glibc добавила оболочку только для statx (2) в августе 2018 г. (версия 2.28 , доступна в 18.10). Сама команда stat получила поддержку statx (2) только в GNU coreutils 8.31 (выпущена в марте 2019 г.) , однако даже только Ubuntu 20.04 имеет coreutils 8.30 .
Но я не думаю, что это будет перенесено на выпуски LTS, даже если они получат или уже используют новые ядра или glibcs. Поэтому я не ожидаю, что stat в любой текущей версии LTS (16.04, 18.04 или 20.04) когда-либо напечатает время создания без ручного вмешательства.
В 18.10 и новее, вы можете напрямую использовать функцию statx , как описано в man 2 statx (обратите внимание, что на странице руководства 18.10 неверно указано, что glibc еще не добавил оболочку).
в Ubuntu 20.10 вы сможете использовать stat напрямую:
К счастью, для старых систем @whotwagner написал пример программы на C , в которой показано, как использовать Системный вызов statx (2) в системах x86 и x86-64. Его вывод имеет тот же формат, что и stat по умолчанию, без каких-либо параметров форматирования, но его просто изменить, чтобы печатать только время рождения.
Сначала клонируйте его:
Вы можете скомпилировать код statx.c или, если вам просто нужно время рождения, создайте Birth.c в клонированном каталоге со следующим кодом (который является минимальной версией ] statx.c печатает только временную метку создания, включая точность наносекунды):
Теоретически это должно сделать время создания более доступным:
- должно поддерживаться больше файловых систем, чем только ext * ( debugfs — это инструмент для файловых систем ext2 / 3/4, который нельзя использовать в других)
- вам не нужен root, чтобы использовать это (за исключением установки некоторых необходимых пакетов, таких как make и linux-libc-dev ).
Тестирование системы xfs, например:
Однако это не сработало для NTFS и exfat. Я полагаю, что файловые системы FUSE для них не учитывали время создания.
Источник
[ ls ] Как узнать время создания файла?
Я в ступоре. Мне нужно сделать простое действие — распечатать список файлов, чтобы рядом с именем файла показывалось время его создания.
Документация по ls написана для экстрасенсов, а я им не являюсь.
Re: [ ls ] Как узнать время создания файла?
Файловые системы не хранят время создания файла
есть mtime, atime, ctime
- m — modify
- a — access
- c — change (metadata)
[ ls ] Как узнать время создания файла?
> Файловые системы не хранят время создания файла
Вот так сюрприз. Что, интересно, мешает хранить время создания?
[ ls ] Как узнать время создания файла?
>Что, интересно, мешает хранить время создания?
Re: [ ls ] Как узнать время создания файла?
Что, интересно, мешает хранить время создания?
А зачем? За последние 10 лет не припомню ни одного случая, когда бы это понадобилось.
Сегодня при наличии рабочего inotify можно вести отдельный лог создания фалов (IN_CREATE File/directory created in watched directory)
[ ls ] Как узнать время создания файла?
>А зачем? За последние 10 лет не припомню ни одного случая, когда бы это понадобилось.
Как только у нас чего нету мы говорим: «А зачем?». 🙂
[ ls ] Как узнать время создания файла?
Re: [ ls ] Как узнать время создания файла?
Как только у нас чего нету мы говорим: «А зачем?». 🙂
Может потому и нет, что незачем? Я потому и привел довод, что у меня за 10 лет админства не было такой потребности.
[ ls ] Как узнать время создания файла?
>Может потому и нет, что незачем? Я потому и привел довод, что у меня за 10 лет админства не было такой потребности.
Да это трололо было. ИМХО, ты прав, для меня так же creation time = modification time
[ ls ] Как узнать время создания файла?
Ну это естественное желание человека — знать когда файл или каталог был создан. Например, в каталоге /home ты бы мог узнать, когда какой пользователь был создан. Или по дате создания конфигурационного файла какого-нить сервиса узнать, стоял он уже в системе на какой-то момент или нет.
[ ls ] Как узнать время создания файла?
> А зачем? За последние 10 лет не припомню ни одного случая, когда бы это понадобилось.
А время модификации метаданных, хоть раз понадобилось? ИМХО, это еще более бесполезная вещь, чем время создания. И тем не менее оно есть.
Re: [ ls ] Как узнать время создания файла?
А время модификации метаданных, хоть раз понадобилось? ИМХО, это еще более бесполезная вещь, чем время создания. И тем не менее оно есть.
когда был сделан chmod/chown данному файлу весьма интересный вопрос
[ ls ] Как узнать время создания файла?
> когда был сделан chmod/chown данному файлу весьма интересный вопрос
А зачем? За несколько лет не припомню ни одного случая, когда бы это понадобилось.
Источник
Как посмотреть дату создания файла в Linux
При использовании операционных систем UNIX, как и в случае с Linux, каждый компонент каталогизируется как файл и каждый «файл», и каждый раз, когда мы вносим какие-либо изменения в этот элемент, все эти изменения размещаются в индексном узле, и Linux позаботится об этом. идентификация каждого файла по соответствующему номеру inode, который не является человеческим именем файла, с которым он был создан.
В среде Linux у нас есть команда «stat» (Статистика), которая, как следует из названия, отвечает за отображение состояния файловой системы, генерируя полезную информацию, такую как:
- Дата создания файла
- Номер inode
- Последние изменения, внесенные в файл
- Последнее изменение состояния
- Последний доступ и более актуальная информация.
В Linux у нас есть такие параметры, как:
Отображение времени смены файла.
Он генерирует время доступа к файлу.
Показывает время модификации файла.
Показывает время создания файла.
Чтобы не отставать, не забудьте подписаться на наш канал на YouTube! ПОДПИСЫВАТЬСЯ
1. Найдите дату создания файла в Linux
Чтобы найти подробную информацию о файле, в частности, дату и время его создания, мы можем использовать crtime, который отвечает за поиск inode файла с помощью команды stat, для этого мы выполним следующий синтаксис:
Для этого мы должны перейти в каталог, где находится файл для анализа, и, как мы видим, отображаемая информация содержит такие детали, как:
- Дата последнего доступа и изменения
- Ссылки
- Размер
- Номер узла и другое.
В качестве альтернативы мы также можем использовать команду ls. В этом случае будет отображаться индексный дескриптор указанного файла. Необходимо будет принять во внимание номер inode, связанный с этим файлом.
2. Знать корневую систему в Linux
Следующим шагом является определение корневой файловой системы, в которой размещен отсканированный файл, для этого мы выполним команду df -h, чтобы определить корневую файловую систему следующим образом:
В этом случае мы видим, что корневая система — это «/ dev / sda1». Теперь, имея эту информацию, мы будем использовать команду «debugfs », чтобы найти время создания файла, добавив параметр« -R », который сообщает debugfs выполнить одну внешнюю команду, связанную с номером inode файла. для использования, Для этого мы выполним следующий синтаксис:
В результате мы можем увидеть гораздо более полную информацию о выбранном файле с такими деталями, как:
- Номер inode
- Режим
- Связанный пользователь и группа
- Размер
- Подробная информация о ctime, atime, mtime и crtime
- Контрольная сумма и многое другое.
Мы можем использовать этот инструмент для получения более подробной информации о каждом файле, который необходимо проанализировать.
СТАТЬЯ ПО ТЕМЕ Типы статических графических объявлений Google Adwords
Список постов
Читайте сегодня
Статьи от подписчиков
СТАТЬИ
Категории
ЧИТАЙТЕ ТАК ЖЕ
Мы можем узнать, кто видел наши состояния в WhatsApp, нажав на значок глаза под ним, но возможно, что по причинам, которые мы не хотим, чтобы другой человек узнал, что мы просмотрели его состояние. В этих случаях вариант его просмотра, о котором другой человек не знает, — это отключить синюю галочку или подтверждение чтения, но вы можете не знать, что есть другой способ сделать это без выполнения этого действия.
Именно по этой причине сегодня в TechnoWikis мы шаг за шагом объясним, как видеть состояния WhatsApp, не будучи видимыми и не отключая подтверждение чтения. Таким образом, никто не узнает, что вы вошли в их профиль, чтобы увидеть публикации, которые они загрузили. Для этого вам нужно будет сделать следующее:
Чтобы не отставать, не забудьте подписаться на наш канал на YouTube! ПОДПИСЫВАТЬСЯ Адаптивный дизайн веб в SEO Адаптивный или адаптивный веб-дизайн — это технология веб-дизайна и разработки с использованием плавных структур и изображений для адаптации веб-сайта к среде пользователя. Этан Маркотт был тем, кто создал и распространил эту технику. Поскольку использование мобильных устройств продвигается стремительно (оно уже даж Как отключить звук камеры на мобильном телефоне Android Подавляющее большинство смартфонов Android издают рефлекторный звук срабатывания затвора каждый раз, когда пользователь нажимает кнопку спуска затвора на камере. Проблема, это звуковое напоминание может очень раздражать в определенных ситуациях. В этом уроке мы объясним, как отключить звук камеры на вашем Android-смартфоне. Как контролировать время, используемое на Mac и Windows Правильное администрирование нашего времени перед компьютерной командой позволяет нам быть намного более продуктивными и иметь возможность динамически управлять гораздо большим количеством проектов или задач и всегда давать наилучшие результаты. Проводя несколько часов в день перед командой, идеально знать подробно, как это время управляется и в которое мы его вкладываем, поскольку иногда мы думаем, что оно идеально, поскольку мы используем это время, но н Как восстановить поврежденный файл в Word 2016 Работа с документами является обычной задачей как в профессиональной сфере, так и в учебных задачах или личной сфере. Благодаря возможностям цифровых устройств мы можем создавать документы с любого терминала и делиться ими между различными носителями и форматами . Одним из наиболее распространенных документов является гегемонистский текстовый документ. Хотя в Windows есть разные редакторы для открытия документов, мы сосредоточимся на том, что входит в хорошо известный пакет Microsof
Источник