কোনও ফাইলের সমস্ত টাইমস্ট্যাম্পগুলি কীভাবে পরীক্ষা করবেন?


52

লিনাক্সে কোনও ফাইলের সমস্ত টাইমস্ট্যাম্প চেক করার জন্য কোন আদেশ আছে?

আমি ফাইলটিতে সর্বশেষ সংশোধিত, তৈরি এবং স্পর্শের তারিখগুলি দেখার চেষ্টা করছি।


4
কেবল উল্লেখ করার জন্য, লিনাক্স ফাইলগুলির জন্ম তারিখ নেই। সুতরাং, কোনও ফাইল তৈরির তারিখ নির্ধারণ করা সম্ভব নয়।
ফ্যাটাল এরর

লক্ষ্য করেছেন যে = (। এটি আমাকে
দেখানোর

4
@ ফ্যাটাল এরর: বিভিন্ন ফাইল সিস্টেম ইতিমধ্যে জন্ম / তৈরি টাইমস্ট্যাম্প সমর্থন করে; আসল সমস্যা হ'ল এই জাতীয় অতিরিক্ত তথ্য অ্যাক্সেস করা । (কেউ struct statজিনিস ভাঙ্গা ছাড়া কেবল প্রসারিত করতে পারে না , দুর্ভাগ্যক্রমে ...) আপনি ইনো দিয়ে debugfs -R "stat <1234>" /dev/sdXYপ্রতিস্থাপন 1234করে এক্সট 4 এর জন্য চেষ্টা করতে পারেন ।
মাধ্যাকর্ষণ

@ গ্রায়েটি: ঝরঝরে! আমি সবসময়ই ভাবতাম কেন কোনও fs এর এটি ছিল না ... তবে আমি তাদের অনুমান করি তবে আপনি যেমন বলেছিলেন, বিদ্যমান বাইনারিগুলির জন্য কেবল এবিআইকে ভেঙে যেতে পারে না। ভকভগক :).
ফ্যাটাল এরর

1
@ ফ্যাটাল এরর, জন্মের সময়টি লিনাক্স statকমান্ডের সাথে প্রদর্শিত হতে পারে , দেখুন ফাইলের তৈরি তারিখটি কীভাবে খুঁজে পাবেন? এবং লিনাক্সের কোন ফাইল সিস্টেমগুলি তৈরির সময় সংরক্ষণ করে?
ফ্র্যাঙ্কলিন পিয়াত 21

উত্তর:


73

আদেশ বলা হয় stat

$ stat test
234881026 41570368 -rw-r--r-- 1 werner staff 0 0 "Feb  7 16:03:06 2012" "Feb  7 16:03:06 2012" "Feb  7 16:03:06 2012" "Feb  7 16:03:06 2012" 4096 0 0 test

আপনি যদি ফর্ম্যাটটি সামঞ্জস্য করতে চান তবে ম্যান পেজগুলি দেখুন, যেহেতু আউটপুটটি ওএস-নির্দিষ্ট এবং লিনাক্স / ইউনিক্সের অধীনে পরিবর্তিত হয়।

সাধারণত, আপনি সাধারণ ডিরেক্টরি তালিকার মাধ্যমেও সময়গুলি পেতে পারেন:

  • ls -l আউটপুটগুলি সর্বশেষে ফাইলের সামগ্রীটি পরিবর্তিত হয়েছিল mtime
  • ls -lcফাইলের স্থিতি সংশোধনের শেষ সময় আউটপুট, ctime( কী পার্থক্য? )
  • ls -luশেষ অ্যাক্সেস সময় আউটপুট, atime(যদিও এই ধারণাটির দরকারীতা আলোচনার বিষয় )

এবং অবশ্যই, ctimeকোনও ফাইল কখন "তৈরি" হয়েছিল তা রেকর্ড করে না। পসিক্স স্পেসিফিকেশন কেবল তিনটি টাইমস্ট্যাম্প সংজ্ঞায়িত করে তবে কিছু লিনাক্স ফাইল সিস্টেম জন্মের সময় / তৈরির সময় সঞ্চয় করে। ফাইল তৈরির তারিখটি কীভাবে সন্ধান করবেন? যেমন একটি সমর্থিত কনফিগারেশন, এক ব্যবহার করতে পারে

stat --printf '%n\nmtime: %y\nctime: %z\natime: %x\ncrtime:%w\n'

statসত্যিই বিস্তারিত। তবে lsকেবল একটি লাইন দরকার। এটি সেকেন্ডও প্রদর্শন করতে পারলে ভাল হবে। তবে ফাইলগুলির তালিকা তৈরি করার সময়, পূর্বেরটি পুরোপুরি উপযুক্ত।
neverindind9

ls -l ছিল আমার দ্রুত সমাধান
অ্যান্ড্রু

আমি লক্ষ্য করেছি যে ls -lব্যাসিবক্স ইনস্টল থাকা অবস্থায় (অ্যান্ড্রয়েডে) ফলাফল আলাদা আলাদা তারিখের ফর্ম্যাট দেখাতে পারে। আমি মনে করি এটি ছাড়া এটি "2019-07-26 14:41" এর মতো, এবং এটির সাথে এটি "মে 6 21:27" এর মতো। বছরটি কীভাবে অনুপস্থিত? এটিকে বাদ দিয়ে বিন্যাসটি ব্যবহার করে কি জোর করার কোনও উপায় আছে?
অ্যান্ড্রয়েড বিকাশকারী

@ অ্যান্ড্রয়েড ডেভেলপার যেমন আমি বলেছিলাম, উত্তরটি ওএসের উপর নির্ভর করে। আমি মনে করি আপনার একটি নতুন প্রশ্ন খোলার উচিত। আপনি যদি অ্যান্ড্রয়েড সম্পর্কে বিশেষভাবে কথা বলছেন তবে সম্ভবত স্ট্যাক ওভারফ্লো বা অ্যান্ড্রয়েড উত্সাহীরা আরও উপযুক্ত হবে।
slhck

@ এসএলএইচএইচকি ওয়েল এটি একই ওএস, ঠিক বুসিবক্স ইনস্টল করা আছে। আমি জিজ্ঞাসা করেছি যে এটি প্রদর্শিত হবে (যা অর্থ: ব্যবহার করার জন্য একটি আদেশ আছে) যা প্রদর্শিত হবে সেই বিন্যাসটি পেতে।
অ্যান্ড্রয়েড বিকাশকারী

21

POSIX স্ট্যান্ডার্ড : http://pubs.opengroup.org/onlinepubs/9699919799/ ( বেস সংজ্ঞা বিভাগ -> ৪. সাধারণ ধারণা -> ৪.৮ ফাইল) দ্বারা সংজ্ঞায়িত হিসাবে আপনার প্রতিটি ফাইলের জন্য কেবল তিনটি পৃথক সময়ের মান সঞ্চিত আছে টাইমস আপডেট)

প্রতিটি ফাইল তিনটি স্বতন্ত্র সংশ্লিষ্ট টাইমস্ট্যাম্প রয়েছে: শেষ সময় ডেটা অ্যাক্সেস গত সময় ডেটা পরিবর্তন , এবং সময় ফাইল অবস্থা গত পরিবর্তিত । এই মানগুলি ফাইলের বৈশিষ্ট্যগুলির কাঠামোর স্ট্যাটে স্ট্র্যাটে স্ট্যাটাসে ফিরে আসে, <sys / stat.h> তে বর্ণিত ।

এবং <সিস / স্টাট। H> থেকে :

atime is for Last data access timestamp.
mtime is for Last data modification timestamp.
ctime is for Last file status change timestamp.

উদাহরণগুলো দেখায় অনুসরণ মধ্যে পার্থক্য atime , র দ্বারা mtime এবং ctime , এই উদাহরণ জিএনইউ / লিনাক্স ব্যাশে হয়। আপনি stat -xম্যাক ওএস এক্স বা অন্যান্য বিএসডি জেলাতে ব্যবহার করতে পারেন । অনুরূপ আউটপুট ফর্ম্যাট দেখতে।

$ stat --version
stat (GNU coreutils) 8.4
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Michael Meskes.
$
$ touch test
$ stat test
  File: `test'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 811h/2065d  Inode: 98828525    Links: 1
Access: (0664/-rw-rw-r--)  Uid: (  514/    rank)   Gid: (  514/    rank)
Access: 2014-03-16 10:58:28.609223953 +0800
Modify: 2014-03-16 10:58:28.609223953 +0800
Change: 2014-03-16 10:58:28.609223953 +0800

যখন ফাইলটি কেবল তৈরি করা হবে, তিনটি টাইমস্ট্যাম্প একই।


1.এটাইম

প্রথমে আসুন ফাইলটির ডেটা এটি ( বা ) পড়ে, মুদ্রণ করে ( ) বা অন্য কোনও ফাইলে ( ) অনুলিপি করে অ্যাক্সেস করি ।lessvimcatcp

$ cat test #Nothing will be printed out, since the file is empty
$ stat test
  File: `test'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 811h/2065d  Inode: 98828525    Links: 1
Access: (0664/-rw-rw-r--)  Uid: (  514/    rank)   Gid: (  514/    rank)
Access: 2014-03-16 10:59:13.182301069 +0800  <-- atime Changed!
Modify: 2014-03-16 10:58:28.609223953 +0800
Change: 2014-03-16 10:58:28.609223953 +0800

2. সিটাইম

এখন দিন পরিবর্তন , ফাইল অবস্থা অনুমতি (পরিবর্তন করে chmod) অথবা এটা পুনঃনামকরনের ( mv)

$ chmod u+x test
$ stat stet
  File: `test'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 811h/2065d  Inode: 98828525    Links: 1
Access: (0764/-rwxrw-r--)  Uid: (  514/    rank)   Gid: (  514/    rank)
Access: 2014-03-16 10:59:13.182301069 +0800
Modify: 2014-03-16 10:58:28.609223953 +0800
Change: 2014-03-16 11:04:10.178285430 +0800  <-- ctime Changed!
$    
$ mv test testing
$ stat testing
  File: `testing'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 811h/2065d  Inode: 98828525    Links: 1
Access: (0764/-rwxrw-r--)  Uid: (  514/    rank)   Gid: (  514/    rank)
Access: 2014-03-16 10:59:13.182301069 +0800
Modify: 2014-03-16 10:58:28.609223953 +0800
Change: 2014-03-16 11:06:33.342207679 +0800  <-- ctime Changed again!

দ্রষ্টব্য যে এখন অবধি ফাইলটির বিষয়বস্তু ( ডেটা ) এখনও তৈরি হওয়ার সময় একই still


৩.মাইটাইম

পরিশেষে, আসুন ফাইল সম্পাদনা করে ফাইলের বিষয়বস্তুগুলি পরিবর্তন করুন।

$ echo 'Modify the DATA of the file' > testing
$ echo 'Modify the DATA of the file also change the file status' > testing
$ stat testing
  File: `testing'
  Size: 56          Blocks: 8          IO Block: 4096   regular file
Device: 811h/2065d  Inode: 98828525    Links: 1
Access: (0764/-rwxrw-r--)  Uid: (  514/    rank)   Gid: (  514/    rank)
Access: 2014-03-16 10:59:13.182301069 +0800
Modify: 2014-03-16 11:09:48.247345148 +0800  <-- mtime Changed!
Change: 2014-03-16 11:09:48.247345148 +0800  <-- ctime also Changed!

4. জন্ম সময়

এছাড়াও নোট করুন যে stat( stat --version 8.13ওবুন্টু 12.04 এ) এর নতুন সংস্করণটির 4 র্থ টাইমস্ট্যাম্পের তথ্য রয়েছে - জন্মের সময় (ফাইল তৈরির সময়)। যদিও এটি আপাতত সঠিক সময়টি না দেখায়:

$ stat --version
stat (GNU coreutils) 8.13
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Michael Meskes.
$
$ stat birth_time
  File: `birth_time'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 805h/2053d  Inode: 4073946     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/ bingyao)   Gid: ( 1000/ bingyao)
Access: 2014-03-16 10:46:48.838718970 +0800
Modify: 2014-03-16 10:46:48.838718970 +0800
Change: 2014-03-16 10:46:48.838718970 +0800
 Birth: -

10: 46: 48.838718970 এর অর্থ কী? HH: MM: এস এস। ন্যানোসেকেন্ড?
ডিজং নগুইন

2
হ্যাঁ"কার্নেল ২.৪.৪৮ থেকে স্ট্যাট স্ট্রাকচারটি তিনটি ফাইল টাইমস্ট্যাম্প ক্ষেত্রের জন্য ন্যানোসেকেন্ড রেজোলিউশনকে সমর্থন করে ...."
টম লর্ড

প্রয়োজনে রুট অ্যাক্সেস এবং ডিবাগগুলি দিয়ে তৈরির সময় নির্ণয় করা যেতে পারে: moiseevigor.github.io/software/2015/01/30/…
মিক্কো রেন্টালাইনেন

2
জন্মের সময় ... আনন্দের সাথে। কারণ সর্বশেষ পরিবর্তিত এবং শেষ পরিবর্তন প্রায় একই উদ্দেশ্যে কিন্তু এখনও স্বতন্ত্র। এটা ভালো যদি সব চার বিদ্যমান।
never9ind9
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.