ব্যবহারকারী ডিরেক্টরিতে সমস্ত অস্থায়ী ফাইলগুলি সনাক্ত এবং মুছুন


12

আমি ভিএম প্রচুর ব্যবহার করি এবং আমার অঞ্চলে বিদ্যুতের ব্যর্থতা অনেক বেশি। সুতরাং ফলাফলটি হ'ল আমি *.swpআমার পিসিতে অনেকগুলি ফাইল ছড়িয়ে দিয়েছি।

আমি উপনাম চান rmকমান্ড দিয়ে সব ফাইল পারেন সরিয়ে ফেলা হবে .swp, ~, .netrwhist, .logবা .bakএক্সটেনশানগুলি সিস্টেম জুড়ে (অথবা অন্তত আমার home ডিরেক্টরির মধ্যে) । কমান্ডটি ফাইল সিস্টেমে ওয়াইড / হোম ডিরেক্টরি মুছতে হবে এমনকি আমি চালু থাকা অবস্থায়ও ~/Desktop

আমি কীভাবে এটি বাস্তবায়ন করতে পারি?


কীভাবে:find ./ -name \*\~ | xargs /bin/rm
ইমানুয়েল বার্গ

এছাড়াও, ~ফাইলগুলি আপনার বাগ করলে , ওরফে এলএস থাকে ls -B। অন্তত আপনি তাদের দেখতে পাবেন না।
ইমানুয়েল বার্গ

find ./ -name \*\~ | xargs /bin/rmআমি Desk / ডেস্কটপে থাকাকালীন ইমানুয়েলবার্গ কাজ করে না ~এবং হোম ডিরেক্টরিতে কোনও ফাইল রয়েছে। আমার প্রশ্ন দেখুন, আমি কি বলেছিলাম।
সন্তোষ কুমার

3
তিনটি শব্দ: নিরবচ্ছিন্ন বিদ্যুৎ সরবরাহ । আমি একটি ছাড়া কম্পিউটার চালু করি না।
সিজেএম

2
@ সন্তোষ, তারপরে আপনার আরও ভাল ইউপিএস দরকার। সর্বনিম্ন রানটাইম 5 মিনিট হওয়া উচিত। 8 সেকেন্ড এমনকি আপনাকে কম্পিউটার বন্ধ করার সময় দেয় না (যেমন আপনি অবশ্যই লক্ষ্য করেছেন)।
সিজেএম

উত্তর:


11

এই নামে বিভক্তি সঙ্গে সব ফাইল মুছে ফেলবে .swp, ~, .netrwhist, .logবা .bakযে কোন জায়গায় আপনার হোম ডিরেক্টরীতে অধীনে। কোনও প্রম্পট নেই, কোনও নিশ্চয়তা নেই, পুনরুদ্ধার নেই, ফাইলগুলি চিরতরে চলে যায়।

find ~ -type f \( -name '*.swp' -o -name '*~' -o -name '*.bak' -o -name '.netrwhist' \) -delete

(আমি উদ্দেশ্যমূলকভাবে বাদ দিচ্ছি *.logকারণ এটি বিপজ্জনক বলে মনে হচ্ছে, এটি অস্থায়ী ফাইলগুলির পক্ষে সাধারণ সম্প্রসারণ নয় এবং সেই নামটি সহ প্রচুর অস্থায়ী ফাইল রয়েছে))

আপনার OS লিনাক্স না থাকলে, প্রতিস্থাপন -deleteদ্বারা -exec rm {} +

directoryঅপশনটি সেট করে আপনি সম্ভবত ভিমকে তার স্বাপ ফাইলগুলি একটি একক ডিরেক্টরিতে রাখতে কনফিগার করতে পারেন :

set dir=~/tmp/vim-swap-files//,/var/tmp//

প্রথমে ডিরেক্টরি তৈরি করুন। //শেষে swap 'র ফাইলের নাম, মূল ফাইলের ডিরেক্টরি অবস্থান অন্তর্ভুক্ত যাতে বিভিন্ন ডিরেক্টরিগুলি থেকে একই নামের ফাইল একটি ক্র্যাশ সৃষ্টি করে না তোলে।

backupdirবিকল্পটি ব্যাকআপ ফাইলগুলির জন্য আপনি একই জিনিসটি করতে পারেন , যদিও এটি অনেক কম বোঝায়।

আপনি যদি ইমাস ব্যবহার করেন তবে auto-save-file-name-transformsপ্রতিটি ফাইলকে একক ডিরেক্টরিতে নির্দেশ করতে সেট করুন।

(setq auto-save-file-name-transforms
      '("\\`.*\\'" "~/tmp/emacs-auto-save-files/\\&" t))

1

আপনি যদি বিশেষভাবে ভিআইএম ফাইলগুলি টার্গেট করে থাকেন তবে আমি আপনাকে backupdirপরিবর্তনশীলটি ব্যবহার করার পরামর্শ দিচ্ছি । :h backupdirবলেছেন:

'backupdir' 'bdir'      string  (default for Amiga: ".,t:",
                                 for MS-DOS and Win32: ".,c:/tmp,c:/temp"
                                 for Unix: ".,~/tmp,~/")
                        global
                        {not in Vi}
        List of directories for the backup file, separated with commas.
        - The backup file will be created in the first directory in the list
          where this is possible.  The directory must exist, Vim will not
          create it for you.
        [... snip ...]

আমি আমার .vimrc এ এই লাইনটি ব্যবহার করি:

set backupdir=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp

এছাড়াও আপনাকে ~ / .vim-tmp ডিরেক্টরি তৈরি করতে হবে যদি এটি ইতিমধ্যে বিদ্যমান না থাকে, কারণ এটি আপনার জন্য তৈরি করে না।


ঠিক আছে, এটি দরকারী। কিন্তু জিডিট *~ফাইল তৈরি করে।
সন্তোষ কুমার

0

সংক্ষিপ্ত উত্তর টেম্পোরালগুলি মুছে দেয় যা with দিয়ে শেষ হয় ~

find . -type f \( -iname "*~" \) -delete

বা অন্যদের .স্বপ ইত্যাদি পছন্দ করে ..

find . -type f \( -iname "*.swp" \) -delete
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.