fs_usage
jest twoim narzędziem do tego.
Narzędzie użytkowania systemu plików jest idealne, ponieważ wykorzystuje zdarzenia systemu plików w czasie rzeczywistym i zrzuca aktywność do pliku lub ekranu. Ponieważ znasz dokładną ścieżkę do pliku, możesz odfiltrować wszystkie tysiące nieistotnych (w tym przypadku) zmian w systemie plików i dość szybko zobaczyć, co czyta / zapisuje do tego pliku.
Jeśli twój katalog domowy to /Users/me
, możesz filtrować według/Users/me/aa
mac:~ me$ sudo fs_usage | grep /Users/me/aa
09:35:21 stat64 /Users/me/aa 0.000033 touch
09:35:21 utimes /Users/me/aa 0.000104 touch
09:35:21 fsgetpath /Users/me/aa 0.000119 Finder
09:35:22 lstat64 /Users/me/aa 0.000039 fseventsd
09:35:22 fsgetpath /Users/me/aa 0.000027 mds
09:35:22 getattrlist /Users/me/aa 0.000064 mds
09:35:22 listxattr /Users/me/aa 0.000012 mds
09:35:22 getattrlist /Users/me/aa 0.000130 mds
09:35:22 getattrlist /Users/me/aa 0.000033 mds
09:35:22 open /Users/me/aa 0.000071 mdworker_sha
09:35:22 RdData[AT2] /Users/me/aa 0.000331 W mdworker_sha
09:35:22 getattrlist /Users/me/aa 0.000042 mds
09:35:24 lstat64 /Users/me/aa 0.000114 rm
09:35:24 access /Users/me/aa 0.000209 rm
09:35:24 unlink /Users/me/aa 0.000909 rm
09:35:25 lstat64 /Users/me/aa 0.000042 fseventsd
09:35:25 lstat64 /Users/me/aa 0.000006 rm
(uwaga: usunąłem dużo białych spacji powyżej - polecenie fs_usage wyświetla dużą ilość pustego miejsca, więc nie można łatwo zobaczyć polecenia touch po prawej stronie, jeśli skopiuję / wkleję dokładne dane wyjściowe.)
Tutaj używam touch
polecenia do utworzenia pliku, dołączam do niego ciąg, a następnie rm
z wiersza poleceń.
mac:~ me$ touch ~/aa
mac:~ me$ echo foo >> ~/aa
mac:~ me$ rm ~/aa
Będzie mnóstwo innych aplikacji, które będą czytać, więc możesz filtrować operacje stat64 i lstat74 , jeśli po utworzeniu pliku jest zbyt wiele odczytów atrybutów i działania reflektorów.
Strona podręcznika dla tego polecenia jest dość gęsta (a nie „poradnikiem”), co jest typowe, ale lepsze niż brak dokumentacji od Apple na temat korzystania z niego.