Удалять файлы из командной строки Linux легко с помощью trash-cli
Linux

Удалять файлы из командной строки Linux легко с помощью trash-cli

Пользователи настольных компьютеров Linux имеют возможность отправить файл или папку в корзину для последующего удаления. Но как насчет обитателей терминалов?

Домашние каталоги почти всегда оказываются загромождены беспорядочными файлами: случайными загрузками из Интернета, списками дел и рабочими каталогами давно заброшенных проектов

Пользователи настольных компьютеров могут отправить весь свой мусор в корзину— временное место, где хранятся файлы перед удалением— но у пользователей, предпочитающих проводить обслуживание в терминале, такой возможности нет. Вот как это можно изменить

Что такое мусорная корзина и зачем она нужна?

Корзина для мусора (известная как корзина для мусора в Windows) – это временное хранилище для файлов, которые вы решили удалить, но еще не успели. Это как мусорное ведро на кухне или возле дома: вы можете выбросить туда свой хлам, но пока мусорщики не проедут по вашей улице и не отвезут его в мусоросжигательную печь, вы все еще можете вытащить его, очистить и положить обратно туда, где он должен быть

Это полезно, когда вы случайно выбросили старые любовные письма супруга (которые для вас выглядят как мусор, но для него являются бесценными памятными вещами). Это также полезно, когда вы удаляете с диска целый каталог, который кажется нелюбимым мусором, но позже вспоминаете, что в глубине его подкаталогов находится единственная резервная копия вашего файла паролей, ваши свадебные фотографии и снимки УЗИ вашего будущего ребенка

Большинство настольных компьютеров с графическим интерфейсом имеют тот или иной вариант мусорной системы с момента выпуска Apple Lisa в 1983 году (тогда она называлась мусорной корзиной), а настольные компьютеры GNOME, MATE, KDE и XFCE поставляются с мусорной корзиной в стандартной комплектации

Корзина настолько глубоко встроена в среду рабочего стола, что чаще всего выделение файла и нажатие клавиши Delete не приводит к удалению файла, а, наоборот, перемещает его в корзину. Если вы работаете в Windows, ОС даже спросит вас, уверены ли вы, что хотите отправить файл в корзину

Корзина для вашего терминала Linux!

Мусорные баки, контейнеры для вторсырья и корзины для мусора – это скеоморфные объекты. Это программные объекты, которые графически имитируют свои реальные аналоги таким образом, чтобы дать подсказку об их предназначении. Мусорная корзина на рабочем столе выглядит так, как она выглядит, потому что она так себя ведет

Хотя терминал Linux является отличным местом для выполнения задач с минимальной суетой, он не является графически богатой средой. Изображение бытового мусорного бака было бы бессмысленным и, даже если бы это было возможно, отвлекало бы от работы с терминалом и потребляло бы ненужные ресурсы

В качестве стандартного поведения терминал позволяет удалять элементы с помощью команды rm. Например:

rm this.file that.file another.file

Команда rm принимает аргументы, которые будут рекурсивно удалять каталоги, пустые каталоги, выдавать запрос перед каждым одним или тремя удалениями или удалять элементы, даже если это удивительно плохая идея

Команда rm дает власть пользователю терминала, но если вы ошибетесь и случайно удалите весь свой проект, то у вас не будет возможности вернуть его обратно без использования такой утилиты, как TestDisk

trash-cli меняет эту ситуацию, позволяя вам использовать систему Trash вашего рабочего стола Linux из терминала

Что такое trash-cli?

Если вы используете DE, например, KDE, GNOME или XFCE, trash-cli будет использовать корзину вашей системы для удаления файлов, сохраняя при этом исходный путь, дату удаления и разрешения. Это означает, что вы можете проверить файлы, прежде чем окончательно стереть их с диска

Вы можете очистить корзину за один раз, а можете выбрасывать в виртуальную корзину отдельные файлы и папки

Это не будет работать на настольных компьютерах, не имеющих встроенной системы корзины, поэтому если вы используете оконный менеджер, такой как i3, Ratpoison или dwm, вам, к сожалению, не повезло, и, возможно, придется рассмотреть альтернативное решение

Установка trash-cli в Linux

Установка trash-cli проста, единственным условием является наличие установленного Python 2. 7 или Python 3. Если у вас нет Python, вы можете установить его на Ubuntu с помощью:

sudo apt install python3-pip

В дистрибутивах на базе Arch:

sudo pacman -S python-pip

На дистрибутивах, связанных с Red Hat:

sudo yum install python3 python3-wheel

и на Fedora:

sudo dnf install python3-pip python3-wheel

Теперь вы можете установить trash-cli с помощью:

pip install trash-cli

Местом установки пакета по умолчанию будет ~/.local/bin, поэтому если его нет в вашем PATH, добавьте его с помощью:

echo 'export PATH='$PATH':~/.local/bin' >> ~/.bashrc

Затем перезагрузите.bashrc:

source ~/.bashrc

Использование trash-cli для управления корзиной из терминала

Как и в случае с аналогами для настольного компьютера и реального мира, trash-cli прост в использовании в терминале, и пользоваться им довольно просто. Вам нужно запомнить всего четыре команды

  • trash-put: Удаляет файлы и каталоги.trash-put this.fileИли:trash-put that-directoryпереместит файл или каталог в корзину.trash-cli не делает различия между файлами и каталогами, поэтому нет необходимости добавлять аргументы, как это делается в команде rm.
  • мусорный список: Перечисляет все, что находится в вашей корзине, позволяя вам порыться в использованных чайных пакетиках вашей файловой системы в поисках обручального кольца.
  • trash-restore: Извлекает элементы из корзины и восстанавливает их на прежнее место. Вы можете указать несколько файлов:trash-restore this.file that.file important.file
  • trash-rm: Удаляет отдельные файлы из корзины.trash-rm that.file
  • trash-empty: Опустошает вашу корзину. Это все, окончательное удаление, и назад дороги нет.
  • Конечно, вы не хотите, чтобы хлам лежал в вашей корзине бесконечно. Он привлекает грызунов и насекомых, и, кроме того, пока он находится на диске, вы не экономите место. Хотя вы можете использовать trash-empty, чтобы очищать корзину всякий раз, когда вы вспомните об этом, проще настроить cronjob, который будет делать это за вас

    crontab -l ; echo '@daily $(which trash-empty) 30') | crontab -

    добавляет cronjob, который каждый день будет очищать вашу корзину от всех элементов старше 30 дней

    Использование корзины командной строки может спасти ваши файлы!

    Легко думать, что когда вы что-то удаляете, это потому, что вы хотите навсегда удалить это из вашей системы. Но если вы не будете очень осторожны, то почти неизбежно случайно удалите то, что действительно хотели бы сохранить

    Если вы пользуетесь терминалом, trash-cli предоставляет вам те же гарантии, к которым привыкли пользователи настольных компьютеров, сохраняя при этом скорость и эффективность командной строки

    Чтобы избежать случайного удаления файлов в первую очередь, подумайте о том, как лучше управлять и организовывать свои файлы

    Об авторе

    Алексей Белоусов

    Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

    Комментировать

    Оставить комментарий