Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Software
Mac OS X Tiger - Spotlight pod drobnohledem (4) - skryté možnosti Terminalu
20. května 2005, 00.00 | V dnešním díle se podíváme na to, jak Spotlight využít v Terminalu a jak jej mít opravdu maximálně pod kontrolou. Ukážeme si, jak indexovat síťové disky, iPod nebo jak se dozvědět, jaké informace Spotlight o konkrétním souboru spravuje.
V dnešním díle se podíváme na to, jak Spotlight využít v Terminalu a jak jej mít opravdu maximálně pod kontrolou. Ukážeme si, jak indexovat síťové disky, iPod nebo jak se dozvědět, jaké informace Spotlight o konkrétním souboru spravuje.
Pokud chcete mít nad Spotlightem větší kontrolu, budete muset spustit Terminal a využít následující tři příkazy:
mdls - vypíše seznam metadat, která jsou asociována s daným dokumentem
mdfind - vyhledávání pomocí Spotlightu s řadou možností
mdutil - utilita pro správu indexů Spotlightu
mdimport - slouží pro import dat ze souborových metadat
Občas se vám může stát, že budete chtít svůj pevný disk přeindexovat, ale jak Spotlight donutit, aby něco takového provedl? Nejjednodušší možností je v předvolbách Spotlightu v záložce Privacy přidat celý disk, který chcete znovu "proskenovat" a následně jej z tohoto panelu odstranit. Spotlight se po chvíli pustí do práce a obsah disku či logického oddílu si celý znovu zaindexuje.
Další možností je z kořenového adresáře disku (nebo logického oddílu) odstranit skrytou složku '.Spotlight-V100', která obsahuje index daného disku. Tím, že tuto složku odstraníte, odpojíte disk a následně jej zase připojíte, dojde k tomu, že Spotlight si tuto složku vytvoří znovu se zcela novým indexem. Pro odstranění budete potřebovat administrátorská práva a určitou znalost Terminalu.
A aby těch možností nebylo málo, je tu ještě zmiňovaný mdutil, který svou práci splní stejně dobře:
sudo mdutil -E /
Tímto příkazem dojde k vymazání indexu na startovacím disku a k vytvoření nového indexu - symbol '/' označuje kořenový adresář, ale je možné jej nahradit třeba externím diskem - např.: '/Volumes/Firewire_disk'
sudo mdutil -s /
Tímto příkazem zjistíte, zda je indexovaní na daném disku povoleno, či nikoliv. Stejně jako v předchozím případě lze '/' nahradit cestou k disku/logickému oddílu.
sudo mdutil -i on /
zapne indexování na daném disku
sudo mdutil -i off /
vypne indexování na daném disku
Pokud chcete nový index jen v určitém místě (konkrétní složce), slouží k tomu příkaz mdimport.
mdimport ~/Documents
Tímto příkazem dojde k indexování složky Dokumenty v domovském adresáři.
mdimport -r /Library/Spotlight/AppleWorks.mdimporter
Tímto příkaz zindexujete všechny AppleWorksové dokumenty v celém počítači.
mdimport -L
Ukáže seznam všech podporovaných importérů metadat.
sudo mdimport -f /Volumes/your_iPod/iPod_control/
Pokud 'your_iPod' nahradíte názvem svého iPodu, tak jej Spotlight proskenuje a nalezené písničky (jež jsou ve skryté složce) přidá do své databáze a vy pak můžete obsah iPodu prohledávat a písně z něj lehce kopírovat na pevný disk. Stejnou službu vám udělá i Spodlight.
mdutil /Volumes/ldm -i on
Jestliže 'lmd' nahradíte názvem připojeného síťového disku, zapnete na něm indexování a během chvilky jej Spotlight začne prohledávat a ukládat si získané informace. Po skončení indexace se síťovým diskem můžete pracovat jako s připojeným FireWire diskem - to znamená, že Spotlight na něm bude prohledávat i obsah souborů.
Pro kontrolu ještě můžete dát:
mdutil /Volumes/ldm -s
a měli byste získat odpověď:
/Volumes/ldm/: Status: Indexing Enabled
Jen je potřeba upozornit, že v případě síťových disků může docházet k nepřesným výsledkům vyhledáváni. To je způsobeno tím, že s obsahem takového disku mohou pracovat různí uživatelé z různých operačních systému a index nemusí být vždy aktuální! Tento postup pravděpodobně nefunguje s připojením přes SAMBU, ale pouze s AFP.
Co Spotlight spravuje?
Pokud vás zajímá, jaká data Spotlight o konkrétním souboru spravuje, respektive jaká metadata, budete potřebovat použít příkaz mdls.
titanium:~/desktop mario$ mdls Dashboard_Tutorial.pdfVýsledkem je seznam všech metadat, která o daném souboru Spotlight ve své databázi má (a ta se liší dle druhu souboru).Dashboard_Tutorial.pdf ------------- kMDItemAttributeChangeDate = 2005-05-06 18:45:07 +0200 kMDItemAuthors = ("Apple Computer, Inc.") kMDItemContentCreationDate = 2005-05-06 16:43:05 +0200 kMDItemContentModificationDate = 2005-05-06 16:43:05 +0200 kMDItemContentType = "com.adobe.pdf" kMDItemContentTypeTree = ( "com.adobe.pdf", "public.data", "public.item", "public.composite-content", "public.content" ) kMDItemCreator = "Unknown" kMDItemDisplayName = "Dashboard_Tutorial.pdf" kMDItemEncodingApplications = ("XEP 4.2 build 20050228") kMDItemFSContentChangeDate = 2005-05-06 16:43:05 +0200 kMDItemFSCreationDate = 2005-05-06 16:43:05 +0200 kMDItemFSCreatorCode = 0 kMDItemFSFinderFlags = 0 kMDItemFSInvisible = 0 kMDItemFSLabel = 0 kMDItemFSName = "Dashboard_Tutorial.pdf" kMDItemFSNodeCount = 0 kMDItemFSOwnerGroupID = 501 kMDItemFSOwnerUserID = 501 kMDItemFSSize = 1940636 kMDItemFSTypeCode = 0 kMDItemID = 944985 kMDItemKind = "PDF Document" kMDItemLastUsedDate = 2005-05-06 18:45:07 +0200 kMDItemNumberOfPages = 74 kMDItemPageHeight = 792 kMDItemPageWidth = 612 kMDItemSecurityMethod = "None" kMDItemTitle = "Dashboard Programming Guide" kMDItemUsedDates = (2005-05-06 16:43:05 +0200, 2005-05-06 02:00:00 +0200) kMDItemVersion = "1.4"
Jak je vidět, u obrázku (.jpg) získáme zcela jiný výsledek než u výše popsaného PDF:
kMDItemAcquisitionMake = "CASIO COMPUTER CO.,LTD " kMDItemAcquisitionModel = "EX-Z40 " kMDItemAttributeChangeDate = 2005-05-17 18:22:42 +0200 kMDItemBitsPerSample = 32 kMDItemColorSpace = "RGB" kMDItemContentCreationDate = 2005-05-14 17:10:56 +0200 kMDItemContentModificationDate = 2005-05-14 17:10:56 +0200 kMDItemContentType = "public.jpeg" kMDItemContentTypeTree = ("public.jpeg", "public.image", "public.data", "public.item", "public.content") kMDItemDisplayName = "CIMG2896.JPG" kMDItemEXIFVersion = "2.2.1" kMDItemExposureMode = 0 kMDItemExposureTimeSeconds = 0.01 kMDItemFlashOnOff = 1 kMDItemFocalLength = 5.8 kMDItemFSContentChangeDate = 2005-05-14 17:10:56 +0200 kMDItemFSCreationDate = 2005-05-14 17:10:56 +0200 kMDItemFSCreatorCode = 0 kMDItemFSFinderFlags = 1024 kMDItemFSInvisible = 0 kMDItemFSLabel = 0 kMDItemFSName = "CIMG2896.JPG" kMDItemFSNodeCount = 0 kMDItemFSOwnerGroupID = 501 kMDItemFSOwnerUserID = 501 kMDItemFSSize = 1906280 kMDItemFSTypeCode = 0 kMDItemHasAlphaChannel = 0 kMDItemID = 1106891 kMDItemKind = "JPEG Image" kMDItemLastUsedDate = 2005-05-17 18:22:36 +0200 kMDItemOrientation = 0 kMDItemPixelHeight = 1728 kMDItemPixelWidth = 2304 kMDItemRedEyeOnOff = 0 kMDItemResolutionHeightDPI = 72 kMDItemResolutionWidthDPI = 72 kMDItemUsedDates = (2005-05-17 18:22:36 +0200) kMDItemWhiteBalance = 0
V levé části jsou vidět jednotlivé atributy a vpravo jejich hodnoty. Tyto atributy lze využít a zadat je i při vyhledávání - a to jak přímo ve Spotlightu (přes Jablíčko-F, zvolit other... a vybrat je v poněkud "lidštější podobě"), nebo přímo v Terminalu za pomoci mdfind.
Ukázka takového vyhledávání:
$ mdfind -onlyin ~ "(kMDItemFSName =='*.htm*') && (kMDItemFSName !='*Favorites*')"Nalezne všechny soubory v domovské složce obsahující v názvu '.htm' a zároveň nemající v názvu 'Favorites'.
$ mdfind -onlyin ~/Desktop/Test "kMDItemContentTypeTree = 'public.text'"Nalezne všechny textové dokumenty ve složce Test na ploše.
$ mdfind "kMDItemFSLabel != '6'"Nalezne všechny soubory, které mají visačku číslo 6 (jedna z barev).
Zde je patrné, že pro uživatele Terminalu přináší Spotlight velmi silnou zbraň, která dokáže velice urychlit a zjednodušit práci. Bez problému lze používat i logické operátory (NOT !=, AND &&, OR ||, větší > a podobně).
Tímto dílem ukončíme seriál věnovaný Spotlightu a jeho integraci do Mac OS X. Na závěr jsme nakousli téma Raw Queries, které je již hodně specializované a více se o něm můžete dozvědět na vývojářských stránkách společnosti Apple. Pokud bude z vaší strany zájem, můžeme seriál rozšířit a blíže se podívat i na tuto oblast práce se Spotlightem.
Obsah seriálu (více o seriálu):
- Tiger, Tiger, burning bright...
- Mac OS X 10.4 Tiger - Co přinášejí jaderná data
- Mac OS X 10.4 Tiger - Nedělejte dvakrát, co stačí udělat jednou - Automator
- Mac OS X 10.4 Tiger - Automator a programátor
- Mac OS X Tiger - první dojmy (1)
- Mac OS X Tiger - první dojmy (2)
- Mac OS X Tiger - Textové služby
- Mac OS X Tiger - první dojmy (3)
- Mac OS X Tiger - Spotlight pod drobnohledem (1)
- Mac OS X Tiger - Spotlight pod drobnohledem (2)
- Mac OS X Tiger - Spotlight pod drobnohledem (3) - Tipy a triky
- Mac OS X Tiger - Spotlight pod drobnohledem (4) - skryté možnosti Terminalu
- Mac OS X Tiger v kanceláři (1) - Tipy a triky pro Mail z tygří klece