Witam, kiedyś z nudów popełniłem coś w tym stylu wykorzystując Python'a:
#!/usr/bin/python
import os
if __name__ == '__main__':
print
dir = raw_input('>>> Katalog : ')
name = raw_input('>>> Plik : ')
print
def dir_list_folder(dir, name):
dirList = []
for fn in os.listdir(dir):
dirfile = os.path.join(dir, fn)
if os.path.isdir(dirfile):
dir_list_folder(dirfile, name)
if os.path.isfile(dirfile):
if fn == name:
print "[+] Lokalizacja : %s " % dirfile
fsize = os.path.getsize(dirfile)
print "[+] Rozmiar : %0.1f kb" % float(fsize/1024.0)
print
return dirList
if __name__ == '__main__':
for item in dir_list_folder(dir, name):
print item
Skrypt pyta użytkownika o nazwę pliku oraz lokalizację. Przykład
$ ./fsearcher
>>> Katalog : /home/ # wskazujemy miejsce, w którym chcemy szukać danego pliku [Enter];
>>> Plik : example.txt # podajemy nazwę pliku [Enter];
[+] Lokalizacja : /home/płomyk/example.txt
[+] Rozmiar : 0.9 kb
Oczywiście można rozwinąć wachlarz ewentualnych dodatkowych funkcji (np. dodać informacje o nieznalezionym pliku, odróżnianie plików od folderów itd). Ja potrzebowałem jedynie tych dwóch: lokalizacja oraz rozmiar pliku.
Zauważ, że skrypt "nie toleruje" podania nazwy pliku np. jako example.*!. Niestety nie pomyślałem nawet o tym pisząc ten kod, tak więc jego działanie jest bardzo podstawowe i okrojone.
Jeżeli zdecydujesz się z niego skorzystać, po prostu utwórz plik tekstowy, wklej kod, zapisz, nadaj mu prawo wykonywania wykorzystując polecenie
chmod +x fsearcher (oczywiście nazwa jest dowolna!) i uruchom tak jak jest to podane w przykładzie -
./fsearcher.
Mała uwaga. Myślę, że lepszym rozwiązaniem będzie uruchamianie tego skryptu jako root, ze względu na errory, dotyczące braku uprawnień "zwykłego" użytkownika do niektórych katalogów itd. Ewentualnie można wykorzystać
sudo.