Bir dosyayı Terminal yoluyla Çöp Kutusuna taşıma komutu


117

Bir terminalde verebileceğim bir komut olup olmadığını bilmek istiyorum, böylece rmdosyayı klasik olarak kaldırmam ( ), ama bunun yerine onu çöp kutusuna taşıyorum (yani Nautilus'un Çöp Davranışına davranışı).

Böyle bir komut olması durumunda, bunun ne olduğunu bilmekle de ilgilenirim.


2
Bu cevaba bir göz atın .
Peachy

Yanıtlar:


105

Varsayılan olarak Ubuntu'da kurulu gvfs-trasholan paketten komutu kullanabilirsiniz gvfs-bin.

Dosyayı çöp kutusuna taşı:

gvfs-trash filename

Çöp kutusunun içeriğine bakın:

gvfs-ls trash://

Boş çöp:

gvfs-trash --empty

Ayrıca benim gvfs-sorumu ziyaret edin .
Pandya

Bu işe yarayan benim için en basit cevap. Teşekkür ederim.
Teody C. Seguin

10
Buna göre man gvfs-trashlehine itiraz edilmektedir gio trash, bkz man gio.
pbhj

67

Trash-cli'yiTrash-cli'yi kurun yükleyin -sudo apt-get install trash-cli

Dosyaları aşağıdaki kutuya koyun: trash file1 file2

Çöp kutusundaki dosyaları listele: trash-list

Boş çöp kutusu: trash-empty


1
Bu (Ubuntu ile ilgili) aracı bir çöp tenekesine ileriye dönük . Oldukça ilginç, ama ne kadar yaygın olarak kabul edildiğinden emin değilim ...
Frank Nocke

Kurulumdan sonra komutu çalıştırıp hatayı alıyorum: File "/usr/bin/trash-list", line 4, in <module> ImportError: No module named 'trashcli'
Daniel

25

2017 itibariyle, gvfs-trashitiraz ediliyor gibi görünüyor.

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

gioÖzellikle kullanmalısın

gio trash

önerilen yoldur.


2
Kullanımdan gvfs-trashkaldırıldığına dair bir kaynak bağlayabilir misiniz gio?
Melebius

1
Maalesef bir bağlantı sağlayamıyorum, ancak Kubuntu 17.10'da gvfs-trash kullanmaya çalıştığım şey bu: pastebin.com/HA4a1pbs
Eugen Tverdokhleb

1
Cevabı buraya örnek yapıştırabilirsiniz, sistem sürüm numarası ile birlikte benim için yeterli olacaktır. 16.04 LTS kullanıyorum ve gvfs-trashburadaki tek seçenek.
Melebius

Bu aracın bir sürü hoş özelliği var. infoKomutu severim ; yararlı görünüyor.
Raffi Khatchadourian

4

@Radu RădeanuCevap güncelleniyor . Ubuntu giobunun yerine kullanmamı söylediğinden beri ...

Yani, çöp some_file(veya klasör) kullanmak için

gio trash some_file

Dumpster dalış kullanımına gitmek

gio list trash://

Çöpü boşaltmak için

gio trash --empty

3

En düşük teknoloji yöntemlerini seviyorum. .TrYazarak giriş dizinimde bir klasör yaptım :

mkdir ~/.Tr

ve rmdosyaları silmek yerine, şunu ~/.Tryazarak bu dosyaları dizine taşırım :

mv fileName ~/.Tr

Bu, Ubuntu bilgi seviyelerimin oldukça düşük olması ve ne olabileceğimden endişe duyduğum için, sistem klasörleriyle uğraşmama ihtimalimde, ilave fayda ile istemediğinizi düşündüğünüz dosyalara erişmenin etkili ve basit bir yoludur. sistem işleri ile uğraşırken berbat. Ayrıca düşük seviyedeyseniz lütfen "." Dizin adında gizli bir dizin yapar.


3

Önceki bir cevap, gio trashoraya kadar iyi olan emirden bahseder . Ancak, sunucu makinelerinde, bir çöp dizini için eşdeğer yoktur. İşi yapan bir Bash betiği yazdım; (Ubuntu) masaüstü makinelerinde kullanır gio trash. (Diğer alias tt='move-to-trash'ad tanımları ttdosyama ekledim ; "çöp atmak" için bir anımsatıcı.)

#!/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


0

KDE 4.14.8'de, dosyaları çöp kutusuna taşımak için aşağıdaki komutu kullandım (Dolphin'de kaldırılmış gibi):

kioclient move path_to_file_or_directory_to_be_removed trash:/

Ek: ile komut hakkında buldum

    ktrash --help
...
    Note: to move files to the trash, do not use ktrash, but "kioclient move 'url' trash:/"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.