عادةً ما نعتاد حفظ الكثير من المعلومات على شكل ملفات في نظامنا. بعضها ملفات مخفية، وبعضها محفوظ في مجلد منفصل أنشأناه لسهولة فهمنا، في حين يبقى البعض كما هو. لكن، كل هذا يملأ دلائلنا؛ عادةً سطح المكتب، مما يجعله يبدو فوضويًا. ولكن، تنشأ المشكلة عندما نحتاج إلى البحث عن ملف معين تم تعديله في تاريخ ووقت معين في هذه المجموعة الضخمة.

يمكن للأشخاص المرتاحين مع واجهات المستخدم الرسومية العثور عليها باستخدام مدير الملفات، الذي يقوم بسرد الملفات في تنسيق القائمة الطويلة، مما يجعل من السهل معرفة ما نريد، ولكن تلك المستخدمين الذين يتعودون على الشاشات السوداء، أو حتى أي شخص يعمل على الخوادم التي تخلو من واجهات المستخدم الرسومية سيودون أمرًا بسيطًا أو مجموعة من الأوامر التي يمكن أن تسهل عملية البحث عنهم.
يظهر الجمال الحقيقي لنظام Linux هنا، حيث تحتوي Linux على مجموعة من الأوامر التي إذا استخدمت بشكل منفصل أو معًا يمكن أن تساعد في البحث عن ملف، أو تصنيف مجموعة من الملفات وفقًا لاسمها، تاريخ التعديل، ووقت الإنشاء، أو حتى أي تصفية يمكنك التفكير في تطبيقها للحصول على نتيجتك.
هنا، سنكشف القوة الحقيقية لنظام Linux من خلال فحص مجموعة من الأوامر التي يمكن أن تساعد في تصنيف ملف أو حتى قائمة من الملفات حسب التاريخ والوقت.
أدوات Linux لتصنيف الملفات في Linux
بعض الأدوات الأساسية لسطر الأوامر في Linux التي تكفي لتصنيف دليل بناءً على التاريخ و الوقت هي:
أمر ls
ls – توثيق محتويات الدراسة، يمكن لهذه الوظيفة إدراج الملفات والدولاكومات ويمكن حتى توثيق جميع معلومات الحالة الخاصة بهم بما في ذلك: تاريخ ووقت تعديلهم أو الوصول، الصلاحيات، الحجم، المالك، المجموعة وما إلى ذلك.
لقد تم تغطية مواضيع عديدة حول أمر ls في لينكس sort، يمكنك إيجادها أسفل:
- تعلم ls أمرًا مع 15 مثالًا بسيطًا
- تعلم 7 أمرًا تقدميًا ل ls مع مثالًا
- 15 أسئلة مفاهيم جيدة عن ls في لينكس
أمر sort
sort – يمكن استخدام هذا الأمر لترتيب خاتم البحث من أي حقل أو أي قسم معين من الحقل.
لقد تم تغطية مواضيع عديدة حول أمر sort في لينكس، يمكنك إيجادها أسفل:
تلك الأوامر قوية بحد ذاتها للمهارة إذا كنت تعمل على الشرائح السوداء وعليك تعامل مع العديد من الملفات فقط لتحصل على الملف الذي تريده.
بعض الطرق لتنظيم الملفات بواسطة التاريخ والوقت
أدناه قائمة بالأوامر التي يمكن تنظيمها وفقاً للتاريخ والوقت.
1. قائمة الملفات وفقاً للوقت الأخير للتغيير
الأوامر أدناه تقدم الملفات بالتوصيف الطويل، وتنظم الملفات وفقاً للوقت الأخير للتغيير، أحدث الملفات أولاً. لتنظيم بالترتيب العكسي، قم باستخدام قنبلة '-r'
مع هذه الأوامر.
# ls -lt total 673768 -rwxr----- 1 tecmint tecmint 3312130 Jan 19 15:24 When You Are Gone.MP3 -rwxr----- 1 tecmint tecmint 4177212 Jan 19 15:24 When I Dream At Night - Marc Anthony-1.mp3 -rwxr----- 1 tecmint tecmint 4177212 Jan 19 15:24 When I Dream At Night - Marc Anthony.mp3 -rwxr----- 1 tecmint tecmint 6629090 Jan 19 15:24 Westlife_Tonight.MP3 -rwxr----- 1 tecmint tecmint 3448832 Jan 19 15:24 We Are The World by USA For Africa (Michael Jackson).mp3 -rwxr----- 1 tecmint tecmint 8580934 Jan 19 15:24 This Love.mp3 -rwxr----- 1 tecmint tecmint 2194832 Jan 19 15:24 The Cross Of Changes.mp3 -rwxr----- 1 tecmint tecmint 5087527 Jan 19 15:24 T.N.T. For The Brain 5.18.mp3 -rwxr----- 1 tecmint tecmint 3437100 Jan 19 15:24 Summer Of '69.MP3 -rwxr----- 1 tecmint tecmint 4360278 Jan 19 15:24 Smell Of Desire.4.32.mp3 -rwxr----- 1 tecmint tecmint 4582632 Jan 19 15:24 Silence Must Be Heard 4.46.mp3 -rwxr----- 1 tecmint tecmint 4147119 Jan 19 15:24 Shadows In Silence 4.19.mp3 -rwxr----- 1 tecmint tecmint 4189654 Jan 19 15:24 Sarah Brightman & Enigma - Eden (remix).mp3 -rwxr----- 1 tecmint tecmint 4124421 Jan 19 15:24 Sade - Smooth Operator.mp3 -rwxr----- 1 tecmint tecmint 4771840 Jan 19 15:24 Sade - And I Miss You.mp3 -rwxr----- 1 tecmint tecmint 3749477 Jan 19 15:24 Run To You.MP3 -rwxr----- 1 tecmint tecmint 7573679 Jan 19 15:24 Roger Sanchez_Another Chance_Full_Mix.mp3 -rwxr----- 1 tecmint tecmint 3018211 Jan 19 15:24 Principal Of Lust.3.08.mp3 -rwxr----- 1 tecmint tecmint 5688390 Jan 19 15:24 Please Forgive Me.MP3 -rwxr----- 1 tecmint tecmint 3381827 Jan 19 15:24 Obvious.mp3 -rwxr----- 1 tecmint tecmint 5499073 Jan 19 15:24 Namstey-London-Viraaniya.mp3 -rwxr----- 1 tecmint tecmint 3129210 Jan 19 15:24 MOS-Enya - Only Time (Pop Radio mix).m
2. قائمة الملفات وفقاً للوقت الأخير للمراسلة
قائمة الملفات في المجلد وفقاً للوقت الأخير للمراسلة، أي وقت تم آخر مراسلة الملف، وليس تعديله.
# ls -ltu total 3084272 drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:24 Music drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 Linux-ISO drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 Music-Player drwx------ 3 tecmint tecmint 4096 Jan 19 15:22 tor-browser_en-US drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 bin drwxr-xr-x 11 tecmint tecmint 4096 Jan 19 15:22 Android Games drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 Songs drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 renamefiles drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 katoolin-master drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 Tricks drwxr-xr-x 3 tecmint tecmint 4096 Jan 19 15:22 Linux-Tricks drwxr-xr-x 6 tecmint tecmint 4096 Jan 19 15:22 tuptime drwxr-xr-x 4 tecmint tecmint 4096 Jan 19 15:22 xdm drwxr-xr-x 2 tecmint tecmint 20480 Jan 19 15:22 ffmpeg usage drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 xdm-helper
3. قائمة الملفات وفقاً لأخر وقت تعديلهم
قائمة الملفات في المجلد وفقاً لأخر وقت تعديل معلومات الملف الحالية، أو 'ctime'
. سيقوم هذا الأمر بتقديم هذا الملف أولاً إذا تم تعديل أي معلومات حالية مثل: صاحب، مجموعة، صلاحيات، حجم وما إلى ذلك.
# ls -ltc total 3084272 drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:24 Music drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 13:05 img -rw------- 1 tecmint tecmint 262191 Jan 19 12:15 tecmint.jpeg drwxr-xr-x 5 tecmint tecmint 4096 Jan 19 10:57 Desktop drwxr-xr-x 7 tecmint tecmint 12288 Jan 18 16:00 Downloads drwxr-xr-x 13 tecmint tecmint 4096 Jan 18 15:36 VirtualBox VMs -rwxr-xr-x 1 tecmint tecmint 691 Jan 13 14:57 special.sh -rw-r--r-- 1 tecmint tecmint 654325 Jan 4 16:55 powertop-2.7.tar.gz.save -rw-r--r-- 1 tecmint tecmint 654329 Jan 4 11:17 filename.tar.gz drwxr-xr-x 3 tecmint tecmint 4096 Jan 4 11:04 powertop-2.7 -rw-r--r-- 1 tecmint tecmint 447795 Dec 31 14:22 Happy-New-Year-2016.jpg -rw-r--r-- 1 tecmint tecmint 12 Dec 18 18:46 ravi -rw-r--r-- 1 tecmint tecmint 1823 Dec 16 12:45 setuid.txt ...
إذا استخدمت قنبلة '-a'
مع هذه الأوامر، يمكنك تقديم وتنظيم الملفات مخفية في المجلد الحالي وقنبلة '-r'
تقدم الناتج بالترتيب العكسي.
للتنظيم العميق الأخر ، مثل تنظيم خارجناتج
الأوامر أدناه توضح استخدام sort
مع أمر find
لفرز قائمة الملفات استنادًا إلى التاريخ و الوقت.
لمعرفة المزيد حول أمر البحث، تابع هذا الرابط: 35 Practical Examples of ‘find’ Command in Linux
4. فرز الملفات استنادًا إلى الشهر
هنا، نستخدم أمر find
للعثور على جميع الملفات في دليل الجذر (‘/’)
ثم نقوم بطباعة النتيجة على النحو التالي: الشهر الذي تم الوصول إليه الملف ثم اسم الملف. من هذه النتيجة الكاملة، هنا نقوم بسرد أعلى 11 إدخالًا.
# find / -type f -printf "\n%Ab %p" | head -n 11 Dec /usr/lib/nvidia/pre-install Dec /usr/lib/libcpufreq.so.0.0.0 Apr /usr/lib/libchromeXvMCPro.so.1.0.0 Apr /usr/lib/libt1.so.5.1.2 Apr /usr/lib/libchromeXvMC.so.1.0.0 Apr /usr/lib/libcdr-0.0.so.0.0.15 Dec /usr/lib/msttcorefonts/update-ms-fonts Nov /usr/lib/ldscripts/elf32_x86_64.xr Nov /usr/lib/ldscripts/elf_i386.xbn Nov /usr/lib/ldscripts/i386linux.xn
الأمر أدناه يقوم بفرز النتيجة باستخدام المفتاح كحقل أول، كما هو محدد بواسطة '-k1'
ثم يقوم بالفرز حسب الشهر كما هو محدد بواسطة 'M'
قبل ذلك.
# find / -type f -printf "\n%Ab %p" | head -n 11 | sort -k1M Apr /usr/lib/libcdr-0.0.so.0.0.15 Apr /usr/lib/libchromeXvMCPro.so.1.0.0 Apr /usr/lib/libchromeXvMC.so.1.0.0 Apr /usr/lib/libt1.so.5.1.2 Nov /usr/lib/ldscripts/elf32_x86_64.xr Nov /usr/lib/ldscripts/elf_i386.xbn Nov /usr/lib/ldscripts/i386linux.xn Dec /usr/lib/libcpufreq.so.0.0.0 Dec /usr/lib/msttcorefonts/update-ms-fonts Dec /usr/lib/nvidia/pre-install
5. ترتيب الملفات بناءً على التاريخ
هنا، نستخدم مرة أخرى أمر find
للعثور على جميع الملفات في دليل الجذر، ولكن الآن سنقوم بطباعة النتيجة على النحو التالي: تاريخ آخر تم الوصول إليه الملف، وقت آخر تم الوصول إليه الملف ثم اسم الملف. من ذلك نأخذ أعلى 11 إدخالًا.
# find / -type f -printf "\n%AD %AT %p" | head -n 11 12/08/15 11:30:38.0000000000 /usr/lib/nvidia/pre-install 12/07/15 10:34:45.2694776230 /usr/lib/libcpufreq.so.0.0.0 04/11/15 06:08:34.9819910430 /usr/lib/libchromeXvMCPro.so.1.0.0 04/11/15 06:08:34.9939910430 /usr/lib/libt1.so.5.1.2 04/11/15 06:08:35.0099910420 /usr/lib/libchromeXvMC.so.1.0.0 04/11/15 06:08:35.0099910420 /usr/lib/libcdr-0.0.so.0.0.15 12/18/15 11:19:25.2656728990 /usr/lib/msttcorefonts/update-ms-fonts 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/elf32_x86_64.xr 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/elf_i386.xbn 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/i386linux.xn
يقوم الأمر للفرز أولاً بناءً على آخر رقم في السنة، ثم يرتب بناءً على آخر رقم في الشهر بترتيب عكسي ثم يرتب بناءً على الحقل الأول. هنا، ‘1.8‘ يعني العمود 8 من الحقل الأول و ‘n’ يعني ترتيب عددي، بينما ‘r’ يشير إلى ترتيب بترتيب عكسي.
# find / -type f -printf "\n%AD %AT %p" | head -n 11 | sort -k1.8n -k1.1nr -k1 12/07/15 10:34:45.2694776230 /usr/lib/libcpufreq.so.0.0.0 12/08/15 11:30:38.0000000000 /usr/lib/nvidia/pre-install 12/18/15 11:19:25.2656728990 /usr/lib/msttcorefonts/update-ms-fonts 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/elf32_x86_64.xr 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/elf_i386.xbn 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/i386linux.xn 04/11/15 06:08:34.9819910430 /usr/lib/libchromeXvMCPro.so.1.0.0 04/11/15 06:08:34.9939910430 /usr/lib/libt1.so.5.1.2 04/11/15 06:08:35.0099910420 /usr/lib/libcdr-0.0.so.0.0.15 04/11/15 06:08:35.0099910420 /usr/lib/libchromeXvMC.so.1.0.0
6. ترتيب الملفات بناءً على الوقت
هنا مرة أخرى نستخدم أوامر البحث find
للتسجيل التي تظهر 11 أعلى ملفاً في المجلد الجوهري ونطبع النتائج بالتسلسل: آخر مرة تم فتح الملف ومن ثم اسم الملف.
# find / -type f -printf "\n%AT %p" | head -n 11 11:30:38.0000000000 /usr/lib/nvidia/pre-install 10:34:45.2694776230 /usr/lib/libcpufreq.so.0.0.0 06:08:34.9819910430 /usr/lib/libchromeXvMCPro.so.1.0.0 06:08:34.9939910430 /usr/lib/libt1.so.5.1.2 06:08:35.0099910420 /usr/lib/libchromeXvMC.so.1.0.0 06:08:35.0099910420 /usr/lib/libcdr-0.0.so.0.0.15 11:19:25.2656728990 /usr/lib/msttcorefonts/update-ms-fonts 12:56:34.0000000000 /usr/lib/ldscripts/elf32_x86_64.xr 12:56:34.0000000000 /usr/lib/ldscripts/elf_i386.xbn 12:56:34.0000000000 /usr/lib/ldscripts/i386linux.xn
الأوامر التالية تنظم الناتج بناء على الجانب الأول من الحقل الأول في الناتج الذي هو الرقم الأول للساعة.
# find / -type f -printf "\n%AT %p" | head -n 11 | sort -k1.1n 06:08:34.9819910430 /usr/lib/libchromeXvMCPro.so.1.0.0 06:08:34.9939910430 /usr/lib/libt1.so.5.1.2 06:08:35.0099910420 /usr/lib/libcdr-0.0.so.0.0.15 06:08:35.0099910420 /usr/lib/libchromeXvMC.so.1.0.0 10:34:45.2694776230 /usr/lib/libcpufreq.so.0.0.0 11:19:25.2656728990 /usr/lib/msttcorefonts/update-ms-fonts 11:30:38.0000000000 /usr/lib/nvidia/pre-install 12:56:34.0000000000 /usr/lib/ldscripts/elf32_x86_64.xr 12:56:34.0000000000 /usr/lib/ldscripts/elf_i386.xbn 12:56:34.0000000000 /usr/lib/ldscripts/i386linux.xn
7. تنظيم معلومات التسجيل الخاصة بـ ls -l وفقاً للتاريخ
هذه الأوامر تنظم معلومات أوامر 'ls -l'
وفقاً للحقل السادس وهو بالشهر، ومن ثم بناء على الحقل السابع وهو تاريخ وهو تسلسل أرقامي.
# ls -l | sort -k6M -k7n total 116 -rw-r--r-- 1 root root 0 Oct 1 19:51 backup.tgz drwxr-xr-x 2 root root 4096 Oct 7 15:27 Desktop -rw-r--r-- 1 root root 15853 Oct 7 15:19 powertop_report.csv -rw-r--r-- 1 root root 79112 Oct 7 15:25 powertop.html -rw-r--r-- 1 root root 0 Oct 16 15:26 file3 -rw-r--r-- 1 root root 13 Oct 16 15:17 B -rw-r--r-- 1 root root 21 Oct 16 15:16 A -rw-r--r-- 1 root root 64 Oct 16 15:38 C
النهاية
بما فيه بعض معرفة الأوامر sort، يمكنك تنظيم أي قائمة تقريبًا وفقًا لأي حقل وحتى أي تسلسل ترغب فيه. هذه كانت بعض المختلفة لمساعدتك في تنظيم الملفات وفقًا للتاريخ أو الوقت. يمكنك أن تبني معروفًا خاصًا بهذه. ومع ذلك، إذا كان لديك أي مقاربة مثيرة للاهتمام أخرى، يمكنك دائمًا ذكرها في تعليقك.
Source:
https://www.tecmint.com/find-and-sort-files-modification-date-and-time-in-linux/