본문 바로가기

좋아하는 것_매직IT/96.IT 핫이슈

trash-cli - shell에서도 휴지통을 사용하는 방법

반응형


shell에서 rm으로 파일을 삭제하면 완전삭제(?) 가 되어 난감한 일이 가끔생기는데요....


소스의 보고인..github 를 찾아보니..!!
shell에서도 휴지통을 쓸 수 있는 도구가 몇 가지 있는데 대체로 trash-cli라는 이름이네요~
우선, 2개정도 발견할 수 있어고요..

https://github.com/andreafrancia/trash-cli

 

GitHub - andreafrancia/trash-cli: Command line interface to the freedesktop.org trashcan.

Command line interface to the freedesktop.org trashcan. - GitHub - andreafrancia/trash-cli: Command line interface to the freedesktop.org trashcan.

github.com

https://github.com/sindresorhus/trash-cli

 

GitHub - sindresorhus/trash-cli: Move files and folders to the trash

Move files and folders to the trash. Contribute to sindresorhus/trash-cli development by creating an account on GitHub.

github.com


설치방법을 알아보니깐요...
npm이나 pip 등으로 설치하고 쓰면 되는것 같고요...
특히 꿀팁은 rm에 alias를 걸어서 쓰면 편리하네요...

우선, andreafrancia/trash-cli 에 대해서 간단하게 설명드리자면..


trash-put: 파일이나 디렉토리를 휴지통에 버립니다
trash-empty: 휴지통을 비웁니다. 날짜를 지정해서 며칠 지난 파일만 비울 수도 있네요..
trash-list: 휴지통에 있는 파일 리스트를 봅니다
trash-restore: 휴지통에서 파일을 복구합니다. 
trash-rm: 휴지통에서 일부 파일을 영구히 삭제합니다

그리고, 휴지통이 자동으로 비워지게 하려면 어떻게 해야할까요?

크론탭을 활용하면 됩니다.
30일 넘은 파일을 자동으로 지우려면 아래와 같이 크론탭에 등록해서 씁니다

그리고, 한가지 의문이 생기실것 같은데요...
지워진 파일, 즉 휴지통은 어디에 있을까요???

휴지통 위치는 ~/.local/share/Trash/입니다. 

KDE, GNOME, XFCE가 모두 이 위치를 휴지통으로 쓰기 때문이라고 하네요..

사용방법은 아래내용 참고부탁드릴께요

Usage

Trash a file:

$ trash-put foo

List trashed files:

$ trash-list
2008-06-01 10:30:48 /home/andrea/bar
2008-06-02 21:50:41 /home/andrea/bar
2008-06-23 21:50:49 /home/andrea/foo

Search for a file in the trashcan:

$ trash-list | grep foo
2007-08-30 12:36:00 /home/andrea/foo
2007-08-30 12:39:41 /home/andrea/foo

Restore a trashed file:

$ trash-restore
0 2007-08-30 12:36:00 /home/andrea/foo
1 2007-08-30 12:39:41 /home/andrea/bar
2 2007-08-30 12:39:41 /home/andrea/bar2
3 2007-08-30 12:39:41 /home/andrea/foo2
4 2007-08-30 12:39:41 /home/andrea/foo
What file to restore [0..4]: 4
$ ls foo
foo

Restore multiple trashed files separated by ',', also support range:

$ trash-restore
0 2007-08-30 12:36:00 /home/andrea/foo
1 2007-08-30 12:39:41 /home/andrea/bar
2 2007-08-30 12:39:41 /home/andrea/bar2
3 2007-08-30 12:39:41 /home/andrea/foo2
What file to restore [0..3]: 0-2, 3
$ ls foo bar bar2 foo2
foo bar bar2 foo2

Remove all files from the trashcan:

$ trash-empty

Remove only the files that have been deleted more than <days> ago:

$ trash-empty <days>

Example:

$ date
Tue Feb 19 20:26:52 CET 2008
$ trash-list
2008-02-19 20:11:34 /home/einar/today
2008-02-18 20:11:34 /home/einar/yesterday
2008-02-10 20:11:34 /home/einar/last_week
$ trash-empty 7
$ trash-list
2008-02-19 20:11:34 /home/einar/today
2008-02-18 20:11:34 /home/einar/yesterday
$ trash-empty 1
$ trash-list
2008-02-19 20:11:34 /home/einar/today

Remove only files matching a pattern:

$ trash-rm \*.o

그리고 설치방법은 아래와 같습니다. 

Installation

The easy way

Requirements:

  • Python 3 (Python 2.7 may work)
  • pip (use apt-get install python-pip on Debian, use apt install python3-pip on Ubuntu)

Installation command:

pip install trash-cli

Note: you may want add ~/.local/bin to the PATH:

echo 'export PATH="$PATH":~/.local/bin' >> ~/.bashrc
source ~/.bashrc # reload .bashrc

From sources

System-wide installation:

git clone https://github.com/andreafrancia/trash-cli.git
cd trash-cli
sudo pip install .

User-only installation:

git clone https://github.com/andreafrancia/trash-cli.git
cd trash-cli
pip install .

After the user installation you may want add this line to your .bashrc:

export PATH=~/.local/bin:"$PATH"

For uninstalling use:

pip uninstall trash-cli

From package manager

Debian/Ubuntu (apt):

sudo apt install trash-cli

 

이어서, sindresorhus/trash-cli 에 대해서 알아보면요..

github 에서는 아래와 같이 설명하고 있고요..
 - Move files and folders to the trash

한마디로, 휴지통이라고 보시면 됩니다.

설치및 사용법은 아래내용 참고하시면 되고요..

Install

npm install --global trash-cli

Usage

$ trash --help

  Usage
    $ trash <path|glob> […]

  Examples
    $ trash unicorn.png rainbow.png
    $ trash '*.png' '!unicorn.png'

팁도 설명하고 있었는데요.. (한마디로 alias 를 사용하라는 이야기죠~)

좀 더 자세한 사항은 위에서 링크로 찾아가보시면 될것 같네요..

오늘의 블로그는 여기까지고요..
항상 믿고 봐주셔서 감사합니다. 

300x250