ლინუქსში ფაილების მართვის მნიშნველოვანი ასპექტია ფაილის წაშლა. რიგ შემთხვევაში საჭიროა ერთ მოცემულ დირექტორიაში (ფოლდერში) საჭიროა ყველა ფაილის წაშლა. საკმარისია გადავიდეთ შესაბამის ფოლდერში cd ბრძანების გამოყენებით და გამოვიყენოთ wildcard-ი *
თუმცა თუ საჭიროა რომ დირექტორიაში არსებული ფაილების ნაწილი წაიშალოს და ნაწილი დარჩეს ასეთი მიდგომა მიუღებელია.
წარმოვიდგინოთ, რომ დირექტორიაში არის მთელი რიგი ფაილები: file1.txt file2.txt file3. zip file4.jpg file5.html file6.css
რათა წავშალოთ მხოლოდ გარკვეული შაბლონის (pattern) მქონე ფაილები საჭიროა შალბონების ამოცნობის (extended pattern matching) სისტემის ჩართვა.
ამისთვის უნდა ავკრიფოთ ბრძანება:
shopt -s extglob
აქვე უნდა ავღნიშნოთ, რომ ზოგ დისტრიბუტივში ესეთი სისტემა ისედაც ჩართულია
ყველა ფაილის წაშლა ერთის გარდა
იმისთვის რომ ვხედავდეთ rm ბრძანების შედეგებს საჭიროა მას დავურთოთ -v (–verbose) არგუმენტი
იმისთვის, რომ გამოვრიცხოთ საჭირო ფაილი უნდა გამოვიყენოთ გამორიცხვის სიმბოლო !
მაგალითად:
rm -v !(file1.txt)
ყველა ფაილის წაშლა რამოდენიმეს გარდა
იმავე ლოგიკით ჩვენ შეგვიძლია მივუთითოთ ის ფაილები, რომელიც გვჭირდება რომ დარჩეს დირექტორიაში
rm -v !(file1.txt|file3.zip|file5.html)
ყველა ფაილის წაშლა გარდა გარკვეული ფაილის ტიპების (ფაილის გაფართოებების)
მივუთითოთ საჭირო ფაილების გაფართოებები
rm -v !(*.css) rm -v !(*.html|*.zip)
Leave A Comment