Nie zrobisz tego w domyślnym menadżerze plików

Wpis może rozpocznie serię artykułów z cyklu w konsoli lepiej, jako iż jest to ostatnio dosyć modny temat, a nikt go nie wyczerpuje lub przykłady są nieco niepraktyczne. Oczywiście będę opisywać powłokę tekstową Bash, domyślnie instalowaną w wielu dystrybucjach Linuksa, mogącą pracować w trybie kompatybilności /bin/sh .

Zaczniemy od zakładania struktury katalogów, jako iż wszelkie operacje w menadżerze plików dokonujemy na katalogach lub otwieramy pliki w zewnętrznych programach.

Do założenia hierarchicznej struktury katalogów służy:


mkdir -p Media/{Ważne,Ciekawe}/{Filmy,Dźwięki,Zdjęcia} Dokumenty/Ważne

Powyższe polecenie utworzy nam 9 katalogów. Katalog Media będzie mieć następującą strukturę:
Media/Ważne/Filmy
Media/Ważne/Dźwięki
Media/Ważne/Zdjęcia
Media/Ciekawe/Filmy
Media/Ciekawe/Dźwięki
Media/Ciekawe/Zdjęcia

Katalog Dokumenty natomiast:
Dokumenty/Ważne

Kolejnym etapem jest wyszukiwanie z ograniczeniami. W większości narzędzi graficznych dołączanych do systemów operacyjnych nie mamy zbyt wielu opcji do ograniczenia parametrów wyszukiwania plików, jak choćby głębokości


find . -maxdepth 2 -name *.txt 

Spowoduje znalezienie plików z rozszerzeniem txt w naszym katalogu, jak i w bezpośrednich dzieciach.

W wielu narzędziach konsolowych możemy odnaleźć opcje odnoszące się do zachowania w przypadku napotkania dowiązania symbolicznego. Mało programów graficznych, w tym menadżerów plików pozwala na ustawianie takich opcji. Jednym z chlubnych przykładów programów zezwalających ustawianie opcji z tym związanych jest K3B.
Tutaj znowu możemy programowi find narzucić podążanie za dowiązaniami symbolicznymi bądź nie.

Szybkie kopiowanie do katalogu domowego jest osiągalne w środowisku tekstowym. O ile szanuję swój Pulpit, i nie trzymam śmieci, to o tyle mam inne zdanie odnośnie korzenia mojego katalogu domowego (kropki). Można tam na szybko coś skopiować, i się nie przejmować tym, że zajmuje nam miejsce na pulpicie, a my nie mamy czasu. Trzeba jednak pamiętać o regularnym dzieleniu plików na odpowiednie podkatalogi.


cp pliczek ~

Wyświetlanie wszystkich pliczków danego typu


file * | grep -E '[mM]ovie|[fF]lash|[vV]ideo'

Segrecja plików w rzeczywistości, jak i bez ingerencji.
Bez ingerencji:


mkdir -p ~/pendrive/{PDFy,Filmy,Muzyka}
find /media/pendrive -name '*' -print0 | xargs -0 /bin/sh -c ' while [ ! ${#@} -eq 0 ]; do if file "$1" | grep -E [mM]ovie|[fF]lash|[vV]ideo; then ln -s "$1" ~/pendrive/Filmy/; elif  file "$1" | grep -E [mM]usic|[vV]oice|[sS]pech|AAC; then ln -s "$1" ~/pendrive/Muzyka/; elif  file "$1" | grep -E [pP]ostscript|[dD]ocument; then ln -s "$1" ~/pendrive/Dokumenty; fi ' --

W powyższym przykładzie nie zapobiegamy konfliktom nazw!! Może zdarzyć się, że jakiś z dokumentów nie będzie dostępny.

By je segregować przenosząc do odpowiedniego katalogu, to wystarczy ciąg ln -s zastąpić przez cp .
Rozwiązać problemy z nazwami można wrzucając dowiązania do nowo utworzonego katalogu w katalogu dokumentu źródłowego. Jednak osiągnięcie celu wymagałoby zbyt wielu przeróbek.

Segregacje plików można wykorzystywać do porządkowania plików zapisanych bezpośrednio w katalogu domowym. Nie można jednak mu zaufać całkowicie, bo wtedy nie naprawiamy bałaganu - najpierw trzeba przenosić dokumenty, które mają dla nas szczególne znaczenie ręcznie.