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.