Konieczność znalezienia konkretnego pliku pod Linuxem pojawia się niespotykanie często. Co prawda na ogół sprowadza się do odszukania tych o wskazanej nazwie bądź rozszerzeniu ale wachlarz możliwości jest dużo, dużo większy.
Chesz przetestować działanie poniższych instrukcji, a nie masz dostępu do serwera Linuxowego? Po rejestacji na DigitalOcean otrzymasz 100 dolarów do wykorzystania w ciągu 60 dni, a z przyjaznym interfejsem uruchomisz ulubioną dystrybucję w ciągu paru minut.
W tym celu w systemach Linuxowych wykorzystywany jest find obsługujący też kryteria bazujące na rozmiarze, właścicielu lub grupie, dacie utworzenia albo modyfikacji, nadanych uprawnieniach i wielu innych.
sudo
.
Find wypisuje pasujące do kryteriów pliki i katalogi znajdujące się we wskazanej lokalizacji, a w przypadku jej pominięcia zostanie użyta aktualnie wybrana. Szukanie zawsze jest rekursywne, to znaczy z podkatalogami, ale można to zmienić za pomocą parametru -maxdepth 1
. Możliwości programu najlepiej zobrazują poniższe przykłady.
#Znalezienie elementów o nazwie dane.txt w aktualnym katalogu
radek@centos.local:~$ find -name dane.txt
#Wyszukanie wszystkich elementów o nazwie dane.txt
radek@centos.local:~$ find / -name dane.txt
#Odnalezienie plików o rozszerzeniu txt w aktualnym katalogu
radek@centos.local:~$ find -name *.txt -type f
#Wypisanie wszystkich katalogów o nazwie nginx
radek@centos.local:~$ find -name nginx -type d
#Znalezienie wszystkich plików większych niż 100 megabajtów
radek@centos.local:~$ find / -size +100M -type f
#Odszukanie elementów których właścicielem jest franciszek w aktualnym katalogu
radek@centos.local:~$ find -user franciszek
#Wypisanie wszystkich elementów z uprawnieniami 777 (odczyt, zapis i wykonanie dla wszystkich)
radek@centos.local:~$ sudo find / -perm 0777
Dzięki za wpis!