কমান্ড লাইন থেকে ফাইলগুলি ট্র্যাসে কীভাবে সরানো যায়?


129

আমি অনেক টার্মিনাল কাজ করি এবং আজ টাইপিংয়ের অভিজ্ঞতা ছিল

rm fileInQuestion.txt

আমার আসলে fileInQuestion.txt দরকার ছিল তা খুঁজে বের করার আগে। আমি যদি জিইউআইতে মুছে ফেলতাম তবে আমি এটি আবর্জনা থেকে সরিয়ে ফেলতে পারতাম। আমি জানতে চাইছি যে টার্মিনালে এমনভাবে 'আরএম' ওভারলোড করা সম্ভব যে এটি ফাইল / ফাইলগুলি ট্র্যাশের বাইরে যাওয়ার পথে পাঠায়।


1
এমন প্রোগ্রাম রয়েছে যা মুছে ফেলা ফাইলগুলি পুনরুদ্ধার করতে পারে (যতক্ষণ না হার্ড ড্রাইভে those খাতগুলি মাঝামাঝি সময়ে ওভাররাইট করা হয় না!)। যখন এটি হয়, আপনি তাদের মধ্যে একটি ব্যবহার করা উচিত ...
আইকনোক্লাস্ট

উবুন্টু / ডেবিয়ান / লিনাক্স ফাইল ট্র্যাশিংয়ের জন্য অনুসন্ধান করা গুগলারের জন্য Askubuntu.com/q/468721/250556 দেখুন ।
থারস্মমনার

উত্তর:


100

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

আমি একটি সেট লিখেছিলেন bashযে (মত বিল্ট-ইন বেশী একটি সংখ্যা ছাড়াও আরও Mac OS X এর মত কমান্ড লাইন টুলস যোগ স্ক্রিপ্ট open, pbcopy, pbpasteসবচেয়ে গুরুত্বপূর্ণভাবে, ইত্যাদি), trash। আমার সংস্করণটি trashএমন সমস্ত সঠিক জিনিসগুলি rmকরবে যা অ্যালিয়াসিং করবে না (এবং আশাকরি খারাপ কিছু নয়, তবে আমি এটি কোনও হারিয়ে যাওয়া ডেটা ছাড়াই এখন কয়েক বছর ধরে আমার নিজের ম্যাকগুলিতে ব্যবহার করছি) সহ: ফাইন্ডারের মতো ফাইলটির নামকরণ করা যদি একই নামযুক্ত কোনও ফাইল যদি ইতিমধ্যে উপস্থিত থাকে তবে বাহ্যিক খণ্ডে সঠিক ট্র্যাশ ফোল্ডারে ফাইল স্থাপন করা; এটিতে কিছু যুক্ত চমত্কার জিনিস রয়েছে যেমন: এটি উপলব্ধ হলে অ্যাপলস্প্রিপ্টটি ব্যবহার করার চেষ্টা করে যাতে আপনি দুর্দান্ত ট্র্যাশ সাউন্ড পাবেন এবং এরকম (তবে এটির প্রয়োজন নেই যাতে কোনও ব্যবহারকারী লগইন না হওয়াতে আপনি এটি এখনও এসএসএইচ এর মাধ্যমে ব্যবহার করতে পারেন), এটি করতে পারে সমস্ত খণ্ডে আপনাকে ট্র্যাশের আকার দেয়।

তুমি আমার দখল করতে পারেন আমার সাইট থেকে টুলস-OSX স্যুট বা থেকে সর্বশেষ এবং সর্বশ্রেষ্ঠ সংস্করণ GitHub সংগ্রহস্থলের

এর রয়েছে একটি trashকমান্ড আলী Rantakari দ্বারা উন্নত , কিন্তু আমি যে এক নিজেকে পরীক্ষা করা হয়েছে।


4
দুর্দান্ত উত্তর, আমার চেয়ে অনেক ভাল!
ব্যবহারকারী 1256923

24
আমি trashবেশ কিছুদিন ধরে রেন্টাকারি ব্যবহার করেছি এবং সত্যিই এটির প্রতিশ্রুতি দিতে পারি। এটি অবজেক্টিভ-সি সংকলিত এবং চতুরতার সাথে স্ট্যান্ডার্ড ফাইল সিস্টেম এপিআই ব্যবহার করে এবং এটি যদি ব্যর্থ হয় (যেমন, ব্যবহারকারীর পর্যাপ্ত অধিকার নেই), এটি ফাইন্ডারকে ফাইলগুলি ট্র্যাশ করতে বলে (কার্যকরভাবে প্রমাণীকরণের জন্য অনুরোধ জানানো)। আপনি hasseg.org/blogtrash থেকে আরও তথ্য পড়তে পারেন ।
জারি কেইনেনেন

26
ব্রেউ প্যাকেজ ম্যানেজারের মাধ্যমেও ট্র্যাশ উপলব্ধ। শুধু ব্যবহার করুন: brew install trash
ল্যান্ডন কুহান

8
@ landon9720 ভাল পয়েন্ট। এবং, অন্যদের জন্য নির্মল, trashকমান্ড মাধ্যমে উপলব্ধ Homebrew আলাই Rantakari এর (দেখতে brewসূত্র )।
মোরগান্ট

3
আমি চালিয়ে ত্রুটি ঠিক করতে সক্ষম হন brew remove trashএবং তারপর brew install trash
ইলিয়াস জামারিয়া

99

ট্র্যাশ কমান্ড লাইন টুল মাধ্যমে ইনস্টল করা যাবে brew install trash

এটি আপনাকে কমান্ড লাইন বা ফাইন্ডারের মাধ্যমে ট্র্যাশযুক্ত ফাইল পুনরুদ্ধার করতে দেয়।


2
কি সুন্দর সমাধান!
মিঃ পেই

6
ম্যাকপোর্টগুলিতেও উপলভ্য:port install trash
হোলোক্রোনউইভার

প্রতিবার আমি চেষ্টা করার পরে brew install trash, আমি এটি পেয়েছি: পেস্টবিন.
com/N92cM7d8

@ বেনসি.আর. লেগিয়েরো আমি এই সমস্যাটি github.com/ali-rantakari/trash/issues এ নিয়ে যাব । আপনি কি brew updateআগে? আমার শেষ দিকে ভাল কাজ করে।
পল ওয়েনজেল

@ পোলওয়েঞ্জেল হ্যাঁ, এবং এটি ঠিকঠাক আপডেট হয়েছে বলে মনে হচ্ছে। আমি একটি সমস্যা পোস্ট করব।
বেন লেগিগেরো

21

নিম্নলিখিত বিষয়বস্তু সহ remআমার কোথাও একটি এক্সিকিউটেবল কল হয়েছে $PATH:

সম্পাদনা: নীচের কোডটি ডেভ আব্রাহামসের সহযোগিতায় একটি সংশোধিত এবং উন্নত সংস্করণ :

#!/usr/bin/env python
import os
import sys
import subprocess

if len(sys.argv) > 1:
    files = []
    for arg in sys.argv[1:]:
        if os.path.exists(arg):
            p = os.path.abspath(arg).replace('\\', '\\\\').replace('"', '\\"')
            files.append('the POSIX file "' + p + '"')
        else:
            sys.stderr.write(
                "%s: %s: No such file or directory\n" % (sys.argv[0], arg))
    if len(files) > 0:
        cmd = ['osascript', '-e',
               'tell app "Finder" to move {' + ', '.join(files) + '} to trash']
        r = subprocess.call(cmd, stdout=open(os.devnull, 'w'))
        sys.exit(r if len(files) == len(sys.argv[1:]) else 1)
else:
    sys.stderr.write(
        'usage: %s file(s)\n'
        '       move file(s) to Trash\n' % os.path.basename(sys.argv[0]))
    sys.exit(64) # matches what rm does on my system

এটি ঠিক ফাইন্ডার থেকে মোছার মতো আচরণ করে। ( এখানে ব্লগ পোস্ট দেখুন ।)


4
এটিতে আরও পয়েন্ট আইএমও হওয়া উচিত। কারণ এটি অ্যাপলস্ক্রিপ্ট এটি ফাইলকে ট্র্যাশে স্থানান্তরিত করতে প্রকৃত ট্র্যাশ প্রক্রিয়া ব্যবহার করে, যার অর্থ এটি একইরকম আচরণ করবে। লজ্জাজনকভাবে একটি ওয়ানলাইন সরবরাহ করা হয়নি।
এমএক্সসিএল

2
এই উত্তরটি কীভাবে জিনিসগুলি সঠিকভাবে করা যায় তার একটি অবজেক্ট পাঠ। এটি শেল ওয়াইল্ডকার্ডগুলির সাথে কাজ করে এবং এটি ফাইন্ডারের মাধ্যমে কাজ করে। এটি কোনও চাকা পুনরায় উদ্ভাবন করে না এবং এটি যতটা সহজ হতে পারে তেমন সহজ। আমি এটি আমার মধ্যে রেখেছি ~/bin, নাম রেখেছি trashএবং এটি প্রথমবার কাজ করেছিল - আমাকে ফাইন্ডার উইন্ডোতে ক্লিক করতে হয় তার চেয়ে বেশি দক্ষতার সাথে পুরো ফাইলগুলিকে ট্র্যাশ করতে সক্ষম করে। অনেক কৃতজ্ঞতা। আশা করি আপনি আরও উত্তর পোস্ট করবেন!
বেন কোভিটস

3
এই সংস্করণটি উদ্ধৃতিগুলি পরিচালনা করে। এটি ত্রুটি পরিচালনার আচরণকে কিছুটা পরিবর্তন করে, যা উপরের সংস্করণে খুব সাবধানে-কাজ-করা হয়নি বলে মনে হচ্ছে (স্টাডারের পরিবর্তে স্টাডাউটের ত্রুটি, কোনও প্রস্থান কোড নেই) তবে osascriptফাইলটি উপস্থিত না থাকলে আপনি যে ত্রুটিটি পেয়েছেন সুন্দর নয় তাই আপনি এই অংশটি টিউন করতে পারেন।
ডেভ আব্রাহামস

3
সুন্দর কাজ. এই সংস্করণটি এই পরিবর্তনগুলিকে অন্তর্ভুক্ত করে এবং (1) rmফাইল উপস্থিত না থাকাতে বার্তা প্রদর্শন করার ক্ষেত্রে শেল কমান্ড যথাসম্ভব অনুকরণ করার চেষ্টা করে এবং (2) সমস্ত কিছুকে একটি osascriptকলের সাথে সংযুক্ত করে।
অ্যান্থনি স্মিথ


4

আমি একটি সুন্দর সুন্দর কোড পেয়েছি যা ব্যবহারকারীর ব্যাচ প্রোফাইলের শেষে যুক্ত rmকরা যেতে পারে এবং ফাইলগুলি প্রতিটিবার চালানোর সময় ট্র্যাশে স্থানান্তরিত করে causes

ন্যানো। / .বাশ_প্রোফাইল

#... append at the end
function rm () {
  local path
  for path in "$@"; do
    # ignore any arguments
    if [[ "$path" = -* ]]; then :
    else
      # remove trailing slash
      local mindtrailingslash=${path%/}
      # remove preceding directory path
      local dst=${mindtrailingslash##*/}
      # append the time if necessary
      while [ -e ~/.Trash/"$dst" ]; do
        dst="`expr "$dst" : '\(.*\)\.[^.]*'` `date +%H-%M-%S`.`expr "$dst" : '.*\.\([^.]*\)'`"
      done
      mv "$path" ~/.Trash/"$dst"
    fi
  done
}

উত্স: http://hints.macworld.com/article.php?story=20080224175659423


2
এটি v চালাক কিন্তু আমি এখনও এটি সুপারিশ করব না। এটি বুদ্ধিমান কারণ এটি ব্যবহারকারীর জন্য ব্যাশ প্রোফাইলে রয়েছে এবং তাই কেবলমাত্র ব্যবহারকারী এটি টাইপ করে ফাংশনটির এই সংস্করণটি চালাতে পারে, আরএম এর উপর নির্ভরশীল স্ক্রিপ্টগুলি এখনও মূলটিকে কল করবে। তবে আমি এটি করার সুপারিশ করব না কারণ ব্যবহারকারী যখন অন্য মেশিনে না থাকে তখন এভাবে অভিনয় করার অভ্যাস করবে। আমি এটি ব্যবহার করতে যাচ্ছি তবে ফাংশনটির নামকরণ "ট্র্যাশ"
ম্যাট পার্কিনস

আমি দুটি পরিবর্তন সহ একই ফাংশনটি ব্যবহার করছি: the আমি ফাংশনটিতে একটি বাগ সংশোধন করেছি যার ফলে কোনও ফোল্ডারটির টাইমস্ট্যাম্পে নতুন নামকরণ করা হয়, যদি এটি অনুসরণযোগ্য স্ল্যাশ অন্তর্ভুক্ত করার জন্য ট্যাব-সম্পন্ন হয়ে থাকে: এটির জন্য নিম্নলিখিত পরিবর্তনগুলির প্রয়োজন: প্রতিস্থাপন লাইন local dst=${path##*/}দিয়ে local dst=${mindtrailingslash##*/}এবং ঠিক আগে যে এক বলে আরেকটি লাইন ঢোকাতে local mindtrailingslash=${path%/}। ② আমি নামটি ব্যবহার করি function rr। এটির মতো, এটি প্লেইনের সাথে ইন্টারেস্টের করে না rm, তবে নামটি একইভাবে সংক্ষিপ্ত এবং টাইপ করা দ্রুত (অন্য কোনও নাম করবে))
মাচ

এর নাম পরিবর্তন করুন rm()থেকে rmt()এই ভাবে আপনি এখনও ব্যবহার করতে পারেন - rmকমান্ড যখন আপনি চান। আমি আমার মাথায় rmt সম্পর্কে মনে করি remove to trash: ডি
জেমস 111

4

টার্মিনাল কমান্ড ওসাস্ক্রিপ্ট, অ্যাপলস্ক্রিপ্ট ইন্টারপ্রেটার ব্যবহার করুন।

osascript -e "tell application \"Finder\" to delete POSIX file \"${PWD}/${InputFile}\""

এটি অ্যাপলস্ক্রিপ্টকে ফাইন্ডারকে ফাইলটি ট্র্যাশে পাঠাতে বলবে।

আপেলস্ক্রিপ্ট যে ভাল পরিচালনা করে না তাই আপেক্ষিক ফাইল পাথের জন্য পিডাব্লুডির প্রয়োজন।


1
সহজ, কার্যকর এবং কিছু ইনস্টল করার প্রয়োজন নেই! খুশী হলাম।
সিলভারওয়ल्फ

2

দ্রুত ব্যবহার করে একটি আধুনিক পদ্ধতি

https://github.com/reklis/recycle

//
// main.swift
// recycle
//
// usage: recycle <files or directories to throw out>
//

import Foundation
import AppKit

var args = NSProcessInfo.processInfo().arguments
args.removeAtIndex(0) // first item in list is the program itself

var w = NSWorkspace.sharedWorkspace()
var fm = NSFileManager.defaultManager()

for arg in args {
    let path = arg.stringByStandardizingPath;
    let file = path.lastPathComponent
    let source = path.stringByDeletingLastPathComponent

    w.performFileOperation(NSWorkspaceRecycleOperation,
        source:source,
        destination: "",
        files: [file],
        tag: nil)
}

1
যদিও এই লিঙ্কটি প্রশ্নের উত্তর দিতে পারে, উত্তরের প্রয়োজনীয় অংশগুলি এখানে অন্তর্ভুক্ত করা এবং রেফারেন্সের জন্য লিঙ্কটি সরবরাহ করা ভাল। লিঙ্কযুক্ত পৃষ্ঠাগুলি পরিবর্তিত হলে লিঙ্ক-শুধুমাত্র উত্তরগুলি অবৈধ হতে পারে।
ঝেররান

@ জেররান অনুস্মারকটির জন্য ধন্যবাদ, আমি একটি কোড সেগমেন্ট যুক্ত করেছি
এসএফএফ

এটি আমার পছন্দসই উত্তর কারণ এটি GUI হিসাবে একই অন্তর্নিহিত লজিক এবং API গুলি ব্যবহার করে।
জেসন আর। কমসস

1
এখন যদি কেবলমাত্র পাইথন সংস্করণ থাকে যা একটি সিস্টেম কল করার জন্য 3MB বাইনারি প্রয়োজন তা এড়ায়।
জেসন আর। কমসস

1

rmফাইলগুলি মুছে ফেলার পরিবর্তে ট্র্যাশে স্থানান্তরিত করা সম্ভব হলেও আমি গ্রাফিকাল ইউজার ইন্টারফেসের সুরক্ষার নেটটিকে ইউনিক্স শেলটিতে আনার বিরুদ্ধে পরামর্শ দেব। টার্মিনালটি ব্যবহার করে গুরুতর ক্ষতি করার বিভিন্ন উপায় রয়েছে। আইএমএইচওর সেরা পরামর্শ হ'ল enterশেল উইন্ডোতে কীটি আঘাত করার আগে কেবল দু'বার চিন্তা করা ।

আপনি যদি rmমনে করিয়ে দিতে চান যে আপনি নিম্নলিখিত ফাইলটি ব্যবহার করার জন্য কোনও ফাইল মুছতে চলেছেন ( আপনার হোম ডিরেক্টরিতে /bin/bashএই লাইনটি রেখেছেন .bashrc):

alias rm "rm -i"

এটি প্রতিটি ফাইল rmসরানোর চেষ্টা করার আগে অনুরোধের নিশ্চয়তা তৈরি করবে ।

আপনার যদি টাইমম্যাচিন চলমান থাকে (আমি আশা করি!) আপনি সর্বদা ব্যাকআপ থেকে আপনার ফাইলটি পেতে পারেন। এভাবে আপনি সর্বাধিক এক ঘন্টা কাজ হারাতে পারেন। যা অবশ্যই যথেষ্ট খারাপ। সুতরাং enterকীটি টিপানোর আগে আবার চিন্তা করুন !


1
এটা করবেন না! ইনস্টলার স্ক্রিপ্টগুলি rmউপনামটি ব্যবহার করতে এবং হ্যাং করতে পারে rm -i
ওল্ড প্রো

3
@ ওল্ডপ্রো: .bashrcকেবলমাত্র শেলটি ইন্টারেক্টিভ হলে সম্পাদন করা হয়। ম্যান পেজ চেক করুন !
ম্যাকি মেসার

আমি সুরক্ষা জাল অপসারণ বা অন্যকে এটি করার পরামর্শ দেওয়ার বিরুদ্ধে পরামর্শ দেব।
the0th

আমি নায়েসারদের বিরুদ্ধে যাব এবং বলব যে আমি এই কৌশলটি দুর্দান্তভাবে ব্যবহার করেছি তবে এটি অবশ্যই বিপদগুলি জেনে করা উচিত। উল্লিখিত নয় দুটি rmএটি হ'ল এটি আপনার মস্তিষ্ককে প্রশিক্ষণ দেয় যা তার চেয়ে নিরাপদ যা অন্য সিস্টেমে আপনার সমস্যার মধ্যে পড়বে। এছাড়াও, যদি আপনি ব্যবহার -f, -iসম্পূর্ণরূপে উপেক্ষা করা হয়। বলেছিল, এটি একটি ভাল সুরক্ষার জাল। এর চেয়ে ভাল এটি হ'ল rmকোনও rmiউরফ ( alias rmi="rm -i") বা চমৎকার trashইউটিলিটির পক্ষে না ব্যবহার করা । এছাড়াও, আমি যুক্ত করব যে এখনি প্রত্যেকের উচিত [ -f ~/.bashrc ] && source ~/.bashrcin .bash_profile
mattmc3

1

হোমব্রিউয়ের মাধ্যমে দুটি স্থাপনযোগ্য ইনস্টলযোগ্য রয়েছে যা এটি সম্পাদন করতে পারে:

  1. আবর্জনা

    এটি ওএস এক্সের জন্য একটি ছোট কমান্ড-লাইন প্রোগ্রাম যা ফাইল বা ফোল্ডারগুলিকে ট্র্যাসে নিয়ে যায়। এই কমান্ডের ইউএসপি হ'ল সহজেই ফাইলগুলি পুনরুদ্ধার করতে সক্ষম করে। ফাইল / ফোল্ডার ট্র্যাশ করার পরে যদি আপনি ফাইল / ফোল্ডারগুলি পুনরুদ্ধার করতে না পারেন তবে ট্র্যাশ করার জন্য একটি আদেশ ব্যবহার করা যায় না। কমান্ডের ওয়েবসাইট থেকে:

ডিফল্টরূপে, ট্র্যাশ অনুসন্ধানকারীকে নির্দিষ্ট ফাইল / ফোল্ডারগুলিকে ট্র্যাশে স্থানান্তরিত করতে বলার পরিবর্তে সিস্টেম এপিআইকে এটি করার জন্য কল করে না কারণ "পুট ব্যাক" বৈশিষ্ট্যটি কেবল ফাইন্ডারের মাধ্যমে ফাইল ট্র্যাশ করার সময় কাজ করে।


-F

সিস্টেম এপিআই ব্যবহার না করে ফাইন্ডারকে ফাইলগুলি ট্র্যাশে স্থানান্তরিত করতে বলুন। এটি ধীর, তবে এটি ফাইন্ডারের ইউআই (যেমন শব্দগুলি) ব্যবহার করে এবং এটি "পিছনে ফিরে" ফিচারটি কাজ করে তা নিশ্চিত করে।

-l

ট্র্যাসে থাকা আইটেমগুলির তালিকা দিন। যদি এই তর্কটি ব্যবহৃত হয় তবে কোনও ফাইল নির্দিষ্ট করার দরকার নেই।

-e

ট্র্যাশ খালি. এই ক্রিয়াটি কার্যকর করার আগে ট্র্যাশ নিশ্চিতকরণের জন্য জিজ্ঞাসা করে। যদি এই তর্কটি ব্যবহৃত হয় তবে কোনও ফাইল নির্দিষ্ট করার দরকার নেই।

trashটার্মিনালটিতে নিম্নলিখিতটি ইনস্টল করতে :

brew install trash


  1. rmtrash

    একটি কমান্ড লাইন সরঞ্জাম যা ফাইলগুলি ট্র্যাশে স্থানান্তরিত করে। কমান্ডের ম্যান পৃষ্ঠা থেকে:

এই কমান্ডটি ফাইল সিস্টেম থেকে সম্পূর্ণ অপসারণের চেয়ে ফাইলগুলিকে ট্র্যাশে স্থানান্তরিত করে। আপনি যদি ফাইলটি সর্বোপরি চান তবে খুব দরকারী ...


-উ ব্যবহারকারী নাম

একটি alচ্ছিক যুক্তি। এটি ফাইলটিকে নির্দিষ্ট ব্যবহারকারীর ট্র্যাশে স্থানান্তরিত করবে। নোট করুন যে এটি সম্পাদন করার জন্য আপনার পর্যাপ্ত অধিকারের প্রয়োজন।

rmtrashটার্মিনালটিতে নিম্নলিখিতটি ইনস্টল করতে :

brew install rmtrash


1

আপনার বাশ প্রোফাইলে যুক্ত করার জন্য এখানে একটি চমত্কার তুচ্ছ এক-লাইন সমাধান। দ্রষ্টব্য যে এটি ইতিমধ্যে ট্র্যাসে একই নামের কিছুতে ওভাররাইট করবে।

trash() { mv -fv "$@" ~/.Trash/ ; }

ব্যবহার:

 ~/Desktop $$$ touch a b c
 ~/Desktop $$$ ls
a b c
 ~/Desktop $$$ trash a b c
a -> /Users/ryan.tuck/.Trash/a
b -> /Users/ryan.tuck/.Trash/b
c -> /Users/ryan.tuck/.Trash/c
 ~/Desktop $$$ ls
 ~/Desktop $$$

সেই অনুযায়ী সম্পাদনা করেছেন - ইনপুট দেওয়ার জন্য আপনাকে ধন্যবাদ!
রায়ান টাক

0

সঠিকভাবে কাপড় দেখছিলেন (যাতে এটি স্পষ্টভাবে আদায়যোগ্য হয়) কেবল একটি চেয়ে trickier হয় mvথেকে ~/.Trash

অক্স-ট্র্যাশ হতে পারে যা আপনি সন্ধান করছেন। ( ক্যাভেট সম্রাট - আমি এটি চেষ্টা করিনি, এবং এটি কতটা নিরাপদ তা নিশ্চিত করে বলতে পারি না))


0

চেক আউট trash-cli। এটি ক্রস প্ল্যাটফর্মের কাজ করে, কোনও আবর্জনা শব্দ নয় এবং পুট ব্যাক সমর্থন করে।

আপনি এটি দিয়ে ইনস্টল করতে পারেন ( নোড.জেএস প্রয়োজন ) :

$ npm install --global trash-cli

বিকল্পভাবে, আপনি নোড.জেএস ব্যবহার করতে না চাইলে, আপনি নেটিভ বাইনারি osx-trashম্যানুয়ালি ইনস্টল করতে পারেন ।


-1

আপনার .bashrc (বা যেখানেই আপনি নিজের শেলের জন্য প্যারামিটার রাখুন) তে, এমন একটি উপাধি যুক্ত করার চেষ্টা করুন যা আরএমের আচরণকে স্টাফগুলিকে moving / .ট্রে ট্র্যাশে পরিবর্তন করে, যেমন:

alias rm='move/to/.Trash'

এই উপনামটি যদি তুচ্ছ থেকে বাস্তবায়নের ক্ষেত্রে দূরে থাকে (তবে আমার পক্ষে কমপক্ষে) যদিও এমভি ব্যবহার (এই কাজের জন্য প্রধান প্রার্থী)

mv file where

সুতরাং একটি উপনাম থাকা যা ফাইলের সামনে সরানোর জন্য 'যেখানে' অংশ রাখে তা বেশ চঞ্চল হতে পারে। আমি এটি সন্ধান করব একটি সম্ভবত আরও যথেষ্ট পরামর্শ পেতে পারেন।

সম্পাদনা: আমি কেবল আমার .bashrc এ নিম্নলিখিতগুলি যুক্ত করার চেষ্টা করেছি এবং এটি কার্যকর:

function trash { mv "$@" ~/.Trash ; }

এটি অন্যান্য পরামর্শের তুলনায় অনেক বেশি আদিম, তবে আপনি নতুন স্টাফ ইনস্টল করা এড়ান।


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

@ ওল্ড প্রো, আমি যে সমস্ত উপন্যাসটি আমার সমস্ত কম্পিউটারে rm এর জন্য ব্যবহার করি, সেদিন থেকে 0, এবং এর কারণে আমার কখনও সমস্যা হয়নি। একটি উদাহরণ দিতে যত্ন?
ব্যবহারকারী 1256923

3
@ ওल्डপ্রো: .bashrcকেবল ইন্টারেক্টিভ শেলগুলির জন্য ব্যবহৃত হয় । আপনি চালিত হলে ./install.shএকটি নতুন প্রক্রিয়া শুরু হয় এবং উপনামটি সক্রিয় হবে না । তবে, আপনি যদি . install.shআপনার বর্তমান প্রক্রিয়াটি চালান তবে ইনস্টলারটি কার্যকর করা হবে এবং উপনামটি সক্রিয় রয়েছে। আরটিএফএম ...
ম্যাকি মেসার

3
তারপরে ইনস্টলারটি একটি ইন্টারেক্টিভ শেলটি চালাচ্ছিল এবং তাই গুরুতরভাবে ভেঙে গেছে। একটি ভাঙা ইনস্টলার সাধারণত শেল এলিয়াসগুলির বিরুদ্ধে পরামর্শ দেওয়ার পক্ষে যথেষ্ট কারণ নেই। ওয়াইএমএমভি
ম্যাকি মেসার

1
যাইহোক, এটা হল ভাল উপদেশ ওরফে না rm, কমান্ড হিসাবে morgant বললেন, কারণ আপনার সঙ্গে আরামদায়ক হয়ে যাব rmনা আসলে ফাইল মুছে ফেলার এবং তারপর ঘটনাক্রমে একটি সিস্টেম যেখানে কোন ওরফে যোগ করা হয়েছে কিছু মোছার পারে। এছাড়াও, কোনও ফাইল ট্র্যাসে সরানো ঠিক তত সহজ নয়mv {} ~/.Trash । যদি ফাইলটি পৃথক ভলিউমে থাকে, উদাহরণস্বরূপ, এটি আপনার হোম ডিরেক্টরিতে ফাইলটি অনুলিপি করবে এবং আসলটি মুছবে।
জোশ

-1

আমি এই স্ক্রিপ্টটি সহজভাবে রেখেছি

#!/bin/bash
application=$(basename "$0")
if [ "$#" == 0 ]; then
    echo "Usage: $application path [paths...]"
    exit 1
fi
trashdir="/Users/${USER}/.Trash"
while (( "$#" )); do
    if [ -e "$1" ]; then
        src=$(basename "$1")
        dst=$src
        while [ -e "$trashdir/$dst" ]; do
            dst=$src+`date +%H-%M-%S`
        done
        mv -f "$1" "$trashdir/$dst"
    else
        echo "$1" does not exist.
    fi
    shift
done

ইন ~/bin/trash, এটি এক্সকিউটেবল chmod +x ~/bin/trashকরেছে এবং নিম্নলিখিত লাইনটি এতে যুক্ত করেছে~/.bash_profile

PATH=$PATH:$HOME/bin

তারপরে কেউ এটি হিসাবে ব্যবহার করতে পারেন

$ trash broken.js olddir cleanup.*

-2

একটি সাধারণ ফাংশন আপনাকে ফাইলগুলির ব্যবহারকারীর। ট্র্যাশ ফোল্ডারে নিয়ে যেতে ট্র্যাশ করতে দেয় let

trash() {
   mv $1 ~/.Trash
}

? নেতিবাচক ভোট কেন?
এটিও

আপনার $*পরিবর্তে সম্ভবত প্রয়োজন $1, তবে তারপরে আপনি একই উত্তরটি দিয়ে শেষ করতে পারেন mv "$@" ~/.Trash। লোকেরা কেন এটি নেতিবাচকভাবে ভোট দেয়, অন্য উত্তর থেকে মন্তব্যগুলি দেখুন।
কেনোরব 6'15

এই ওরফে সাবধান! আপনার যদি কেবল একটি পার্টিশন বা ড্রাইভ থাকে তবে এটি কাজ করে। আপনি যদি দ্বিতীয় ভলিউম বা নেটওয়ার্ক ভাগ করে নিয়ে কাজ করছেন, এটি আসলে আপনার হোম ডিরেক্টরি ডিরেক্টরিতে ট্র্যাশে ফাইলটি অনুলিপি করবে যা সম্ভবত আপনি যা করতে চেয়েছিলেন তা নয়!
jmk
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.