টাইমস্ট্যাম্প, পরিবর্তনের সময় এবং কোনও ফাইলের তৈরি সময়


105

আমি কেবল এটি জানি ls -tএবং ls -fএকটি ডিরেক্টরি অধীনে ফাইল এবং সাব ডিরেক্টরি ডিরেক্টরি বিভিন্ন বাছাই।

  • টাইমস্ট্যাম্প, পরিবর্তনের সময় এবং কোনও ফাইলের তৈরি সময়ের মধ্যে পার্থক্য কী?
  • কমান্ড দিয়ে এই জাতীয় তথ্য কীভাবে পাবেন এবং পরিবর্তন করবেন?
  • কোন ধরণের তথ্যের নিরিখে লোকেরা কোনও ফাইলকে অন্যের চেয়ে "নতুন" বলে?
  • কি ধরণের তথ্যের পরিবর্তন ফাইলকে আলাদা করবে না?

উদাহরণস্বরূপ, আমি দেখেছি কেউ লিখেছেন:

ডিফল্টরূপে, আরএসসিএনসি প্রোগ্রামটি কেবল ফাইলগুলি আকার এবং টাইমস্ট্যাম্পে পৃথক কিনা তা দেখায়। কোন ফাইলটি নতুন care এটি আলাদা হয় না তবে এটি ওভাররাইট হয়ে যায় care আপনি '--update' পতাকাটি আরএসইএনসিতে পাস করতে পারেন যার ফলে উত্সের ফাইলগুলির চেয়ে তারা নতুন হয় তবে গন্তব্যগুলিতে ফাইলগুলি এড়িয়ে যেতে পারে, তবে কেবলমাত্র সেগুলি একই ধরণের ফাইল। এর অর্থ হ'ল উদাহরণস্বরূপ, উত্স ফাইলটি যদি নিয়মিত ফাইল হয় এবং গন্তব্যটি একটি সিমিলিংক হয় তবে টাইমস্ট্যাম্প নির্বিশেষে গন্তব্য ফাইলটি ওভাররাইট করা হবে।

পার্শ্ব নোটে, এখানে ফাইল টাইপটির অর্থ কি কেবল নিয়মিত ফাইল এবং সিমিলিং, পিডিএফ, জেপিজি, এইচটিএম, টিএসটিএস ইত্যাদি টাইপ নয়?


উত্তর:


138

এখানে 3 ধরণের "টাইমস্ট্যাম্প" রয়েছে:

  • অ্যাক্সেস - ফাইলটি শেষবার পড়ার সময়
  • সংশোধন করুন - ফাইলটি সর্বশেষবার সংশোধন করা হয়েছিল (সামগ্রীটি সংশোধন করা হয়েছে)
  • পরিবর্তন - ফাইলের শেষবারের মেটা ডেটা পরিবর্তন করা হয়েছিল (যেমন অনুমতি)

এই তথ্যটি প্রদর্শনের জন্য, আপনি ব্যবহার করতে পারেন statযা কোর্টিলের অংশ।

stat ডিভাইস, ইনোডস, লিঙ্কগুলি ইত্যাদির মতো আপনাকে আরও কিছু তথ্য প্রদর্শন করবে

মনে রাখবেন যে এই ধরণের তথ্য ফাইল সিস্টেম এবং মাউন্ট বিকল্পগুলির উপর নির্ভর করে। উদাহরণস্বরূপ, যদি আপনি noatimeবিকল্পটি দিয়ে একটি পার্টিশন মাউন্ট করেন তবে কোনও অ্যাক্সেসের তথ্য লেখা হবে না।

টাইমস্ট্যাম্পগুলি পরিবর্তন করার জন্য একটি ইউটিলিটি হবে touch। কোন টাইমস্ট্যাম্প পরিবর্তন করতে হবে তা সিদ্ধান্ত নেওয়ার জন্য কিছু যুক্তি রয়েছে (যেমন- অ্যাক্সেসের সময়কালের জন্য একটি, -মার্ফীকরণ সময়ের জন্য এম) এবং নতুন প্রদত্ত টাইমস্ট্যাম্পের বিশ্লেষণকে প্রভাবিত করতে। দেখুন man touchআরো বিস্তারিত জানার জন্য।

touchcp -u( "কেবলমাত্র SOURCE ফাইলটি গন্তব্য ফাইলের চেয়ে নতুন বা যখন গন্তব্য ফাইলটি নিখোঁজ থাকে তখনই অনুলিপি করা হয়" ) এর সাথে বা খালি মার্কার ফাইল তৈরির জন্য একত্রে সহজ হয়ে উঠতে পারে ।


1
ধন্যবাদ! আরএসআইএনসি কমান্ডের জন্য, "কোন ফাইলটি আরও নতুন তা বিবেচ্য নয়", কোন ধরণের টাইমস্ট্যাম্পের অর্থ "নতুন" দ্বারা বোঝানো হয়েছে। এছাড়াও, পাশের নোটে, যে ফাইল টাইপটি আরএসইএনসি যত্ন নিয়েছে তার অর্থ কি কেবল নিয়মিত ফাইল এবং সিমিলিং, পিডিএফ, জেপিজি, এইচটিএম, টিএসটি ইত্যাদি ইত্যাদি নয়?
টিম

2
সাধারণত কোনও ফাইলের সময়ের উল্লেখটি হল "পরিবর্তিত" টাইমস্ট্যাম্প। উদাহরণস্বরূপ, আপনি যা দেখতে পান ls -l। এবং ফাইল প্রকারটি ফাইল বনাম সিমিলিংক (বা ডিরেক্টরি বা ডিভাইসগুলির মতো অন্যান্য ধরণের ফাইল) বোঝায়। ফাইলটিতে ডেটা ধরণের কী নয় (পাঠ্য বনাম জেপেইগ ইত্যাদি)।
শেঠ এল

2
@ টিম সেই প্রসঙ্গে এটি পরিবর্তিত টাইমস্ট্যাম্প; আরএসআইএনসি বলছে যে কোনও ফাইলের ব্যাকআপ নেওয়া উচিত কিনা তা সিদ্ধান্ত নেওয়ার পরে, বিদ্যমান ব্যাকআপের (যা ব্যাকআপ প্রোগ্রামগুলির সাথে প্রচলিত) তুলনায় উত্স ফাইলটি আরও সম্প্রতি পরিবর্তন করা হয়েছে কিনা তা যাচাই করে না; এটি কেবল ফাইলগুলি বিভিন্ন আকারের বা ভিন্ন পরিবর্তনের সময় রয়েছে এবং তা যদি ব্যাক আপ করে থাকে তা পরীক্ষা করে দেখুন
মাইকেল মরোজেক

1
এবং ফাইলটি কখন তৈরি হয়েছিল তা আমি কীভাবে জানব? এই তথ্যটি কোথাও বজায় রাখা হয়েছে বা আপডেটগুলি হারিয়ে গেছে? তাই বলার জন্য, ফাইলটি কত দিন অস্তিত্ব নিয়েছে ..?
xyz

1
পরিসংখ্যান (2) man পৃষ্ঠা আরো বিস্তারিত বর্ণনা করে যখন সেই টাইমস্ট্যাম্প পরিবর্তিত হয়।
ক্রিশ্চিয়ান সিউপিতু

35

ইকক্সের উত্তরটি বৈধ তবে আমি ফাইল তৈরির সময় সম্পর্কিত তথ্য যুক্ত করতে চাই।

ফাইল সিস্টেম সমর্থন

কিছু ফাইল সিস্টেম তৈরির সময় (বা জন্মের সময়) সম্পর্কিত ইনোডে একটি অতিরিক্ত প্রবেশকে সমর্থন করে। আমি জানি যে ext4 এই বৈশিষ্ট্যটি সমর্থন করে এবং জেএফএস এবং বিটিআরএফএসকেও

তবে বেশিরভাগ সরঞ্জাম এবং এপিআই এই অতিরিক্ত তথ্যটি পড়তে এখনও আপডেট হয়নি। এমনকি যদিও এটি সেখানে থাকতে পারে, এটি অ্যাক্সেসযোগ্য নয়।

উদাহরণস্বরূপ উবুন্টু 12.04 এলটিএস-তে আমি আজ তৈরি করা একটি ফাইলের জন্য নিম্নলিখিতগুলি পেয়েছি:

$ echo Just another test > /tmp/mytest
$ sleep 3
$ touch /tmp/mytest
$ sleep 2
$ cat /tmp/mytest > /dev/null
$ stat /tmp/mytest 
[...]
Access: 2012-06-05 13:33:44.279774711 +0200
Modify: 2012-06-05 13:33:34.611893317 +0200
Change: 2012-06-05 13:33:34.611893317 +0200
 Birth: -
$ sudo debugfs -R 'stat /tmp/mytest' /dev/sda1
[...]
 ctime: 0x4fcdee8e:91e30114 -- Tue Jun  5 13:33:34 2012
 atime: 0x4fcdee98:42b417dc -- Tue Jun  5 13:33:44 2012
 mtime: 0x4fcdee8e:91e30114 -- Tue Jun  5 13:33:34 2012
crtime: 0x4fcdee46:01258f1c -- Tue Jun  5 13:32:22 2012
[...]

আপনি দেখতে পাচ্ছেন যে নতুন স্ট্যাট ফাংশনের একটি জন্ম ক্ষেত্র রয়েছে, যদিও আউটপুটটি ভুল বলে মনে হচ্ছে। এবং ডিবাগ-এর মাধ্যমে আমরা তথ্য পেতে পারি (ক্রাইটটাইম হিসাবে আমি এক্সট 4 ফাইল সিস্টেমে আছি)।

স্ট্যাটেক্স সমর্থন

সেখানে এখন কার্নেল 4.11 একটি নতুন statx সিস্টেম কল থেকে , Y2038 বা নেটওয়ার্ক ফাইল সিস্টেম ভালো সমর্থন উপরে, এটি মত কিছু অতিরিক্ত বৈশিষ্ট্য এনেছে btimeবা জন্ম সময় (সৃষ্টি সময়) অ্যাক্সেস। Ext4- র জন্য সমর্থন একই কার্নেল রিলিজ 4.11 হওয়া উচিত।

পরবর্তী কার্নেল রিলিজে এই নতুন সিস্কেলটিতে সমর্থন যুক্ত করার জন্য প্যাচ রয়েছে: যেমন কার্নেল ৪.১13-তে বিটিআরএফএস এবং এফ 2 এফএস, 4.14-এ এসএমবি 3, 4.15-এ জিএফএস 2, 4.16-এ এনএফএস, ইত্যাদি।

আপ আগত গ্লিবিসি এই ইন্টারফেসটি জিজ্ঞাসা করার জন্য একটি ফাংশন কল সরবরাহ করবে ( গ্লোবিক স্ট্যাটেক্স সমর্থন সম্পর্কে ফোরিনিক্স সংবাদ দেখুন )। সুতরাং আমরা খুব শীঘ্রই ব্যবহারকারীর জায়গাতে এই বৈশিষ্ট্যের জন্য সমর্থন আশা করতে পারি।


আপনি কি জানেন যে উইন্ডোজের ফাইলগুলি তৈরির সময় (ক্রিয়েশন টাইম) এমটটাইমের মতো এক্সট 4 এবং তার বিপরীতে চলে যায়?
প্যারাড্রয়েড

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