Przyzwyczaiłem się rm
do aliasu czegoś bezpieczniejszego.
Używam osx-trash
, ale kiedy uaktualnię do Ruby 1.9.2, to przestaje działać.
Wiem o trash-cli
Pythonie, ale wolałbym coś, co przenosi pliki do folderu Kosz w OS X niż do innego katalogu.
Czy ktoś ma dobre rozwiązanie?
rm
, raczej przyzwyczaj sięmv files/to/be/deleted ~/.Trash
. Jest bezpieczny i spójny w różnych systemach.mv
nadal jest twoim najbezpieczniejszym zakładem. Możesz łatwo utworzyć nowy folder na drugiej partycji o nazwieTrash
(lub jak chcesz), a następniemv
pliki tam. Po upewnieniu się, że można je usunąć, usuń i ponownie utwórz ten kompletny folder.Odpowiedzi:
W przypadku OSX możesz użyć
safe-rm
Musisz zrobić dodatkowy krok, aby wybrać
rm
lepszą opcję niż domyślną - dodaj dowiązanie symboliczne.Dla mnie mam
/usr/local/bin:
najpierw ten sam katalog cosafe-rm
installDodaj dowiązanie symboliczne do
safe-rm
Aby usunąć i przywrócić ustawienia domyślne
rm
, możesz usunąć dowiązanie symbolicznerm /usr/local/bin/rm
Plik konfiguracyjny można dodać pod adresem
/etc/safe-rm.conf
na przykład:
Przetestuj z
rm -rf /test
nim spowoduje odmowę usunięcia zsafe-rm.conf
źródło
/
do listy ścieżek, których nie należy usuwać, aby zapobiec klasycznemu rm -fr /hasseg.org/trash to narzędzie Objective-C, takie jak osx-trash .
Napisałem funkcję powłoki, która nie zastępuje plików tak
mv * ~/.Trash
, jak by to zrobiła. Zawsze jednak przenosi elementy do woluminu początkowego.źródło
Wprowadzenie (możesz to pominąć)
Dla mnie
rm -i
wystarczy, ponieważ monituje cię przed usunięciem dowolnego pliku. Jednak pewne dodatkowe zabezpieczenia zapewnione przezsafe-rm
wcale nie są złym pomysłem.Proste
alias
jakrm=safe-rm -i
mogłoby być wystarczające, jednakrm -rf
nie zadziałałoby, ponieważ-i
zostało zastąpione przez-f
.Musimy więc upewnić się, że
-i
zawsze nastąpi to później-f
!Moje rozwiązanie (3 kroki):
Zainstaluj safe-rm:
brew install safe-rm
Nadal możesz pracować
rm
, ale zmodyfikowałeśRM_BIN
w następnym krokuEdytuj swój
~/.profile
(lub bash_profile lub cokolwiek) i umieść następujący fragment kodu, (który zawiera analias
i afunction
):Wreszcie ,
logout
alogin
więc są stosowane aktualizacje w .profile. NIE używaj go przed wylogowaniem / zalogowaniem!Uwagi:
-rf
z wyrażeniami regularnymi.rm -rf
BEZ pytania o każdy pojedynczy plik / folder, którego możesz nadal używać/bin/rm -rf
(lubsafe-rm -rf
jeśli go zainstalowałeś).rm -rf
lubrm *
;)źródło