Alias (Mac OS) - Alias (Mac OS)
![]() | tento článek potřebuje další citace pro ověření.Květen 2010) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
![]() | Tento článek obsahuje seznam obecných Reference, ale zůstává z velké části neověřený, protože postrádá dostatečné odpovídající vložené citace.Dubna 2009) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Typový kód | alis |
---|---|
Jednotný identifikátor typu (UTI) | com.apple.alias-soubor |
Magické číslo | 'book 0 0 0 0mark 0 0 0 0' |
Vyvinul | Apple, Inc. |
Typ formátu | zkratka |
v klasický Mac OS Systém 7 a později a v Operační Systém Mac, an alias je malý soubor, který představuje jiný objekt v místním, vzdáleném nebo vyměnitelném[1] souborový systém a poskytuje k němu dynamický odkaz; cílový objekt může být přesunut nebo přejmenován a alias na něj bude i nadále odkazovat (pokud není znovu vytvořen původní soubor; takový alias je nejednoznačný a způsob jeho řešení závisí na verzi systému macOS). Ve Windows, a "zkratka", soubor s příponou .lnk, provádí podobnou funkci.
Je to podobné jako u Unix symbolický odkaz, ale s tím rozdílem, že pracuje, i když se cílový soubor přesune na jiné místo na stejném disku (v tomto případě funguje jako pevný odkaz, ale zdroj a cíl odkazu mohou být v různých souborových systémech a cílem odkazu může být adresář). Jako potomek BSD, macOS podporuje také symbolické (a pevné) odkazy Unixu.
Funkce
Alias funguje jako záskok pro jakýkoli objekt v systému souborů, například a dokument, an aplikace, a složku, a pevný disk, a sdílení v síti nebo vyměnitelné médium nebo a tiskárna. Po dvojitém kliknutí bude počítač fungovat stejně, jako kdyby byl dvakrát kliknut na původní soubor. Podobně výběr aliasového souboru v rámci 'File Open' dialogové okno otevře původní soubor. Účelem aliasu je pomoci uživateli při správě velkého počtu souborů poskytnutím alternativních způsobů přístupu k nim bez nutnosti kopírovat samotné soubory. Zatímco typický alias v klasickém Mac OS byl malý, mezi 1 a 5 KB, v macOS může být poměrně velký, více než 5 MB (5 000 KB) pro alias do složky.
Zabránění selhání aliasu
Alias je dynamický odkaz na objekt. Originál lze přesunout na jiné místo ve stejném souborovém systému, aniž by byl přerušen odkaz. The operační systém ukládá několik informací o originálu do souboru vidlice zdroje souboru aliasu. Příklady informací použitých k vyhledání originálu jsou:
- cesta
- ID souboru (číslo inodu)
- ID adresáře (číslo inodu)
- název
- velikost souboru
Jelikož se některá z těchto vlastností může změnit bez vědomí počítače, v důsledku činnosti uživatele se k nalezení nejpravděpodobnějšího cíle používají různé vyhledávací algoritmy. Tato odolnost proti chybám nastavuje alias na rozdíl od podobných funkcí v některých jiných operačních systémech, jako je Unix symbolický odkaz nebo Microsoft Windows zkratka, na úkor zvýšené složitosti a nepředvídatelnosti. Například aplikaci lze přesunout z jednoho adresáře do druhého ve stejném souborovém systému, ale existující alias by po poklepání stále spustil stejnou aplikaci.
Může vyvstat otázka, jak by měl alias fungovat, pokud je soubor přesunut, a poté je vytvořen soubor se stejným názvem jako původní přesunutý soubor, protože alias lze použít k vyhledání původního názvu i nového umístění souboru původní soubor. U symbolických odkazů je odkaz jednoznačný (měkké odkazy odkazují na nový soubor, pevné odkazy k původnímu). Před Mac OS X 10.2 by však takový nejednoznačný alias konzistentně našel původní přesunutý soubor, spíše než znovu vytvořený soubor. V systému Mac OS X 10.2 a novějších verzích je nalezen nový soubor, který odpovídá chování symbolických odkazů [1]. aplikace macOS mohou v případě potřeby programově použít staré chování.
Aliasy jsou v provozu podobné jako stíny v grafické Shell na pracovišti z OS / 2 operační systém.
Rozlišovací znaky
V systému 7 až Mac OS 9, aliasy se vizuálně odlišovaly od uživatele tím, že jejich názvy souborů byly psány kurzívou. Přizpůsobit jazyky, které nemají kurzívu (např japonský ), v Mac OS 8.5 byla přidána další rozlišovací značka, odznak s „aliasovou šipkou“ - černou šipkou s malým bílým okrajem - podobný tomu, který se používá pro zkratky v systému Microsoft Windows.
v Operační Systém Mac, názvy aliasů nejsou kurzívou, ale odznak se šipkou zůstane.
Struktura souborů
Aliasové soubory v systému macOS začínají magické číslo 62 6F 6F 6B 00 00 00 00 6D 61 72 6B 00 00 00 00
který je v ASCII záložka␀␀␀␀
(␀ zastupující Nulový charakter ).
Po magickém čísle bylo hlášeno, že alias má v sobě sadu záznamů, každý záznam je dlouhý 150 bajtů a skládá se z níže zobrazených polí (všechna celá čísla jsou velká endian).[2] Aliasové soubory jsou však mnohem větší, než by vysvětlovalo, a obsahují další informace, alespoň včetně ikon.[3][4]
- 4 bajty název typu uživatele / kód tvůrce aplikace = dlouhý textový řetězec ASCII (žádný = 0)
- 2 bajtová velikost záznamu = krátká celková délka bez znaménka
- 2 bajtová verze záznamu = krátká celočíselná verze (aktuální verze = 2)
- 2 bajty alias druh = krátká celočíselná hodnota (soubor = 0; adresář = 1)
- 1 byte volume name string length = byte unsigned length
- 27 bajtů řetězec názvu svazku (pokud je řetězec názvu svazku <27 znaků, pak pad s nulami)
- 4 bajty vytvořený objem mac date = dlouhá nepodepsaná hodnota v sekundách od začátku roku 1904 do roku 2040
- 2 bajtový podpis svazku = krátká nepodepsaná hodnota HFS
- 2bajtový typ svazku = krátká celočíselná hodnota systému Mac OS (typy jsou pevné HD = 0; síťový disk = 1; 400 kB FD = 2; 800 kB FD = 3; 1,4 MB FD = 4; jiná vysunutelná média = 5)
- 4 bajty id nadřazeného adresáře = dlouhá nepodepsaná hodnota HFS
- 1 bajt název souboru délka řetězce = bajt nepodepsaná délka
- 63 bajtů řetězec názvu souboru (pokud je řetězec názvu souboru <63 znaků, pak pad s nulami)
- 4 bajty číslo souboru = dlouhá nepodepsaná hodnota HFS
- 4 bajty vytvořený soubor mac date = dlouhá nepodepsaná hodnota během několika sekund od začátku roku 1904 do roku 2040
- 4 bajty název typu souboru = dlouhý textový řetězec ASCII
- 4 bajty jméno tvůrce souboru = dlouhý textový řetězec ASCII
- 2 bajty nlvl Od (adresáře od aliasu přes root) = krátký celočíselný rozsah
- 2 bajty nlvl To (adresáře z kořenového adresáře na zdroj) = krátký celočíselný rozsah (pokud je alias na jiném svazku nastaven výše na -1)
- Atributy objemu 4 bajty = dlouhé hexadecimální příznaky
- 2 bajtový souborový systém ID = krátká celočíselná hodnota HFS
- 10 bajtů rezervováno = 80bitová hodnota nastavena na nulu
- 4+ bajty volitelné extra datové řetězce = krátký celočíselný typ + krátká nepodepsaná délka řetězce (typy jsou Extended Info End = -1; název adresáře = 0; ID adresáře = 1; absolutní cesta = 2; název zóny AppleShare = 3; název serveru AppleShare = 4; Uživatelské jméno AppleShare = 5; Název ovladače = 6; Upravené informace o AppleShare = 9; Informace o vytáčeném připojení AppleRemoteAccess = 10)
- string data = hex dump
- liché délky mají 1 bajt lichý řetězec délka pad = hodnota bajtu nastavena na nulu
Aliasová struktura záznamu mimo délku
Následující text je určen pro použití s Alias Resource Managerem společnosti Apple.
- 4 bajty název typu zdroje = dlouhý textový řetězec ASCII
- 2 bajty ID zdroje = krátká celočíselná hodnota
- 2 bajtová koncová podložka zdroje = krátká hodnota nastavena na nulu
Kód Java k označení aliasového souboru
// Tato funkce kontroluje, zda soubor odpovídá aliasovému magickému číslu.veřejnost statický booleovský checkForMacAliasFile(Soubor vložte soubor) hodí FileNotFoundException, IOException { // Aliasy mohou být pouze soubory. // Netestujte adresáře; budou falešné. -li (vložte soubor.isFile()) { byte[] záložka do knihy = Nový byte[] { 0x62, 0x6F, 0x6F, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x72, 0x6B, 0x00, 0x00, 0x00, 0x00 }; dlouho délka = vložte soubor.délka(); -li (délka > 16) { byte[] výsledek = Nový byte[16]; FileInputStream fis = Nový FileInputStream(vložte soubor); fis.číst(výsledek); fis.zavřít(); vrátit se Pole.rovná se(výsledek, záložka do knihy); } } vrátit se Nepravdivé;}
Tady je github repo s fungujícím C ++ kódem zde.
Správa aliasů
Uživatelské rozhraní
V systému 7 byl jediný způsob, jak vytvořit alias, výběr originálu a výběr „Vytvořit alias“ z nabídky „Soubor“. Alias se stejným názvem a připojeným „aliasem“ by pak byl vytvořen ve stejné složce. V pozdějších verzích bylo možné vytvořit aliasy pomocí drag-and-drop, zatímco držíte stisknuté klávesy modifikátoru příkazů a možností.
Mac OS 8.5 přidal funkci pro opětovné připojení aliasů, které byly z nějakého důvodu přerušeny (když jednoduché vyhledávací algoritmy nenalezly spolehlivou náhradu). To bylo provedeno výběrem nového cíle prostřednictvím standardního dialogu Otevřít soubor.
V systému Mac OS 8.5 byly přidány možnosti pro příkaz -volba tažení objekt ve Finderu a vytvořit alias na tomto místě. To je místo, kde alias kurzor byl přidán do systému. Kurzor zrcadlí vzhled kurzoru „vytvořit zástupce“ v systémech Windows.
Programovací API
Alias Manager API je součástí Uhlík. Není známo, zda byl přítomen v systému Mac OS Classic.[5]
Mac OS X 10.6 představil některé API související s aliasem Kakao jako součást NSURL
.[6]
Vztah k symbolickým a pevným odkazům na BSD
Unix a podobné operační systémy poskytují 2 funkce velmi podobné aliasům macOS: symbolické odkazy a pevné odkazy. Při použití vyhledávače macOS se odkazy zobrazují a zpracovávají převážně jako aliasy pro macOS a dokonce nesou stejný atribut „Druh“. Při použití příkazového řádku prostředí však nejsou rozpoznány aliasy macOS: například nemůžete použít CD příkaz se jménem aliasového souboru. Je to proto, že alias je implementován jako soubor na disku, který musí být interpretován API, zatímco odkazy jsou implementovány v souborovém systému, a jsou tedy funkční na jakékoli úrovni operačního systému.
V současné době neexistuje žádný předinstalovaný příkaz k vyřešení aliasu k cestě k souboru nebo adresáři, na který odkazuje. Volně dostupný program C však využívá Mac Uhlík API k provedení tohoto úkolu.[7] Vzhledem k tomu, příkazy jako CD lze nastavit pro kontrolu aliasů a zacházení s nimi jako se symbolickými nebo pevnými odkazy.
Reference
- ^ Soubory: Kapitola 4 - Alias Manager; Vyhledávací strategie — Uvnitř Macintosh dokumentace pro vývojáře
- ^ Některé informace o aliasech MacOS shromážděné z webu. (zpětné inženýrské úsilí)
- ^ Diskuse na fóru o velké velikosti aliasů.
- ^ „Další podrobnosti, včetně změn v různých verzích systému Mac OS“. Archivovány od originál dne 2013-04-30. Citováno 2018-10-11.
- ^ „Správce aliasu“. Dokumentace pro vývojáře Apple.
- ^ https://github.com/nathanday/ndalias/issues/3
- ^ Davis, Thos. „getTrueName.c“. Tipy pro Mac OS X.. IDG. Citováno 24. října 2016.
externí odkazy
- Aliasy systému 7 - Článek o aliasech systému 7 z roku 1992