জিজ্ঞাসা না করে ফাইল সরান


89

আমি যদি ব্যবহারকারীকে ফাইল মুছতে রাজি হয় তবে আমি কীভাবে ফাইল সরিয়ে ফেলতে পারি? আমি শেল স্ক্রিপ্ট লিখছি এবং আরএম ফাংশন ব্যবহার করছি, তবে এটি "নিয়মিত ফাইল সরান?" এবং আমার সত্যিই এটির দরকার নেই। ধন্যবাদ.


5
rm -f, yes | rmএবং আরও কিছু, কিন্তু এটি এসইউর অন্তর্ভুক্ত।

4
rmএকটি "নিয়মিত ফাইল সরান" দেখায় না? ডিফল্ট দ্বারা প্রম্পট। আপনার এটি অবশ্যই rm -iকোনও সংযুক্ত বা কোনও ফাংশন হিসাবে সংজ্ঞায়িত করা উচিত । আমি আশ্চর্য হয়েছি যে আপনার স্ক্রিপ্টের মধ্যে উপনামটি দৃশ্যমান। আপনি কি স্ক্রিপ্টটি ./foo.shচালাচ্ছেন ( ) বা এটি ( . foo.shবা source foo.sh) সেরসিং করছেন ?
কিথ থম্পসন

উত্তর:


102

আপনি হয়তো rmএ্যালাইজ করেছেন rm -iতাই চেষ্টা করে দেখুন:

/bin/rm -f file.log

আপনার ডাকনামটি দেখতে আপনি চালাতে পারেন alias


7
বিকল্পভাবে, ওরফে / ফাংশনটি ব্যবহার command rm ...বা \rm ...এড়িয়ে যেতে
glenn jackman

6
এটা তোলে থাকার যে যুক্তি হয়েছে rmওরফে অন্য rm -iএকটি খারাপ ধারণা। rmকমান্ড ডিফল্টরূপে, চুপটি নামের ফাইল সরিয়ে ফেলা হয়। এটিকে অ্যালিজ করে rm -i, আপনি বাঁচানোর ইন্টারেক্টিভ প্রম্পটের উপর নির্ভর করে এন্টার টিপানোর আগে সাবধানতার সাথে পরীক্ষা না করার অভ্যাসে যেতে পারেন। তারপরে আপনি rm some-important-fileকোনও পরিবেশের নাম ছাড়াই টাইপ করুন ।
কিথ থম্পসন

@Keith এটা খুব সত্য, আমি শুধু ব্যক্তিগতভাবে ওরফে RM -v RM তবে
chown

1
যদি "আরএম" কোনও ফাংশন হয় (একটি উপামের পরিবর্তে), এই উত্তরটি কাজ করা উচিত। এবং ব্যাশ unsetকমান্ডটি আকর্ষণীয় হতে পারে
Xen2050

56

ফোর্স ফ্ল্যাগ সমস্ত প্রম্পট সরিয়ে দেয়;

rm -f {file}


2
এটি আমি সন্ধান করছি, গৃহীত উত্তর নয়।
gsamaras

29

বল আপনার সাথে হতে পারে - rm -f


5
আমি ইতিমধ্যে লিংকের উত্তরগুলিকে উজ্জীবিত করেছি এবং এটি ঠিক একই রকম। রসিকতাবোধটির জন্য কেবল উত্সাহ দেওয়া
বৃষ্টি_১১

আমি মন্তব্য এবং উত্তর উভয়কেই উত্সাহিত করেছি কারণ কেউ সত্যই এসও তে মজাদার অনুভূতি পেয়েছিল ...
ম্যাক

5

শেল স্ক্রিপ্টের মধ্যে, আপনি ব্যবহার করতে চান rm -f <filename>তবে আপনার শেল (বা প্রোফাইল) এ -iপ্রবেশ করে আপনার পরিবেশের জন্য অন্তর্নিহিত বিকল্পটি থেকে মুক্তি পাওয়ার বিকল্পও রয়েছে unalias rm


5

yesপ্রোগ্রাম বারবার যে কোনো প্রম্পটে হ্যাঁ জবাব। যাতে আপনি rmএটি পছন্দসই প্রভাব পেতে ইন্টারেক্টিভ প্রোগ্রামে পাইপ করতে পারেন ।

yes | rm <filename>

বিপরীতে, আপনি ইন্টারেক্টিভ কিছু করতে না চান, আপনি করতে পারেন

yes n | <something interactive>

এবং এটি ইনপুট স্ট্রিমে 'এন' পুনরাবৃত্তি করবে (কোনও প্রশ্নের কার্যকরভাবে উত্তর দেবে না)


yes nবিকল্প আমার জন্য কাজ করছে না। আমি ব্যবহার করার সময় yes n | rm file.txtএটি ফাইলটি সঠিকভাবে সুরক্ষিত থাকা সত্ত্বেও ফাইলটি সরিয়ে দেয়।
iammilind

5

যদি ফাইলটি মুছতে আপনার কাছে প্রয়োজনীয় অনুমতি থাকে এবং আপনাকে অনুরোধ করতে চান না, তবে নিম্নলিখিতটি (-f = বল) করুন:

rm -f file

আপনার যদি ফাইলটিতে অনুমতি না থাকে তবে আপনার ব্যবহার করতে হবে:

sudo rm -f file

1
"নিয়মিত ফাইল সরান?" প্রম্পটটি বোঝায় যে এটি কোনও অনুমতি সংক্রান্ত সমস্যা নয়।
কিথ থমসন 21

4
\rm file

ব্যাকস্ল্যাশ এলিয়াসগুলি \বাইপাস করে।


1
"\" একটি ব্যাকস্ল্যাশ, যার অর্থ?
Cand3r

হ্যাঁ এটি করে, এলিয়াস ছাড়াই আরএম ব্যবহার করা resulting এর সাথে অযাচিত কনফার্ম ডায়ালগের উপসর্গ তৈরি করে \
টেকনোপল

1

-fপ্যারামিটার ব্যবহার করা ছাড়াও বিকল্পভাবে আপনি এর findপরিবর্তে কমান্ড ব্যবহার করতে পারেন , যেমন

find -name file.log -delete

0

বর্তমানে আমি একটি সিস্টেমে কাজ করছি, যেখানে ব্যাশ শেলটি বিশ্বব্যাপী কনফিগারেশন ফাইলগুলির মধ্যে একটিতে ফাংশন হিসাবে rm কমান্ডের সংজ্ঞাটি পেয়েছিল:

 rm  () { /bin/rm -i ${1+"$@"}; }

সুতরাং, উপস্ব সম্পর্কিত উপরের উত্তরগুলির কোনওটিরই কাজ হয়নি। বিরক্তিকর আচরণের বিরুদ্ধে লড়াই করার জন্য আমি আমার .bashrc ফাইলে আরএম ফাংশনটি আনসেট করেছি

 unset -f rm

আমার তখন ওপেনার একই সমস্যা ছিল। তবে rmশেল ফাংশন দ্বারা লুকিয়ে থাকা সম্ভাবনার উল্লেখ করে এমন কোনও উত্তর আমি পাইনি । সুতরাং আমি এখানে উত্তরটি যুক্ত করে আশা করি এটি একই ধরণের সমস্যার মুখোমুখি কারও পক্ষে সহায়ক হবে।

টাইপিং /bin/rmবা rm -fসমস্ত সময় অসুবিধে হয় এবং এর খারাপ পরিণতিও হতে পারে (এর ক্ষেত্রে rm -f)।


এটি আপনার সমস্যার সমাধান করতে পারে তবে এটি প্রশ্নের উত্তর দেয় না।
সন্দেহভাজন

নির্বাচিত উত্তর - কলিং /bin/rmকাজ করবে না ? আমার যদি ব্যাশে কোনও ফাংশন থাকে এবং বর্তমান ডিরেক্টরিতে একই নামের একটি এক্সিকিউটেবল ফাইল, কেবল ./নামের সামনে যুক্ত করা হলে ফাইলটি কল করবে - ফাংশনটি নয়। পিএস - আমি একটি ফাংশন এবংunset
Xen2050

হ্যাঁ, /bin/rmকাজ করে। unsetমুছে ফেলাটি পুরো পথটি টাইপ করার প্রয়োজনীয়তা সরিয়ে দেয়।
Daw

0

আপনার rmযদি বিকল্প হয় rm -i, তবে ব্যবহার করুন unalias rm;

rm -fআপনি সত্যিই প্রচুর রাইট-সুরক্ষিত ফাইলগুলি সরিয়ে না নিতে চাইলে সরাসরি ব্যবহার করবেন না । অবশ্যই ব্যবহারের খুব ভাল কারণ থাকতে হবে -f

তবে আপনার কাছে লেখার-সুরক্ষিত প্রচুর ফাইল থাকলে rsync -r --delete empty/ removed_dir/দ্রুত গতির জন্য আপনি পছন্দ করতে পারেন।


0

এটি করার জন্য আমার প্রিয় commandউপায়টি হ'ল ব্যাশে কমান্ডটি ব্যবহার করুন , আপনি যেভাবে ব্যবহার করেন ঠিক তেমনই sudo। এটি আপনার কমান্ডটি এলিয়াস ছাড়াই চালাবে, ঠিক যেমন এটি চালানো /bin/rm(সম্ভবত rmএ্যালয়েজড rm -i)।

উদাহরণ:

command rm -f /tmp/file.txt

0
rm -Rf <folder-to-be-deleted>

-আর: পুনরাবৃত্তিশীল চ: বল, কোন প্রম্পট

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