টার্মিনালের মাধ্যমে একটি ফাইল ট্র্যাসে স্থানান্তরিত করার আদেশ


117

আমি জানতে চাই যে আমি কোনও টার্মিনালে কমান্ড জারি করতে পারি কিনা তাই আমি ধ্রুপদীভাবে rmফাইলটি ( ) মুছে ফেলব না , পরিবর্তে এটিকে ট্র্যাশে স্থানান্তরিত করব (অর্থাত নটিলিয়াস ট্র্যাশে সরান ট্র্যাশ আচরণ)।

যদি এই জাতীয় আদেশ থাকে তবে আমি এটি কী তা জানতে আগ্রহী হব।



2
এছাড়াও এখানে একটি ভাল সংস্থান: webupd8.org/2010/02/make-rm-move-files-to-trash-instead-of.html
রিনজউইন্ড

উত্তর:


105

আপনি উবুন্টুতে ডিফল্টরূপে ইনস্টল gvfs-trashহওয়া প্যাকেজটি থেকে কমান্ড ব্যবহার করতে পারেন gvfs-bin

ফাইল ট্র্যাসে সরান:

gvfs-trash filename

আবর্জনার সামগ্রী দেখুন:

gvfs-ls trash://

ট্র্যাশ খালি:

gvfs-trash --empty


এটি আমার পক্ষে সবচেয়ে সহজ উত্তর যা কাজ করে। ধন্যবাদ.
তেডি সি। সেগুইন

9
অনুসারে man gvfs-trashএটি অনুকৃত হয় gio trash, দেখুন man gio
pbhj

67

ট্র্যাশ-ক্লিপট্র্যাশ-ক্লিপ ইনস্টল করুন ইনস্টল করুন -sudo apt-get install trash-cli

এর সাথে ফাইলগুলি ট্র্যাসে রাখুন: trash file1 file2

ট্র্যাশে ফাইলগুলি তালিকাভুক্ত করুন: trash-list

এর সাথে ট্র্যাশ খালি করুন: trash-empty


1
যে (উবুন্টু সম্পর্কিত) সরঞ্জাম একটি ট্র্যাশ স্পেকের দিকে নির্দেশ করে । বেশ আকর্ষণীয়, যদিও ব্যাপকভাবে গৃহীত হয়েছে তা নিশ্চিত নয় ...
ফ্রাঙ্ক নোক

ইনস্টলেশনের পরে, আমি কমান্ডটি চালাচ্ছি এবং ত্রুটিটি পেয়েছি: File "/usr/bin/trash-list", line 4, in <module> ImportError: No module named 'trashcli'
ড্যানিয়েল

25

২০১ 2017 সালের হিসাবে, gvfs-trashঅবচিত বলে মনে হচ্ছে।

$ touch test
$ gvfs-trash test
This tool has been deprecated, use 'gio trash' instead.
See 'gio help trash' for more info.

আপনার gioবিশেষভাবে ব্যবহার করা উচিত

gio trash

প্রস্তাবিত উপায়।


2
অবমানিত gvfs-trashহওয়ার জন্য আপনি কি কোনও উত্সকে যুক্ত করতে পারেন এবং কী gio?
মেলিবিয়াস

1
দুর্ভাগ্যক্রমে আমি কোনও লিঙ্ক সরবরাহ করতে পারি না, তবে কুবুন্টু 17.10: gbfs-trash ব্যবহার করার চেষ্টা করার বিষয়টি আমি পেয়ে যাচ্ছি: পেস্টবিন.
ইউজেন ট্রভারডোকলেব

1
আপনি এখানে আপনার উত্তরে উদাহরণটি আটকে দিতে পারেন, এটি সিস্টেমের সংস্করণ নম্বর সহ একসাথে আমার পক্ষে যথেষ্ট। আমি 16.04 এলটিএস ব্যবহার করছি এবং gvfs-trashএখানে একমাত্র বিকল্প।
মেলবিয়াস

এই সরঞ্জামে অন্যান্য দুর্দান্ত বৈশিষ্ট্যগুলির একটি গুচ্ছ রয়েছে। আমি infoআদেশ পছন্দ; এটি দরকারী মনে হয়।
রাফি খ্যাচডৌরিয়ান

4

@Radu Rădeanuউত্তর আপডেট করা হচ্ছে । যেহেতু উবুন্টু আমাকে gioপরিবর্তে ব্যবহার করতে বলছে ...

সুতরাং, ট্র্যাশে some_file(বা ফোল্ডার) ব্যবহার করতে

gio trash some_file

ডাম্পস্টার ডাইভিং ব্যবহার যেতে

gio list trash://

ট্র্যাশ খালি করতে

gio trash --empty

3

আমি নিম্ন প্রযুক্তির উপায়গুলি সর্বোত্তম পছন্দ করি। আমি .Trটাইপ করে আমার হোম ডিরেক্টরিতে একটি ফোল্ডার তৈরি করেছি:

mkdir ~/.Tr

এবং rmফাইলগুলি মুছতে ব্যবহার করার পরিবর্তে , আমি সেই ফাইলগুলিকে ~/.Trটাইপ করে ডিরেক্টরিতে স্থানান্তরিত করেছি :

mv fileName ~/.Tr

আমার উবুন্টু জ্ঞানের স্তর মোটামুটি কম হওয়ায় এবং আমার কী হতে পারে তা নিয়ে আমি উদ্বেগ প্রকাশ করায় সিস্টেমের ফোল্ডারগুলির সাথে আমার বিশৃঙ্খলা না হওয়ার ক্ষেত্রে আপনি অতিরিক্ত সুবিধা দিয়ে চাইছেন না এমন ফাইলগুলিতে অ্যাক্সেস রাখার এটি একটি কার্যকর এবং সহজ উপায় I আমি যখন সিস্টেমের জিনিসগুলির সাথে ঝামেলা করি তখন স্ক্রু আপ করা। আপনি যদি নিম্ন স্তরেরও হন তবে দয়া করে মনে রাখবেন যে ""। ডিরেক্টরি নাম এটি একটি গোপন ডিরেক্টরি করে।


3

পূর্ববর্তী উত্তরে কমান্ডটি উল্লেখ করা হয়েছে gio trash, এটি যতদূর যায় ঠিক। তবে সার্ভার মেশিনে ট্র্যাশ ডিরেক্টরি সমপরিমাণ নেই। আমি একটি বাশ স্ক্রিপ্ট লিখেছি যা কাজটি করে; (উবুন্টু) ডেস্কটপ মেশিনে এটি ব্যবহার করে gio trash। (আমি alias tt='move-to-trash'আমার উরফ সংজ্ঞা ফাইলটিতে যুক্ত করেছি ; ttএটি "ট্র্যাশগুলিতে ট্র্যাশ" করার জন্য একটি স্মরণিকা is)

#!/bin/bash
# move-to-trash

# Teemu Leisti 2018-07-08

# This script moves the files given as arguments to the trash directory, if they
# are not already there. It works both on (Ubuntu) desktop and server hosts.
#
# The script is intended as a command-line equivalent of deleting a file from a
# graphical file manager, which, in the usual case, moves the deleted file(s) to
# a built-in trash directory. On server hosts, the analogy is not perfect, as
# the script does not offer the functionalities of restoring a trashed file to
# its original location nor of emptying the trash directory; rather, it is an
# alternative to the 'rm' command that offers the user the peace of mind that
# they can still undo an unintended deletion before they empty the trash
# directory.
#
# To determine whether it's running on a desktop host, the script tests for the
# existence of directory ~/.local/share/Trash. In case it is, the script relies
# on the 'gio trash' command.
#
# When not running on a desktop host, there is no built-in trash directory, so
# the first invocation of the script creates one: ~/.Trash/. It will not
# overwrite an existing file in that directory; instead, in case a file given as
# an argument already exists in the custom trash directory, the script first
# appends a timestamp to the filename, with millisecond resolution, such that no
# existing file will be overwritten.
#
# The script will not choke on a nonexistent file. It outputs the final
# disposition of each argument: does not exist, was already in trash, or was
# moved to the trash.


# Exit on using an uninitialized variable, and on a command returning an error.
# (The latter setting necessitates appending " || true" to those arithmetic
# calculations that can result in a value of 0, lest bash interpret the result
# as signalling an error.)
set -eu

is_desktop=0

if [[ -d ~/.local/share/Trash ]] ; then
    is_desktop=1
    trash_dir_abspath=$(realpath ~/.local/share/Trash)
else
    trash_dir_abspath=$(realpath ~/.Trash)
    if [[ -e $trash_dir_abspath ]] ; then
        if [[ ! -d $trash_dir_abspath ]] ; then
            echo "The file $trash_dir_abspath exists, but is not a directory. Exiting."
            exit 1
        fi
    else
        mkdir $trash_dir_abspath
        echo "Created directory $trash_dir_abspath"
    fi
fi

for file in "$@" ; do
    file_abspath=$(realpath -- "$file")
    file_basename=$( basename -- "$file_abspath" )
    if [[ ! -e $file_abspath ]] ; then
        echo "does not exist:   $file_abspath"
    elif [[ "$file_abspath" == "$trash_dir_abspath"* ]] ; then
        echo "already in trash: $file_abspath"
    else
        if (( is_desktop == 1 )) ; then
            gio trash "$file_abspath" || true
        else
            move_to_abspath="$trash_dir_abspath/$file_basename"
            while [[ -e "$move_to_abspath" ]] ; do
                move_to_abspath="$trash_dir_abspath/$file_basename-"$(date '+%Y-%m-%d-at-%H:%M:%S.%3N')
            done
            # While we're reasonably sure that the file at $move_to_abspath does not exist, we shall
            # use the '-f' (force) flag in the 'mv' command anyway, to be sure that moving the file
            # to the trash directory is successful even in the extremely unlikely case that due to a
            # run condition, some other thread has created the file $move_to_abspath after the
            # execution of the while test above.
            /bin/mv -f "$file_abspath" "$move_to_abspath"
        fi
        echo "moved to trash:   $file_abspath"
    fi
done

2

এখানে একটি ওপেন সোর্স নোডেজ-ভিত্তিক সংস্করণ (যদি আপনি জানতে চান, হুডের নীচে কী ঘটে থাকে বা কোনও প্রকল্পে এটির প্রয়োজন হয়), এতে কমান্ড লাইন সমর্থনও রয়েছে (যদি আপনি খুশি হন, যদি এটি ঠিক কাজ করে তবে।

> trash pictures/beach.jpg

0

কে.ডি. 4.14.8 এ আমি ফাইলগুলি ট্র্যাশে স্থানান্তর করতে নিম্নলিখিত কমান্ডটি ব্যবহার করেছি (যেন এটি ডলফিনে সরানো হয়েছিল):

kioclient move path_to_file_or_directory_to_be_removed trash:/

পরিশিষ্ট: আমি কমান্ডটি সহ পেয়েছি

    ktrash --help
...
    Note: to move files to the trash, do not use ktrash, but "kioclient move 'url' trash:/"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.