m ls -lt` যথাযথতম টাইমগুলি অনুসরণ করবে বা সেকেন্ডে প্রায় আনুমানিক এমটাইমস?


10

ls -lকেবলমাত্র দ্বিতীয় পর্যন্ত ফাইলগুলির সংশোধন টাইমস্ট্যাম্পগুলি দেখায় shows যদি দুটি ফাইলের সেকেন্ড অবধি একই টাইমস্ট্যাম্প থাকে তবে একই সময়ে ঠিক একই সময়ে সংশোধন করা হয় না ls -ltতবে ফাইলগুলি যথাযথ মাইটাইমের ক্রম বা প্রায় আনুমানিক মাইটাইমসকে দ্বিতীয় পর্যন্ত অর্ডার করবে (এবং সুতরাং ফাইলগুলির মধ্যে ক্রম হতে পারে ইচ্ছামত)?

উত্তর:


17

এটি lsবাস্তবায়নের উপর নির্ভর করে । এখানে জিএনইউ / লিনাক্স সিস্টেমে পাওয়া 4 জনের মধ্যে:

$ touch a; touch c; touch b; stat -c %y a c b
2018-01-10 12:52:21.367640342 +0000
2018-01-10 12:52:21.371640148 +0000
2018-01-10 12:52:21.375639952 +0000
  • জিএনইউls , জিএনইউ প্রকল্পের একটি (জিএনইউ কোর্টিলস সংগ্রহ থেকে)। এটি সাধারণত ডিএনবিয়ান (লিনাক্স বা কেফ্রিবিএসডি কার্নেলগুলি), সাইগউইন বা ফেডোরার মতো জিএনইউ সিস্টেমে পাওয়া যায়।

    $ gnu-ls -rt
    a  c  b
    
  • lsথেকে heirloom Toolchest , OpenSolaris সরঞ্জামের একটি পোর্ট:

    $ heirloom-ls -rt
    a  b  c
    
  • lsথেকে যেমন AT & T ওপেন সোর্স সংগ্রহ , সম্ভবত সালে নির্মিত ksh93। বেশ কয়েকটি অভিনব এক্সটেনশান সহ অন্য একটি:

    $ ast-ls -rt
    a  c  b
    $ PATH=/opt/ast/bin:$PATH ksh93 -c 'type ls; ls -rt'
    ls is a shell builtin version of /opt/ast/bin/ls
    a  c  b
    
  • ব্যস্তবক্স (বেশিরভাগ (সাধারণত এম্বেড করা) লিনাক্স-ভিত্তিক সিস্টেমগুলিতে পাওয়া যায় (বা একটি ডেরাইভেটিভ হিসাবে):

    $ busybox ls -rt
    c  b  a
    

সুতরাং, এর মধ্যে, জিএনইউ এবং অ্যাস্ট lsভগ্নাংশ দ্বিতীয় অংশ বিবেচনা করে। অন্যরা একই সেকেন্ডের মধ্যে শেষবার সংশোধিত ফাইলগুলির জন্য লেজিকাল তুলনা করতে ফিরে আসে। কেবল ব্যস্তবক্স সেখানে lsসম্মান জানায় -r।

আমার পরীক্ষাগুলিতে, ফ্রিবিএসডি'র পক্ষ থেকে lsসাব-সেকেন্ড নির্ভুলতাও সরবরাহ করা হয় (তারা ভিএফএস স্তরে সক্ষম হয়ে থাকলে, vfs.timestamp_precisionসিস্টেস্টলটি দেখুন)।

zshএর গ্লোবগুলি ( বিপরীত ক্রমের জন্য omপরিবর্তনের সময় অর্ডার করার জন্য গ্লোব কোয়ালিফায়ারের সাথে Om)ও পুরো সময় নেয়:

$ echo *(Om)
a c b

[ file1 -nt file2 ], যেখানে সমর্থিত সাধারণত সাব-সেকেন্ড গ্রানুলারিটি সমর্থন করে ।


1
নন-জিএনইউ সরঞ্জামগুলি কি পসিক্স লঙ্ঘন করছে, বা এটি সাজানোর জন্য রাউন্ডিং নির্দিষ্ট করে?
— কেভিন

2
অ্যাস্ট-এলএস কী?
— র্যান্ডম 832

@ র্যান্ডম 832, সম্পাদনা দেখুন।
— স্টাফেন চেজেলাস

2
কেভিন, আমার এই অনুমানের পাঠ থেকে, তারা এই বিষয়ে অনুগত নয় । আফিক্স, অনুমানের মধ্যে এমন কিছুই নেই যা সাবসকন্ড অংশটিকে উপেক্ষা করার অনুমতি দেয় এবং সুনির্দিষ্ট টাইমস্ট্যাম্পগুলি পুনরুদ্ধার করার জন্য পসিক্স একটি পরিষ্কার এপিআই সরবরাহ করে।
— স্টাফেন চেজেলাস

1
@ মিক্কাছু, আপনি ঠিক বলেছেন। আমি এটা খেয়াল করিনি। সম্পাদনা দেখুন। এটি অ্যাস্টের জন্য ফলাফল পরিবর্তন করে না।
— স্টাফেন চ্যাজেলাস

4

জিএনইউর lsপ্রয়োগের ক্ষেত্রে, চলমান ls -lফাইলগুলিকে বর্ণানুক্রমিক ক্রমে অর্ডার ls -ltদেবে এবং অন্তর্নিহিত ফাইল সিস্টেমের দ্বারা সমর্থিত সর্বশ্রেষ্ঠ নির্ভুলতার জন্য সর্বপ্রথম নতুনটিকে পরিবর্তনের সময় অনুসারে ফাইলগুলি অর্ডার করবে। আপনি --full-timeবিকল্পটি ব্যবহার করে এটি পরীক্ষা করতে পারেন ।

সুতরাং, আপনার প্রশ্নের উত্তর দেওয়ার জন্য, হ্যাঁ, এটি সবচেয়ে বেশি প্রসারিত করতে পারে তবে আপনি যখন ব্যবহার করবেন -t(অন্যথায়, এটি বর্ণানুক্রমিকতে ডিফল্ট হবে), এবং এমন একটি বাস্তবায়ন ব্যবহার করছে যা এটি সমর্থন করে ( আরও তথ্যের জন্য স্টাফেনের উত্তর দেখুন)। উদাহরণস্বরূপ, ext4প্রয়োজনীয় টাইমস্ট্যাম্প ডেটা সঞ্চয় করার জন্য পর্যাপ্ত পরিমাণে বড় ইনোড দেওয়া ন্যানোসেকেন্ড যথার্থকে সমর্থন করতে পারে।


2
আপনার উত্তরে আপনার যুক্ত করা উচিত যে এটি কেবল জিএনইউ এলএস সম্পর্কে কথা বলে। আরও অনেকগুলি বাস্তবায়ন রয়েছে যা সম্ভবত অন্যরকম আচরণ করে।
— রোল্যান্ড ইলিগ

@ রোল্যান্ডইলিগ যোগ করেছেন
— জো

1

আপনি যদি আউটপুট তুলনা করে তা পরীক্ষা করতে পারেন

ls -lat

এবং

ls -lat --full-time

বাছাইয়ের বিষয়ে সেখানে স্বেচ্ছাচারিতার কিছু নেই।


1

হ্যা এটা হবে.

পরীক্ষা করতে, অল্প সময়ের ব্যবধান সহ দুটি ফাইল তৈরি করুন:

$ touch aa; sleep 0.2; touch bb

পরিবর্তনের সময় পরীক্ষা করুন:

$ stat -c %y bb aa
2018-01-07 20:51:19.364248042 0000
2018-01-07 20:51:19.072248226 0000

তালিকাটি এই ধরনের পার্থক্য ব্যবহার করবে:

$ ls -lt aa bb
-rw-r--r-- 1 user user 0 Jan  7 20:51 bb
-rw-r--r-- 1 user user 0 Jan  7 20:51 aa

--full-timeপার্থক্য সঙ্গে পরিষ্কার হবে।

$ ls -lt --full-time aa bb
-rw-r--r-- 1 user user 0 2018-01-07 20:51:19.364248042 0000 bb
-rw-r--r-- 1 user user 0 2018-01-07 20:51:19.072248226 0000 aa

গত ব্লক, আমি বিশ্বাস করি আপনি bbএবং aaপিছনের দিকে।
— অ্যালেক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.