Π°Π»Π³ΠΎΡΠΈΡΠΌ umount
Π²Ρ ΠΎΠ΄Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: ΠΈΠΌΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅
Π²ΡΡ ΠΎΠ΄Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ
{
if (ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ) return (ΠΎΡΠΈΠ±ΠΊΡ);
ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (Π°Π»Π³ΠΎΡΠΈΡΠΌ namei);
ΠΈΠ·Π²Π»Π΅ΡΡ ΡΡΠ°ΡΡΠΈΠΉ ΠΈ ΠΌΠ»Π°Π΄ΡΠΈΠΉ Π½ΠΎΠΌΠ΅ΡΠ° Π΄Π΅ΠΌΠΎΠ½ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°;
ΠΏΠΎΠ»ΡΡΠΈΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΠΈ ΠΌΠ»Π°Π΄ΡΠ΅Π³ΠΎ Π½ΠΎΠΌΠ΅ΡΠΎΠ²;
ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (Π°Π»Π³ΠΎΡΠΈΡΠΌ iput);
ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΠΈΡΠΈ Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅;
/* Π³Π»Π°Π²Π° 7Ρ Ρ Ρ */
ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊ, ΠΈΠ½Π΄Π΅ΠΊΡΡ, Π²ΡΠ³ΡΡΠ·ΠΈΡΡ Π±ΡΡΠ΅ΡΡ Π½Π° Π΄ΠΈΡΠΊ;
if (ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ) return (ΠΎΡΠΈΠ±ΠΊΡ);
ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ;
Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ;
ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ (Π°Π»Π³ΠΎΡΠΈΡΠΌ iput);
/* iget Π±ΡΠ» ΠΏΡΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ */
Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π·Π°ΠΊΡΡΡΠΈΡ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°;
ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ (ΠΎΡΠΌΠ΅Π½ΠΈΡΡ) Π² ΠΏΡΠ»Π΅ Π±ΡΡΠ΅ΡΡ ΠΈΠ· Π΄Π΅ΠΌΠΎΠ½ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ;
ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΎΡΠΊΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ;
Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ;
ΠΎΡΠΈΡΡΠΈΡΡ ΡΠ»Π°Π³, ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΠΈΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠ°ΠΊ Β«ΡΠΎΡΠΊΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ»;
ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ (Π°Π»Π³ΠΎΡΠΈΡΠΌ iput);
/* iget Π±ΡΠ» ΠΏΡΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ */
ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ Π±ΡΡΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΠΎΠ΄ ΡΡΠΏΠ΅ΡΠ±Π»ΠΎΠΊ;
ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΡΠΎ, Π·Π°Π½ΡΡΠΎΠ΅ ΡΠ°Π½Π΅Π΅;
}
Π ΠΈΡΡΠ½ΠΎΠΊ 5.27. ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π΄Π΅ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
Π ΠΈΡΡΠ½ΠΎΠΊ 5.28. Π€Π°ΠΉΠ»Ρ Π² Π΄Π΅ΡΠ΅Π²Π΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ link
5.15 LINΠ
Π‘ΠΈΡΡΠ΅ΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ link ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ» Ρ Π½ΠΎΠ²ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² ΡΡΡΡΠΊΡΡΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π΄Π»Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½ΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ link:
link(source file name, target file name);
Π³Π΄Π΅ source file name β ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, Π° target file name β Π½ΠΎΠ²ΠΎΠ΅ (Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅) ΠΈΠΌΡ, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ link. Π€Π°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΡΠ°Π½ΠΈΡ ΠΈΠΌΡ ΠΏΡΡΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ, ΠΈΠΌΠ΅ΡΡΠ΅ΠΉΡΡ Ρ ΡΠ°ΠΉΠ»Π°, ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ Π»ΡΠ±ΠΎΠΌΡ ΠΈΠ· ΡΡΠΈΡ ΠΈΠΌΠ΅Π½. Π―Π΄ΡΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ· ΠΈΠΌΠ΅Π½ ΡΠ°ΠΉΠ»Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π°Π±ΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ:
link("/usr/src/uts/sys", "/usr/include/sys");
link("/usr/include/realfile.h", "/usr/src/uts/sys/testfile.h");
Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΉΠ» Π±ΡΠ΄ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡΡΠΈ ΠΏΠΎΠΈΡΠΊΠ°: Β«/usr/src/uts/sys/testfile.hΒ», Β«/usr/include/sys/testfile.hΒ» ΠΈ Β«/usr/include/realfileΒ» (ΡΠΌ. Π ΠΈΡΡΠ½ΠΎΠΊ 5.28).
Π―Π΄ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΠΌΡ) ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ, ΡΠΏΡΠΎΡΠ°Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΡΠ΅Π±ΡΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π΅ΡΠ΅Π²Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ Π±Ρ ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ, ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΠΈΠΌ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ Π·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΠΏΠ°ΡΡΡ Π² Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ²ΡΠ·Π°Π» ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ Π²Π΅ΡΡΠΈΠ½ΠΎΠΉ, ΡΡΠΎΡΡΠ΅ΠΉ Π½ΠΈΠΆΠ΅ Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ Π² ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ ΡΠ°ΠΊΠΈΡ ΡΠ²ΡΠ·Π΅ΠΉ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΠ»Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π² ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ mkdir, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ mkdir ΡΡΡΡΠ°Π½ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ².
Π°Π»Π³ΠΎΡΠΈΡΠΌ link
Π²Ρ ΠΎΠ΄Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ:
ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°
Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°
Π²ΡΡ ΠΎΠ΄Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ
{
ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° (Π°Π»Π³ΠΎΡΠΈΡΠΌ namei);
if (Ρ ΡΠ°ΠΉΠ»Π° ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ²ΡΠ·Π΅ΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π±Π΅Π· ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ) {
ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ (Π°Π»Π³ΠΎΡΠΈΡΠΌ iput);
return (ΠΎΡΠΈΠ±ΠΊΡ);
}
ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠ²ΡΠ·Π΅ΠΉ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅;
ΠΎΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΈΡΠΊΠΎΠ²ΡΡ ΠΊΠΎΠΏΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°;
ΡΠ½ΡΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°;
ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° (Π°Π»Π³ΠΎΡΠΈΡΠΌ namei);
if (ΡΠ°ΠΉΠ» Ρ Π½ΠΎΠ²ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈΠ»ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» ΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ) {
ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ Π²ΡΡΠ΅;
return (ΠΎΡΠΈΠ±ΠΊΡ);
}
ΡΠΎΠ·Π΄Π°ΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π΄Π»Ρ ΡΠ°ΠΉΠ»Π° Ρ Π½ΠΎΠ²ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ;
Π²ΠΊΠ»ΡΡΠΈΡΡ Π² Π½Π΅Π΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ ΠΈ Π½ΠΎΠΌΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π°;
ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° (Π°Π»Π³ΠΎΡΠΈΡΠΌ iput);
ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° (Π°Π»Π³ΠΎΡΠΈΡΠΌ iput);
}
Π ΠΈΡΡΠ½ΠΎΠΊ 5.29. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ° Π ΠΈΡΡΠ½ΠΊΠ΅ 5.29 ΠΏΠΎΠΊΠ°Π·Π°Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ link. Π‘Π½Π°ΡΠ°Π»Π° ΡΠ΄ΡΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ namei, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ΅ΡΡΠΎΠ½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠ²ΡΠ·Π΅ΠΉ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅, ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΠ΅Ρ Π΄ΠΈΡΠΊΠΎΠ²ΡΡ ΠΊΠΎΠΏΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° (Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ) ΠΈ ΡΠ½ΠΈΠΌΠ°Π΅Ρ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ. ΠΠ°ΡΠ΅ΠΌ ΡΠ΄ΡΠΎ ΠΈΡΠ΅Ρ ΡΠ°ΠΉΠ» Ρ Π½ΠΎΠ²ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ; Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΡΠ½ΠΊΡΠΈΡ link Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎ ΠΈ ΡΠ΄ΡΠΎ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΡΠ΅ΠΆΠ½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠ²ΡΠ·Π΅ΠΉ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ ΡΠ°Π½Π΅Π΅. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΄ΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ ΡΠ°ΠΉΠ»Π° Ρ Π½ΠΎΠ²ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π² Π½Π΅Π΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ ΠΈ Π½ΠΎΠΌΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ iput. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΠΉΠ» Ρ Π½ΠΎΠ²ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°Π½Π΅Π΅ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π», ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡ Π΅ΡΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ. Π―Π΄ΡΠΎ, ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π΄Π΅Π»Π°Π΅Ρ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅: ΡΡΠ΅ΡΡΠΈΠΊ ΡΠ²ΡΠ·Π΅ΠΉ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½Π° 1 Π±ΠΎΠ»ΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠ΅ΡΡΠΈΠΊ ΠΈΠΌΠ΅Π» ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΠΎ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠΌΠ΅Π½ΠΈ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π‘ΡΠ΅ΡΡΠΈΠΊ ΡΠ²ΡΠ·Π΅ΠΉ Ρ ΡΠ°Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ (Π·Π°ΠΏΠΈΡΠΈ) ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΠ°ΠΉΠ», ΠΈ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΡΡΠ»ΠΎΠΊ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅. ΠΡΠ»ΠΈ ΠΏΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ link ΠΊ ΡΠ°ΠΉΠ»Ρ Π½Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΡΠ΅ΡΡΠΈΠΊ ΡΡΡΠ»ΠΎΠΊ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ°Π²Π½ΠΎΠ΅ 0, Π° ΡΡΠ΅ΡΡΠΈΠΊ ΡΠ²ΡΠ·Π΅ΠΉ β Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π±ΠΎΠ»ΡΡΠ΅Π΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎΠ΅ 2.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π²ΡΠ·Π²Π°Π½Π½ΡΡ ΠΊΠ°ΠΊ:
link("source", "/dir/target");
ΡΠ΄ΡΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΡΠ°ΠΉΠ»Π° Β«sourceΒ», ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π² Π½Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠ²ΡΠ·Π΅ΠΉ, Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ Π½ΠΎΠΌΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΡΠΊΠ°ΠΆΠ΅ΠΌ 74, ΠΈ ΡΠ½ΠΈΠΌΠ°Π΅Ρ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ. Π―Π΄ΡΠΎ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Β«dirΒ», ΡΠ²Π»ΡΡΡΠ΅Π³ΠΎΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ Π΄Π»Ρ ΡΠ°ΠΉΠ»Π° Β«targetΒ», ΠΈΡΠ΅Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Β«dirΒ» ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π² Π½Π΅Π³ΠΎ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Β«targetΒ» ΠΈ Π½ΠΎΠΌΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° 74. ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΡΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΎΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠ»Π° Β«sourceΒ» ΠΏΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ iput. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠ²ΡΠ·Π΅ΠΉ ΡΠ°ΠΉΠ»Π° Β«sourceΒ» ΡΠ°Π½ΡΡΠ΅ Π±ΡΠ»ΠΎ ΡΠ°Π²Π½ΠΎ 1, ΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½ΠΎ ΡΠ°Π²Π½ΠΎ 2.
Π‘ΡΠΎΠΈΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ ΠΎ Π΄Π²ΡΡ ΡΡΠΏΠΈΠΊΠΎΠ²ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ , ΡΠ²ΠΈΠ²ΡΠΈΡ ΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ½ΠΈΠΌΠ°Π΅Ρ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ ΠΏΠΎΡΠ»Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠ²ΡΠ·Π΅ΠΉ. ΠΡΠ»ΠΈ Π±Ρ ΡΠ΄ΡΠΎ Π½Π΅ ΡΠ½ΠΈΠΌΠ°Π»ΠΎ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ, Π΄Π²Π° ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
ΠΏΡΠΎΡΠ΅ΡΡ A: link("a/b/c/d", "e/f/g");
ΠΏΡΠΎΡΠ΅ΡΡ B: link("e/f", "a/b/c/d/ee");
Π·Π°ΡΠ»ΠΈ Π±Ρ Π² ΡΡΠΏΠΈΠΊ (Π²Π·Π°ΠΈΠΌΠ½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°). ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ A ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠ»Π° Β«a/b/c/dΒ» Π² ΡΠΎΡ ΡΠ°ΠΌΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΡΠ΅ΡΡ B ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠ»Π° Β«e/fΒ». Π€ΡΠ°Π·Π° Β«Π² ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΠΌΠΎΠΌΠ΅Π½ΡΒ» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΈΡΠΊΠΎΠΌΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ. (Π ΠΈΡΡΠ½ΠΎΠΊ 5.30 ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΡΡΠ°Π΄ΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ².) ΠΠΎΠ³Π΄Π° ΠΆΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ A ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠ»Π° Β«e/fΒ», ΠΎΠ½ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΡΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠ»Π° Β«fΒ» Π½Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡΡ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡ B ΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Β«a/b/c/dΒ» ΠΈ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΠ°ΠΉΠ»Π° Β«dΒ». ΠΡΠΎΡΠ΅ΡΡ A Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡ, Π½ΡΠΆΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΡ B, Π° ΠΏΡΠΎΡΠ΅ΡΡ B, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡ, Π½ΡΠΆΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΡ A. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ΄ΡΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΡΠ»Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠ²ΡΠ·Π΅ΠΉ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈΠ· ΡΠ΅ΡΡΡΡΠΎΠ² (ΠΈΠ½Π΄Π΅ΠΊΡ) ΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ΅ΡΡΡΡΡ, Π²Π·Π°ΠΈΠΌΠ½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ Π΄Π²Π° ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΌΠΎΠ³ΡΡ Π·Π°ΠΉΡΠΈ Π² ΡΡΠΏΠΈΠΊ, Π΅ΡΠ»ΠΈ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½Π΅ Π±ΡΠ»Π° ΡΠ½ΡΡΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°. ΠΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ΅Π±Ρ. ΠΡΠ»ΠΈ ΠΎΠ½ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ:
link("a/b/c", "a/b/c/d");
ΡΠΎ Π² Π½Π°ΡΠ°Π»Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΡΠ°ΠΉΠ»Π° Β«cΒ»; Π΅ΡΠ»ΠΈ Π±Ρ ΡΠ΄ΡΠΎ Π½Π΅ ΡΠ½ΠΈΠΌΠ°Π»ΠΎ Π±Ρ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ, ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°ΡΠ΅Π» Π±Ρ Π² ΡΡΠΏΠΈΠΊ, Π·Π°ΠΏΡΠΎΡΠΈΠ² ΠΈΠ½Π΄Π΅ΠΊΡ Β«cΒ» ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΡΠ°ΠΉΠ»Π° Β«dΒ». ΠΡΠ»ΠΈ Π±Ρ Π΄Π²Π° ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡΠ΅ΡΡ, Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·-Π·Π° Π²Π·Π°ΠΈΠΌΠ½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ (ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ), ΡΡΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ Π±Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅? ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅ΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π·Π° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ (Π³Π»Π°Π²Π° 7). Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΡΠΏΠΈΠΊΠ° Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΡΠ»ΠΈ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ, Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ, Π½Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², Π²Π·Π°ΠΈΠΌΠ½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ, Π»ΡΠ±ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΎΠ±ΡΠ°ΡΠΈΠ²ΡΠΈΠ΅ΡΡ ΠΊ ΡΡΠΈΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ (ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΠ²ΡΠΈΠ΅ΡΡ ΠΊ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ ΡΠ΅ΡΠ΅Π· Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³), Π½Π΅ΠΏΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΉΠ΄ΡΡ Π² ΡΡΠΏΠΈΠΊ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Ρ ΡΠ°ΠΉΠ»Ρ Β«/binΒ» ΠΈΠ»ΠΈ Β«/usr/binΒ» (ΠΎΠ±ΡΡΠ½ΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄) ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ» Β«/bin/shΒ» (ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ shell), ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ΄ΡΡ Π³ΠΈΠ±Π΅Π»ΡΠ½ΡΠΌΠΈ.