Hard link

A számítástechnikában a hard link, microsoftos terminológiában rögzített hivatkozás egy hivatkozás vagy mutató egy adattároló eszközön elérhető adatra. A legtöbb fájlrendszerben az elnevezett fájlok hard linkek. A fájl neve csak egy címke, amely az operációs rendszer számára egy adatra utal. Ennek megfelelően ugyanazt az adatot több néven is jelölhetjük. Ez azt is okozza, hogy az adaton végrehajtott változtatások megmaradnak akkor is, ha a fájl új nevet kap a későbbiekben. Hard linkkel csak azonos fájlrendszerben létező adatra lehet hivatkozni.

Unix alatt hard link a link() rendszerhívás vagy az ln utasítás segítségével hozható létre.

Windows alatt a NTFSben az fsutil hardlink [1] (csak Windows XP), az mklink utasítással [2][halott link] (Windows Vista) vagy például a FAR Managerrel [3] hard linkelhetünk.

Az unlinking megszünteti a hard linket, vagyis szétválasztja a nevet az adattól. Az adat addig marad elérhető, amíg legalább egy link mutat rá, amikor minden linket eltávolítottunk az adat helye felszabadul. Az úgynevezett undeletinggel újra létrehozhatjuk a kapcsolatot, amit megszüntettünk. (Ez nem érhető el minden rendszeren, és gyakran nem elég megbízható.)

A hivatkozásszámláló

A legtöbb hard linkeket támogató fájlrendszer hivatkozás számlálókat használ. Minden fizikai adattal együtt egy egész típusú érték kerül tárolásra, ami az adatra mutató linkek számával egyenlő. Új link létrehozásakor az érték eggyel nő, link törlésekor pedig eggyel csökken. Ez segíti a felhasználót az adatvesztés megakadályozásában; emellett ez a legegyszerűbb módja, hogy a fájlrendszer egy területének a telítettségét kövessük: a nulla érték üres helyet, míg a nullától különböző értékek használatban lévő területet jelölnek.

Unix operációs rendszer alatt egy fájl vagy könyvtár hivatkozásainak száma a stat() vagy fstat() rendszerhívásokkal kérdezhető le. A visszaadott stat struktúra st_nlink mezője tartalmazza a keresett értéket. Ennek ellenére azok a programozási nyelvek, amelyek hivatkozás számlálót használnak, csak ritkán fedik fel a számláló értékét az épp futó program számára.

Példa

Az ábrán két fájl, LINK A.TXT és LINK B.TXT látható. Mindkét fájl ugyanarra a fizikai adatra mutat.

Ha a LINK A.TXT által hivatkozott fájlt megnyitjuk egy szövegszerkesztőben, módosítjuk majd elmentjük, akkor a változások a LINK B.TXT fájlban is láthatóvá válnak. Ugyanez lenne a helyzet, ha a fájlt LINK B.TXT-ként, vagy bármilyen, arra az adatra mutató fájlként módosítottuk volna.

További linkek is létrehozhatók az adathoz: a felhasználónak csak meg kell adnia egy létező link nevét - az operációs rendszer ez alapján már meg tudja állapítani a lemezen található adat helyét.

Ha eltávolítunk egy linket (például UNIX alatt az rm paranccsal), az adat továbbra is hozzáférhető marad a rá mutató, még létező linkeken keresztül. Ha az összes link törlésre kerül és egy folyamat sem tartja nyitva a fájlt, akkor a fájl által elfoglalt terület szabaddá válik, így azt később más fájlok vehetik használatba. Ez a megoldás lehetővé teszi használatban lévő fájlok törlését anélkül, hogy ez megzavarná a fájlt használó folyamatot. Ez nem lehetséges olyan fájlrendszereken, amik egy-az-egyhez kapcsolatot tartanak fönn a fájlnevek és az adatok között.

A hard linkek korlátozásai

Bizonyos esetekben a hard linkek nem bizonyulnak megfelelő megoldásnak. Mivel a link gyakorlatilag megegyezik az adattal, amire mutat, nehézkessé válik olyan parancsok kiadása, mint „listázd ki rekurzívan egy adott könyvtár teljes tartalmát, de hagyd figyelmen kívül a linkeket”. A legtöbb modern operációs rendszer tiltja a könyvtárakra mutató hard linkeket, megakadályozva ezzel az önmagába visszatérő végtelen rekurziót. (Fontos kivétel ez alól a Mac OS X 10.5 Leopard.) A hard linkek egy másik hátránya, hogy a linkeknek ugyanazon a fájlrendszeren kell elhelyezkedniük, míg manapság a nagy számítógépes rendszerek több fájlrendszert is alkalmaznak.

További információk

  • (angol) On line manual page of ln
  • (angol) Creating hard links in Windows XP Professional using fsutil
  • (angol) CreateHardLink WinAPI function – creating hard links programmatically
  • (angol) Utility to create hard links, junctions and symbolic links in Windows NT/2000/XP/Vista
  • (angol) Xplorer2 File manager that includes (among many others) a link-creation function in NT/2000/XP/Vista
Sablon:Windows-komponensek
  • m
  • v
  • sz
A Microsoft Windows komponensei
Menedzsmenteszközök
  • CMD.EXE
  • Vezérlőpult
  • Eszközkezelő
  • Lemezkarbantartó
  • Töredezettségmentesítő
  • Illesztőprogram-ellenőrző
  • Eseménynapló
  • IExpress
  • Management Console
  • Netsh
  • Windows Error Reporting
  • Recovery Console
  • Resource Monitor
  • ScanDisk
  • Sysprep
  • System Configuration
  • System File Checker
  • System Policy Editor
  • System Restore
  • Task Manager
  • Windows Easy Transfer
  • Windows Installer
  • Windows PowerShell
  • Windows Update
  • WinPE
  • WinRE
  • WMI
Alkalmazások
  • Számológép
  • Microsoft Edge
  • Character Map
  • Contacts
  • Fax and Scan
  • Internet Explorer
  • Journal
  • Magnifier
  • Media Center
  • Movie Maker
  • Media Player
  • Mobile Device Center
  • Mobility Center
  • Narrator
  • Jegyzettömb
  • OneDrive
  • Paint
  • Remote Assistance
  • Snipping Tool
  • Sound Recorder
  • Speech Recognition
  • Store
  • Windows Photo Viewer
  • Windows To Go
  • WordPad
Shell
Szolgáltatások
  • Service Control Manager
  • BITS
  • CLFS
  • Multimedia Class Scheduler
  • Shadow Copy
  • Task Scheduler
  • Error Reporting
  • Wireless Zero Configuration
Fájlrendszerek
Szerver
  • Tartományok
  • Active Directory
  • Csoportházirend
  • DNS
  • Roaming user profiles
  • Folder redirection
  • Distributed Transaction Coordinator
  • MSMQ
  • Windows Media Services
  • Rights Management Services
  • IIS
  • Remote Desktop Services
  • WSUS
  • SharePoint
  • Network Access Protection
  • PWS
  • DFS Replication
  • Remote Differential Compression
  • Print Services for UNIX
  • Remote Installation Services
  • Windows Deployment Services
  • System Resource Manager
  • Hyper-V
  • Server Core
Architektúra
  • Architecture of Windows NT
  • Startup process
  • CSRSS
  • Desktop Window Manager
  • Portable Executable
  • Graphics Device Interface
  • hal.dll
  • I/O request packet
  • Imaging Format
  • Kernel Transaction Manager
  • Library files
  • Logical Disk Manager
  • LSASS
  • MinWin
  • NTLDR
  • Ntoskrnl.exe
  • Object Manager
  • Open XML Paper Specification
  • Regisztrációs adatbázis
  • Resource Protection
  • Security Accounts Manager
  • Server Message Block
  • Shadow Copy
  • SMSS
  • System Idle Process
  • USER
  • Win32 console
  • Winlogon
Biztonság
  • Action Center
  • BitLocker
  • Data Execution Prevention
  • Family Safety
  • Kernel Patch Protection
  • Mandatory Integrity Control
  • Protected Media Path
  • Felhasználói fiókok felügyelete
  • User Interface Privilege Isolation
  • Windows Defender
  • Windows Firewall
Kompatibilitás
  • COMMAND.COM
  • Windows Services for UNIX
    • POSIX subsystem
    • Interix
  • Virtual DOS machine
  • Windows on Windows
  • WoW64
API
Megszűnt
Játékok
  • 3D Pinball
  • Chess Titans
  • FreeCell
  • Hearts
  • Hover!
  • InkBall
  • Hold 'Em
  • Mahjong Titans
  • Minesweeper
  • Purble Place
  • Reversi
  • Solitaire
  • Spider Solitaire
  • Tinker
Egyebek
  • ActiveMovie
  • Névjegytár
  • Backup and Restore
  • Cardfile
  • CardSpace
  • Diagnostics
  • DriveSpace
  • DVD Maker
  • DVD Player
  • Fax
  • File Manager
  • File Protection
  • HyperTerminal
  • Internet Mail and News
  • Mail
  • Media Control Interface
  • Meeting Space
  • Messaging
  • Messenger
  • NetMeeting
  • Next-Generation Secure Computing Base
  • NTBackup
  • Outlook Express
  • Photo Gallery
  • Program Manager
  • Video for Windows
  • Oldalsáv
  • Windows SideShow
  • WinHelp
  • WinSAT
  • Write
  • Informatika Informatikai portál • összefoglaló, színes tartalomajánló lap