|
Ik ben eigenlijk alleen bekend met de HP-UX versie, maar ik ben gissen dat Linux versie moet vergelijkbaar. HP's mvdir is beperkt tot het werken in een bestandssysteem ... nooit tussen bestandssystemen. Om het te begrijpen, de eerste Unix uitvoering van het ... Als u / moeder / A, die heeft een hoop bestanden in en u verplaatsen naar / moeder / B, de originele versie zou zich beroepen op de link system call en link A naar B. Op dit punt, zowel A en B bestaan en zij zijn slechts twee namen voor dezelfde directory. Vervolgens zo spoedig mogelijk, zou unlink A. Dit zou net B. De operatie duurde twee zeer snelle systeem oproepen. Dit was niet atoom. Tussen het systeem oproepen, het bestandssysteem in een illegale staat. A en B mogen niet worden links naar dezelfde directory, zelfs gedurende een milliseconde. Vandaag, in plaats van twee system calls, gebruiken we gewoon een ... en de naam (). Dit is absoluut atoom. Voor alle opzichten Een rechtvaardige morfen naar B. A en B moet in hetzelfde bestandssysteem, maar niet noodzakelijkerwijs dezelfde exacte moedermaatschappij zoals ik al heb aangegeven hier.
|