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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Linux: ПолноС руководство». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 21

Автор ДСнис ΠšΠΎΠ»ΠΈΡΠ½ΠΈΡ‡Π΅Π½ΠΊΠΎ

ВмСсто Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ls Π²Ρ‹Π΄Π°Π΅Ρ‚ Π΄Π²Π° числа. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ ΠΈ младший Π½ΠΎΠΌΠ΅Ρ€Π° устройства. Π‘Ρ‚Π°Ρ€ΡˆΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ€ нСсСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ относится Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π° младший Π½ΠΎΠΌΠ΅Ρ€ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… устройств слСдуСт ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ.

ЖСсткиС ΠΈ символичСскиС ссылки

ЖСсткая ссылка являСтся просто Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ для исходного Ρ„Π°ΠΉΠ»Π°. ПослС создания Ρ‚Π°ΠΊΠΎΠΉ ссылки Π΅Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ исходного ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°. «НастоящСго» ΠΈΠΌΠ΅Π½ΠΈ Ρƒ Ρ„Π°ΠΉΠ»Π° Π½Π΅Ρ‚, Ρ‚ΠΎΡ‡Π½Π΅Π΅, всС Ρ‚Π°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° Π±ΡƒΠ΄ΡƒΡ‚ настоящими. Команда ls ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΈΡ… ТСстких ссылок. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΏΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΈΠ· Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ количСство ссылок, ΠΈ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° это количСство станСт Ρ€Π°Π²Π½Ρ‹ΠΌ Π½ΡƒΠ»ΡŽ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ТСсткиС ссылки для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ случайноС ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π°ΠΆΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΆΠ΅ΡΡ‚ΠΊΡƒΡŽ ссылку Π½Π° Ρ„Π°ΠΉΠ» README ΠΈ посмотрим, Ρ‡Ρ‚ΠΎ измСнилось Π² Π΅Π³ΠΎ свойствах:

$ln /home/den/README /home/den/readme_too

$ls -l /home/den/README

-rwxr-xr-- 2 den users 0 Feb 14 19:08 /home/den/README

Π–Π΅ΡΡ‚ΠΊΡƒΡŽ ссылку ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π² любом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π½ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ физичСском носитСлС (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС), Ρ‡Ρ‚ΠΎ ΠΈ исходный Ρ„Π°ΠΉΠ». О ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ этого Π±ΡƒΠ΄Π΅Ρ‚ сказано Π² ΠΏ. 2.2.1.

Π”Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ ссылок ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой символичСскиС ссылки. По Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΎΠ½ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ ярлыкам Π² ОБ Windows: ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Ρ„Π°ΠΉΠ», располоТСнный Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° съСмном носитСлС), ΠΈ послС удалСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ размонтирования съСмного носитСля становятся бСсполСзны.

БимволичСская ссылка создаСтся Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ln с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ -s:

$ln -s /home/den/README /home/den/do.not.readme

$ls -l /home/den/do.not.readme

lrwxrwxrwx 1 den users 16 Feb 14 19:17 /home/den/do.not.readme -> /home/den/README

Π’ ΠΏΠΎΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° послС стрСлки ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π΅Π³ΠΎ настоящСС имя. ΠŸΡ€Π°Π²Π° доступа Ρƒ всСх символичСских ссылок ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ ΠΈ Π½Π΅ Π·Π½Π°Ρ‡Π°Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ доступа ΠΊ Ρ„Π°ΠΉΠ»Ρƒ опрСдСляСтся ΠΏΡ€Π°Π²Π°ΠΌΠΈ исходного Ρ„Π°ΠΉΠ»Π°. Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ„Π°ΠΉΠ»Π°-ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π° Ρ„Π°ΠΉΠ»-ссылка ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅Π½ΡƒΠ»Π΅Π²ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ: Π² Π½Π΅ΠΌ хранится Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ имя исходного Ρ„Π°ΠΉΠ»Π°. ΠŸΠΎΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ вывСсти Ρ„Π°ΠΉΠ»-ссылку Π½Π° экран с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ cat, ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ содСрТаниС исходного, пустого, Ρ„Π°ΠΉΠ»Π°:

$ cat /home/den/do.not.readme

$

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ самой ссылки, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ имя Ρ„Π°ΠΉΠ»Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½Π° ссылаСтся, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ readlink.

БимволичСскиС ссылки Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ выглядят Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ символичСскиС ссылки Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ». МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ссылок Π½Π° ссылки: ядро ОБ прослСдуСт ΠΏΠΎ всСй Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ ΠΈ Π² ΠΈΡ‚ΠΎΠ³Π΅ подставит вмСсто ссылки имя исходного Ρ„Π°ΠΉΠ»Π°.

МоТно Π΄Π°ΠΆΠ΅ Π·Π°ΠΊΠΎΠ»ΡŒΡ†Π΅Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ:

$ touch a1

$ ln -s a1 a2; rm a1

$ ln -s a2 a1

$ ls -l a? # это шаблон ΠΈΠΌΠ΅Π½ΠΈ. Π•ΠΌΡƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ всС ΠΈΠΌΠ΅Π½Π° ΠΈΠ· Π΄Π²ΡƒΡ… Π±ΡƒΠΊΠ², пСрвая Β«Π°Β»

a1 -> a2

a2 -> a1

$ cat a1

cat: a1: Too many levels of symbolic links

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ смысл этого упраТнСния β€” ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒ вас Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Linux ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ справляСтся с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ссылок Π΄Π°ΠΆΠ΅ Π² Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ситуации.

БимволичСская ссылка Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° Ρ‚ΠΎΠ½ΠΊΠΎΡΡ‚ΡŒ: ΠΏΠΎ ссылкС нСльзя ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ корня Π΄Π΅Ρ€Π΅Π²Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². ВмСсто псСвдоподкаталога Β«..Β» подставляСтся Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°-ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π°. Π’Π°ΠΊ, Ссли Π² домашнСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ivan Π΅ΡΡ‚ΡŒ ссылка Π½Π° домашний ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ den, Ρ‚ΠΎ ΠΏΡƒΡ‚ΡŒ /home/ivan/link_to_den_home/.. эквивалСнтСн Π½Π΅ /home/ivan, a /home/den/.., Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ /home.

Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠ°Π½Π°Π»Ρ‹

Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»Π° Π΅Ρ‰Π΅ называСтся Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ FIFO (First In β€” First Out). Π§Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π²Π° нСзависимых процСсса (Π΄Π²Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹) ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ: всС, Ρ‡Ρ‚ΠΎ записано Π² Ρ„Π°ΠΉΠ» ΠΎΠ΄Π½ΠΈΠΌ процСссом, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ΠΎ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ. Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» создаСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ mkfifo.

Π“Π½Π΅Π·Π΄Π°

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π³Π½Π΅Π·Π΄ (сокСтов, sockets) Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ появился Π² вСрсии 4.3 BSD UNIX (Π²Π΅Ρ‚Π²ΡŒ UNIX, Π½Π°Ρ‡Π°Π²ΡˆΠ°Ρ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² калифорнийском унивСрситСтС Π‘Π΅Ρ€ΠΊΠ»ΠΈ). ПозТС ΠΎΠ½ прСвратился Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ· самых популярных систСм сСтСвого ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ…, Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ…, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах. Π’ Ρ‡Π΅ΡΡ‚ΡŒ создатСлСй этот ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π΄ΠΎ сих ΠΏΠΎΡ€ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Berkeley Sockets.

БобствСнно Π³Π½Π΅Π·Π΄ΠΎ β€” это абстрактная конСчная Ρ‚ΠΎΡ‡ΠΊΠ° сСтСвого соСдинСния. ΠŸΡ€ΠΎΡ†Π΅ΡΡ отправляСт Π΄Π°Π½Π½Ρ‹Π΅ Π² ΡΠ΅Ρ‚ΡŒ, записывая ΠΈΡ… Π² Ρ„Π°ΠΉΠ» Π³Π½Π΅Π·Π΄Π°. ΠŸΡ€ΠΈ этом процСссы, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ²ΡˆΠΈΠ΅ связь Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Ρƒ Π³Π½Π΅Π·Π΄, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, Ρ‚Π°ΠΊ ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ.

ΠœΠ΅ΠΆΠΏΡ€ΠΎΡ†Π΅ΡΡΠ½Ρ‹ΠΉ ΠΎΠ±ΠΌΠ΅Π½ Ρ‡Π΅Ρ€Π΅Π· Π³Π½Π΅Π·Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΈΠΌΠΈ стандартными ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Linux, ΠΊΠ°ΠΊ слуТба ΡƒΡ‡Π΅Ρ‚Π° syslog ΠΈ оконная систСма X Window.

2.1.4. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π² ОБ Linux называСтся всС, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: исполняСмый Ρ„Π°ΠΉΠ», встроСнная ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π΄Π°ΠΆΠ΅ формируСмая Π½Π° Ρ…ΠΎΠ΄Ρƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов. Бинтаксис ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

имя_ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ [ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅_ΠΊΠ»ΡŽΡ‡ΠΈ] [Π΄Π»ΠΈΠ½Π½Ρ‹Π΅_ΠΊΠ»ΡŽΡ‡ΠΈ] [Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹]

Π³Π΄Π΅ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки взяты Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. ΠšΠ»ΡŽΡ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² любом порядкС, раздСляя ΠΈΡ… ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ. АргумСнты Ρ‚ΠΎΠΆΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ.

ИмСна ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΈΠ»ΠΈ ΠΎΠΏΡ†ΠΈΠΉ, состоят ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стоит символ Β«-Β» (дСфис). Π£ ΠΊΠ»ΡŽΡ‡Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ свой Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚. ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΈΠΌ дСфисом: Ρ‚Π°ΠΊ, ΠΊΠΎΠΌΠ°Π½Π΄Π° ls -l -a -d эквивалСнтна ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ls -lad.

ИмСна Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ β€” это осмыслСнныС слова, ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ стоят Π΄Π²Π° символа Β«-Β» (дСфис). Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΊΠ»ΡŽΡ‡ΠΈ --help ΠΈ --usage, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ вывСсти ΠΊΡ€Π°Ρ‚ΠΊΡƒΡŽ справку ΠΎΠ± использовании ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Β«--Β» сигнализируСт ΠΎΠ± ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ списка ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ Π½Π°Ρ‡Π°Π»Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Π‘ΠΏΡ€Π°Π²ΠΊΡƒ ΠΎ ΠΊΠ»ΡŽΡ‡Π°Ρ… ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ man.

Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ β€” это ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ. Π’ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, Π² Ρ‚ΠΎΠΌ числС с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ, связан СдинствСнный Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. Π£Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ сСйчас являСтся Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ, ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pwd Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Π‘ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

cd [Π½ΠΎΠ²Ρ‹ΠΉ_ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³]

Для смСны Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π° домашний ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ вмСсто ΠΈΠΌΠ΅Π½ΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ ~: cd ~.Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π² псСвдоподкаталоги Β«.Β» ΠΈ Β«..Β». Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ измСнится, Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ станСт Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ содСрТимого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

Π£ΠΆΠ΅ знакомая ΠΊΠΎΠΌΠ°Π½Π΄Π° ls [имя_ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°] Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π³ΠΎ содСрТимоС Π½Π° экран. Если Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ содСрТаниС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

ВмСсто ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ шаблон ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ²: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ls my* ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Β«myΒ».

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… ΠΈ ΠΊΠ»ΡŽΡ‡Π°Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ls (ΠΊΠ°ΠΊ, Π²ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹) ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρƒ справочной систСмы, Π½Π°Π±Ρ€Π°Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ man ls.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

touch <имя_Ρ„Π°ΠΉΠ»Π°>

Π’ΠΎΠΎΠ±Ρ‰Π΅-Ρ‚ΠΎ ΠΎΠ½Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ для всСх заинтСрСсованных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° make) Ρ„Π°ΠΉΠ» выглядСл Π½ΠΎΠ²Π΅Π΅, Ρ‡Π΅ΠΌ Π½Π° самом Π΄Π΅Π»Π΅: ΠΎΠ½Π° мСняСт врСмя послСднСго измСнСния Ρ„Π°ΠΉΠ»Π° Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя. Но Ссли Ρ„Π°ΠΉΠ»Π° с Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½Π΅ сущСствуСт, Ρ‚ΠΎ ΠΎΠ½Π° Π΅Π³ΠΎ создаст.

ВСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, вводя тСкст с консоли:

$ cat > hello.world

ΠŸΡ€ΠΈΠ²Π΅Ρ‚!

ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ cat ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π½Π° консоль, Π½ΠΎ ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ с Π½Π΅Π΅. Π­Ρ‚ΠΎ достигаСтся ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ сказано Π² Π³Π»Π°Π²Π΅ 8. Π’ Ρ‚Π°ΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° cat считаСт своими Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎΡ‚ΠΎΠΊ Π±Π°ΠΉΡ‚ΠΎΠ², ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠΉ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π³ΠΎ Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ». Π˜Π½Ρ‹ΠΌΠΈ словами, Π² Ρ„Π°ΠΉΠ» записываСтся всС, Ρ‡Ρ‚ΠΎ Π²Ρ‹ послС этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Π²Π΅Π΄Π΅Ρ‚Π΅ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ Π²Π²ΠΎΠ΄, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+D.

Если Ρ„Π°ΠΉΠ» с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ сущСствуСт, Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° cat ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡˆΠ΅Ρ‚ Π΅Π³ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ вмСсто этого Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°, ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ Π΅Π΅ Π²Ρ‹Π²ΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ символов >>:

$ cat >> hello.world

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ создаСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

mkdir <имя_ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°>

Π§Ρ‚ΠΎΠ±Ρ‹ опСрация создания Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΎ записи Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ Π΅Π³ΠΎ создаСтС.

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ пустой ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

rmdir <имя_ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°>

УдаляСтся Ρ„Π°ΠΉΠ» ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

rm <имя_Ρ„Π°ΠΉΠ»Π°>

ΠŸΡ€ΠΈ этом Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΡ€Π°Π² Π½Π° запись ΠΈ Π΄Π°ΠΆΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ этого Ρ„Π°ΠΉΠ»Π° Π½Π΅ трСбуСтся: достаточно ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΎ Π½Π° запись Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π³Π΄Π΅ находится этот Ρ„Π°ΠΉΠ». ΠšΠ»ΡŽΡ‡ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ rm: