নির্ভরযোগ্যতা সম্পর্কে একটি নোট:
যেহেতু নতুন লাইনের চরিত্রটি কোনও ফাইলের নামের মতোই বৈধ, তাই / ভিত্তিকের মতো লাইনে নির্ভর করে যে কোনও সমাধান ত্রুটিযুক্ত।head
tail
GNU এর সাথে ls
অন্য একটি বিকল্প হ'ল --quoting-style=shell-always
বিকল্প এবং একটি bash
অ্যারে ব্যবহার করা:
eval "files=($(ls -t --quoting-style=shell-always))"
((${#files[@]} > 0)) && printf '%s\n' "${files[0]}"
( -A
আপনি ls
যদি লুকানো ফাইলগুলি বিবেচনা করতে চান তবে বিকল্পটি যুক্ত করুন )।
আপনি যদি নিয়মিত ফাইলগুলিতে সীমাবদ্ধ করতে চান (ডিরেক্টরিগুলি, ফিফোস, ডিভাইসগুলি, সিমলিংকগুলি, সকেটগুলি ... উপেক্ষা করুন), আপনাকে জিএনইউ অবলম্বন করতে হবে find
।
4.4 বাশ বা আরও নতুন (জন্য readarray -d
) এবং জিএনইউ কোর্টিলস 8.25 বা আরও নতুন (এর জন্য cut -z
) সহ:
readarray -t -d '' files < <(
LC_ALL=C find . -maxdepth 1 -type f ! -name '.*' -printf '%T@/%f\0' |
sort -rzn | cut -zd/ -f2)
((${#files[@]} > 0)) && printf '%s\n' "${files[0]}"
বা পুনরাবৃত্তির সাথে:
readarray -t -d '' files < <(
LC_ALL=C find . -name . -o -name '.*' -prune -o -type f -printf '%T@%p\0' |
sort -rzn | cut -zd/ -f2-)
এই সমস্ত ঝামেলা এড়ানোর zsh
পরিবর্তে এখানে ব্যবহার করা এবং তার গ্লোব কোয়ালিফায়ার সেরা হবে bash
:
বর্তমান ডিরেক্টরিতে নতুন নিয়মিত ফাইল:
printf '%s\n' *(.om[1])
লুকানো রয়েছে সহ:
printf '%s\n' *(D.om[1])
দ্বিতীয় নতুন:
printf '%s\n' *(.om[2])
সিমলিংক রেজোলিউশনের পরে ফাইলের বয়স পরীক্ষা করুন:
printf '%s\n' *(-.om[1])
recursively:
printf '%s\n' **/*(.om[1])
এছাড়াও, সম্পূর্ণকরণ সিস্টেম ( compinit
এবং সহ) সক্ষম করার সাথে, Ctrl+Xmএকটি পরিপূর্ণ হয়ে ওঠে যা সর্বশেষতম ফাইলে প্রসারিত হয়।
তাই:
ষষ্ঠ Ctrl+Xm
আপনাকে সর্বশেষতম ফাইলটি সম্পাদনা করতে সক্ষম করবে (এটি চাপ দেওয়ার আগে আপনি এটি দেখার সুযোগ পাবেন Return)।
ষষ্ঠ Alt+2Ctrl+Xm
দ্বিতীয় নতুন ফাইলের জন্য।
vi * .সিCtrl+Xm
নতুন c
ফাইলের জন্য।
vi * (।)Ctrl+Xm
নতুন নিয়মিত ফাইলের জন্য (ডিরেক্টরি নয়, ফিফো / ডিভাইস নয় ...) এবং আরও অনেক কিছু so
watch -n1 'ls -Art | tail -n 1'
- খুব শেষ ফাইলগুলি দেখায়