ফাইলগুলি 1 জিবি এর বেশি এবং 6 মাসেরও বেশি পুরানো


20

আমি পুরো সার্ভারে 1 জিবি এর বেশি এবং 6 মাসেরও বেশি পুরানো ফাইলগুলি সন্ধান করতে চাই। এর জন্য কমান্ড কীভাবে লিখব?

উত্তর:


37

ব্যবহার find:

find /path -mtime +180 -size +1G

-mtimeমানে 180 দিনের (+180) এর চেয়ে বেশি সময়ের পরিবর্তনের সময়গুলি অনুসন্ধান করুন। এবং -sizeপরামিতিটি 1GB এর চেয়ে বেশি ফাইল অনুসন্ধান করে।


2
নোট করুন যে findবাস্তবায়নের ক্ষেত্রে যেখানে Gপ্রত্যয়টি সমর্থন করা হয়েছে, তার অর্থ জিবি (1073741824 বাইট), জিবি নয় (1000000000)। বহনযোগ্যভাবে, আপনি ব্যবহার করতে চানfind /path -mtime +180 -size +1073741824c
স্টাফেন

1
যদি আপনি এই জাতীয় ফাইলের তালিকার মধ্যে ত্রুটিগুলি এড়াতে চান: find: a.txt :Permission deniedআমি 2>/dev/nullএই মন্তব্যটি থেকে অনুপ্রাণিত হয়ে যুক্ত করার পরামর্শ দিই : unix.stackexchange.com/questions/42841/…
gmansour

আপনি xargs ls -lhSআকারগুলি অনুসারে বাছাই করতে ফলাফলগুলিকে পাইপ করতে পারেন: find /path -mtime +180 -size +1G | xargs ls -lhS
ব্যবহারকারী 55393965

@ user553965 আপনার আদেশটি কাজ করবে না। আসলে কি আকার দ্বারা বাছাই করা প্রয়োজন হয়: find / -size +1G -mtime +180 -print0 2>/dev/null | xargs -0 ls -lhS। নিউবিজ নোট: কেবল পুনর্নির্দেশটি ত্রুটিগুলি থেকে 2>/dev/nullমুক্তি পেয়েছে permission deniedযা মূল থেকে অনুসন্ধানের সময় অনিবার্যভাবে প্রদর্শিত হবে। ls -lhtপরিবর্তে সর্বশেষ পরিবর্তিত তারিখ ব্যবহার অনুসারে বাছাই rকরতে এবং lsআদেশগুলিতে যুক্ত করা, উদাহরণস্বরূপ ls -lhSr, ফলাফলগুলি বিপরীত হবে (সবচেয়ে ছোট থেকে বৃহত্তম / সবচেয়ে প্রাচীন থেকে নতুন)।
ম্যাটসেট

6

find / -size +1G -mtime +180 -type f -print

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

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