Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«UNIX β€” ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ срСда программирования». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 18

Автор Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½

pie

$ ls -lut total 2

drwxrwxrwx 4 you 64 Sep 27 12:11 recipes

-rw-rw-rw- 1 you 29 Sep 27 06:11 junk

Π£ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° recipes, ΠΊΠ°ΠΊ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ врСмя использования, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ просмотрСли Π΅Π³ΠΎ содСрТимоС.

ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ индСксного дСскриптора, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π½Π΅ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ дСйствиС Ρ„Π»Π°Π³ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ls. По сущСству, индСксныС дСскрипторы ΠΈ Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² прСдоставляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ имСнования Ρ„Π°ΠΉΠ»ΠΎΠ². Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ систСмноС имя Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ индСкс Ρ„Π°ΠΉΠ»Π° β€” это Π½ΠΎΠΌΠ΅Ρ€ индСксного дСскриптора, содСрТащСго ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ„Π°ΠΉΠ»Π΅. Команда ls -i Π²Ρ‹Π΄Π°Π΅Ρ‚ индСкс Ρ„Π°ΠΉΠ»Π° Π² дСсятичной Ρ„ΠΎΡ€ΠΌΠ΅:

$ date > x

$ ls -i

15768 junk

15274 recipes

15852 x

$

ИмСнно индСкс Ρ„Π°ΠΉΠ»Π° хранится Π² ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… Π±Π°ΠΉΡ‚Π°Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠΌΠ΅Π½ΠΈ. Команда od -d Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π΅ Π² Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΠΎ Π±Π°ΠΉΡ‚Π°ΠΌ, Π° Π² дСсятичной, объСдинив ΠΏΠΎ Π΄Π²Π° Π±Π°ΠΉΡ‚Π° Π² ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅, ΠΈ поэтому ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π½Π° экранС индСкс Ρ„Π°ΠΉΠ»Π°:

$od -с .

0000000   4  ; . \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0

0000020 273 (  .  . \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0

0000040 252  ; p  Π΅  Ρ†  ΠΏ  Ρ‚  Ρ‹ \0 \0 \0 \0 \0 \0 \0 \0

0000060 230  = j  u  n  ΠΊ \0 \0 \0 \0 \0 \0 \0 \0 \0 \0

0000100 354  = x \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0

0000120

od -d .

0000000 15156 00046 00000 00000 00000 00000 00000 00000

0000020 10427 11822 00000 00000 00000 00000 00000 00000

0000040 15274 25970 26979 25968 00115 00000 00000 00000

0000060 15768 30058 27502 00000 00000 00000 00000 00000

0000100 15852 00120 00000 00000 00000 00000 00000 00000

0000120

$

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° Π±Π°ΠΉΡ‚Π° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ СдинствСнной связью ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π° ΠΈ Π΅Π³ΠΎ содСрТимым. ИмСнно поэтому имя Ρ„Π°ΠΉΠ»Π° Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ называСтся связью: ΠΎΠ½ΠΎ связываСт имя Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² с индСксным дСскриптором ΠΈ, Ρ‚Π΅ΠΌ самым, с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ. Один ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ индСкс Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…. Команда rm Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ удаляСт Π½Π΅ индСксный дСскриптор, Π° строку ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈΠ»ΠΈ связь. Волько ΠΊΠΎΠ³Π΄Π° послСдняя связь Ρ„Π°ΠΉΠ»Π° исчСзаСт, систСма удаляСт индСксный дСскриптор, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΈ сам Ρ„Π°ΠΉΠ».

Если индСкс Ρ„Π°ΠΉΠ»Π° Π² строкС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ связь ΡƒΠ΄Π°Π»Π΅Π½Π°, Π½ΠΎ сам Ρ„Π°ΠΉΠ» Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ β€” ΠΌΠΎΠ³ΡƒΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ связи Π³Π΄Π΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΅Ρ‰Π΅. МоТно ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ индСкс Ρ„Π°ΠΉΠ»Π° становится Ρ€Π°Π²Π½Ρ‹ΠΌ Π½ΡƒΠ»ΡŽ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°:

$ rm x $ od -d .

0000000 15156 00046 00000 00000 00000 00000 00000 00000

0000020 10427 11822 00000 00000 00000 00000 00000 00000

0000040 15274 25970 26979 25968 00115 00000 00000 00000

0000060 15768 30058 27502 00000 00000 00000 00000 00000

0000100 00000 00120 00000 00000 00000 00000 00000 00000

0000120

$

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ», создаваСмый Π² этом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π·Π°ΠΉΠΌΠ΅Ρ‚ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠ²ΡˆΡƒΡŽΡΡ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, хотя Ρƒ Π½Π΅Π³ΠΎ, вСроятно, Π±ΡƒΠ΄Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ индСкс. Команда ln, ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ синтаксис, устанавливаСт связь с ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ:

$ ln old-file new-file

НазначСниС связи состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ Π΄Π²Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Ρƒ, поэтому ΠΎΠ½ часто оказываСтся Π² Π΄Π²ΡƒΡ… Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… систСмах Π΅ΡΡ‚ΡŒ связь с Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ /bin/ed ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ /bin/Π΅, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠ°ΠΊ Π΅. Π”Π²Π΅ связи ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ запись, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ индСкс Ρ„Π°ΠΉΠ»Π°:

$ ln junk linktojunk

$ ls -li total 3

15768 -rw-rw-rw- 2 you 29 Sep 27 12:07 junk

15768 -rw-rw-rw- 2 you 29 Sep 27 12:07 linktojunk

15274 drwxrwxrwx 4 you 64 Sep 27 09:34 recipes

$

Π¦Π΅Π»ΠΎΠ΅ число, Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΠΎΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€Π°Π²ΠΎΠΌ доступа ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Ρ„Π°ΠΉΠ»Π°, являСтся числом связСй Ρ„Π°ΠΉΠ»Π°. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ каТдая связь ссылаСтся Π½Π° индСксный дСскриптор, всС связи ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, Π²Π°ΠΆΠ½Ρ‹ β€” Π½Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ΅Ρ€Π²ΠΎΠΉ связью ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ. (Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‰ΠΈΠΉ объСм Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° дискС пространства, сообщаСмый ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ls, вычисляСтся Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΠΈΠ·-Π·Π° Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ подсчСта).

Если ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ», Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ обнаруТится ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΏΠΎΠ΄ Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ всС связи ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ»:

$ echo x > junk

$ ls -l total 3

-rw-rw-rw- 2 you  2 Sep 27 12:37 junk

-rw-rw-rw- 2 you  2 Sep 27 12:37 linktojunk

drwxrwxrwx 4 you 64 Sep 27 09:34 recipes

$ rm linktojunk

$ ls -l total 2

-rw-rw-rw- 1 you  2 Sep 27 12:37 junk

drwxrwxrwx 4 you 64 Sep 27 09:34 recipes

$

ПослС удалСния Ρ„Π°ΠΉΠ»Π° linktojunk число связСй ΠΎΠΏΡΡ‚ΡŒ становится Ρ€Π°Π²Π½Ρ‹ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅. Как ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ, ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° уничтоТаСтся лишь связь. Π‘Π°ΠΌ ΠΆΠ΅ Ρ„Π°ΠΉΠ» сохраняСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π° послСдняя связь. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ связь, Π½ΠΎ Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ простым способом ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ систСмы.

ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π΅Ρ€Π΅ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ слишком торопится: послС удалСния послСднСй связи Π΄Π°Π½Π½Ρ‹Π΅ становятся нСдоступными. Π£Π΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ скорСС Π² Ρ‚ΠΎΠΏΠΊΡƒ, Ρ‡Π΅ΠΌ Π² ΠΌΡƒΡΠΎΡ€Π½ΡƒΡŽ ΠΊΠΎΡ€Π·ΠΈΠ½Ρƒ, ΠΈ Π½Π΅Ρ‚ срСдства Π²ΠΎΠ·Ρ€ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… ΠΈΠ· ΠΏΠ΅ΠΏΠ»Π°. (Блабая Π½Π°Π΄Π΅ΠΆΠ΄Π° Π½Π° Π²ΠΎΠ·Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ всС-Ρ‚Π°ΠΊΠΈ Π΅ΡΡ‚ΡŒ. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… систСмах UNIX Π΅ΡΡ‚ΡŒ рутинная функция дублирования, которая пСриодичСски ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ измСняСмыС Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ мСсто Ρ‚ΠΈΠΏΠ° ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠΉ Π»Π΅Π½Ρ‚Ρ‹, ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ. Для собствСнного успокоСния Π²Π°ΠΌ слСдуСт Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ объСм дублирования обСспСчиваСт ваша систСма. Если Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ, Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π±Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ β€” Π»ΡŽΠ±Ρ‹Π΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΊΠΈ с дисками ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ катастрофой.)

Бвязи Ρ„Π°ΠΉΠ»Π° ΡƒΠ΄ΠΎΠ±Π½Ρ‹, Ссли Π΄Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ совмСстно Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Π½ΠΈΠΌ, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½Π° Π½Π° самом Π΄Π΅Π»Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ копия β€” Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„Π°ΠΉΠ» с Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π΄ΠΎ внСсСния Π² Π½Π΅Π³ΠΎ сущСствСнных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π», Ссли вас Π½Π΅ устроят эти измСнСния. Π—Π΄Π΅ΡΡŒ Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ установлСниС связи, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Π΅ связи Π±ΡƒΠ΄ΡƒΡ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ». ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π° cp:

$ cp junk copyofjunk

$ ls -li total 3

15850 -rw-rw-rw- 1 you  2 Sep 27 13:13 copyofjunk

15768 -rw-rw-rw- 1 you  2 Sep 27 12:37 junk

15274 drwxrwxrwx 4 you 64 Sep 27 09:34 recipes

$

Π˜Π½Π΄Π΅ΠΊΡΡ‹ Ρ„Π°ΠΉΠ»ΠΎΠ² junk ΠΈ copyofjunk Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, хотя Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ содСрТимоС. БущСствуСт ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ΅ΠΌ: ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° доступа ΠΊ ΠΊΠΎΠΏΠΈΠΈ Ρ„Π°ΠΉΠ»Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π΅ Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅ Π±Ρ‹Π»ΠΎ случайно ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ.

$ chmod -w copyofjunk     Π£Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΎ записи

$ ls -li total 3

15850 -r--r--r-- 1 you  2 Sep 27 13:13 copyofjunk

15768 -rw-rw-rw- 1 you  2 Sep 27 12:37 junk

15274 drwxrwxrwx 4 you 64 Sep 27 09:34 recipes

$ rm copyofjunk

rm: copyofjunk 444 mode n НСльзя! Он Π½ΡƒΠΆΠ΅Π½

$ date > junk

$ ls -li total 3

15850 -r--r--r-- 1 you  2 Sep 27 13:13 copyofjunk

15768 -rw-rw-rw- 1 you 29 Sep 27 13:16 junk

15274 drwxrwxrwx 4 you 64 Sep 27 09:34 recipes

$ rm copyofjunk

rm: copyofjunk 444 mode y А ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΈ Π½Π΅ Ρ‚Π°ΠΊ Π½ΡƒΠΆΠ΅Π½

$ ls -li total 2

15768 -rw-rw-rw- 1 you 29 Sep 27 13:16 junk

15274 drwxrwxrwx 4 you 64 Sep 27 09:34 recipes

$

ИзмСнСниС ΠΊΠΎΠΏΠΈΠΈ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π΅Π΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ дСйствия Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π». ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ Ρ„Π°ΠΉΠ»Π° copyofjunk ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΏΡ€Π°Π²ΠΎ Π½Π° запись, ΠΊΠΎΠΌΠ°Π½Π΄Π° rm Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ».

Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, β€” mv, которая пСрСносит ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹, просто прСобразуя связи. Бинтаксис Π΅Π΅ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄ cp ΠΈ ln:

$ mv junk sameoldjunk $ ls -li total 2

15274 drwxrwxrwx 4 you 64 Sep 27 09:34 recipes

15768 -rw-rw-rw- 1 you 29 Sep 27 13:16 sameoldjunk

$

sameoldjunk β€” это Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый Ρ„Π°ΠΉΠ», Ρ‡Ρ‚ΠΎ ΠΈ наш старый Ρ„Π°ΠΉΠ» junk, Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ индСкса Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ связан с записью ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 15768; измСнилось Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π³ΠΎ имя.

ВсС описанныС Π²Ρ‹ΡˆΠ΅ манипуляции с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ происходили Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…. Команда ln часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ связь с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…; это Π±Ρ‹Π²Π°Π΅Ρ‚ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° нСсколько ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΈΠ»ΠΈ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ. Команда mv ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΡΠ»Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. На самом Π΄Π΅Π»Π΅, это довольно стандартный ΠΏΡ€ΠΈΠ΅ΠΌ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄ mv ΠΈ cp Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ синтаксис для Ρ‚Π°ΠΊΠΎΠΉ ситуации:

$ mv (ΠΈΠ»ΠΈ cp) file1 file2 ... directory

Π—Π΄Π΅ΡΡŒ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° пСрСсылка (ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся послСдним Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ. Бвязи ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ "Π½Π°Π±ΠΈΡ‚ΡŒ Ρ€ΡƒΠΊΡƒ" Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ с

$ cp /usr/src/cmd/ed.с .

ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² свою копию исходного тСкста Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° для экспСримСнтов. Осваивая ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ shell, исходныС тСксты ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ находятся Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…, Π·Π°Π΄Π°ΠΉΡ‚Π΅

$ mkdir sh

$ cp /usr/src/cmd/sh/* sh

ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° cp скопируСт всС исходныС тСксты shell Π² ваш Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ sh (ΠΌΡ‹ считаСм, Ρ‡Ρ‚ΠΎ Π² /usr/src/cmd/sh Π½Π΅Ρ‚ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π° cp Π½Π΅ слишком "ΡƒΠΌΠ½Π°"). Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ln допустимо ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ с нСсколькими ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½ΠΎ имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ являСтся послСдним Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ. Π’ рядС систСм ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ mv, cp ΠΈ ln сами слуТат связями, ΡΡΡ‹Π»Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ имя ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ.