Изучаем Linux, 101: Работа с жесткими и символическими ссылками

Использование нескольких имен для одного файла

В этой статье рассказывается о том, как работать с жесткими и символическими ссылками в Linux®, в том числе о узнаете о различиях между жесткими и мягкими (символическими) ссылками, а также между копированием файлов и использованием ссылок на них. Вы можете использовать этот материал для подготовки к экзамену LPI 101 программы сертификации на администратора Linux начального уровня или просто для общего развития.

Об этой серии

Эта серия статей поможет вам освоить задачи администрирования операционной системы Linux. Вы также можете использовать материал этих статей для подготовки к экзаменам первого уровня сертификации профессионального института Linux (LPIC-1) .

Чтобы посмотреть описания статей этой серии и получить ссылки на них, обратитесь к нашему перечню материалов для подготовки к экзаменам LPIC-1 . Этот перечень постоянно дополняется новыми статьями по мере их готовности и содержит самые последние (по состоянию на апрель 2009 года) цели экзаменов сертификации LPIC-1. Если какая-либо статья отсутствует в перечне, можно найти ее более раннюю версию, соответствующую предыдущим целям LPIC-1 (до апреля 2009 года), обратившись к нашим руководствам для подготовки к экзаменам института Linux Professional Institute .

Краткий обзор

Из этой статьи вы узнаете о том, как создавать жесткие и символические ссылки в Linux и работать с ними. Вы научитесь:

  • Создавать жесткие и мягкие ссылки.
  • Находить ссылки и определять их тип.
  • Понимать разницу между копированием файла и созданием ссылки на него.
  • Использовать ссылки для выполнения административных задач.

Эта статья поможет вам подготовиться к сдаче экзамена LPI 101 на администратора начального уровня (LPIC-1) и содержит материалы цели 104.6 темы 104. Цель имеет вес 2.

Необходимые условия

Чтобы извлечь наибольшую пользу из наших статей, необходимо обладать базовыми знаниями о Linux и иметь работоспособный компьютер с Linux, на котором можно будет выполнять все встречающиеся команды. Иногда различные версии программ выводят результаты по-разному, поэтому содержимое листингов и рисунков может отличаться от того, что вы увидите на вашем компьютере. В частности, результаты выполнения многих примеров этой статьи сильно зависят от того, какие пакеты уже были установлены в операционной системе. Хотя результаты, полученные в вашей операционной системе, могут отличаться, вы должны уловить наиболее важные общие моменты.


Краткая информация о ссылках

Как связаться с Яном

Ян – один из наших наиболее популярных и плодовитых авторов. Ознакомьтесь со всеми статьями Яна (EN), опубликованными на сайте developerWorks. Вы можете найти контактные данные в профиле Яна и связаться с ним, а также с другими авторами и участниками ресурса My developerWorks.

Файлы и директории располагаются на устройстве хранения в виде набора блоков. Информация о файле (такая, как владелец файла, время последнего обращения к файлу, размер файла, права на чтение или запись, является ли элемент файлом или директорией) хранится в индексном дескрипторе inode. Номер inode, известный также как порядковый номер файла, является уникальным в пределах отдельной файловой системы. Запись каталога содержит имя файла (или директории), а также указатель на дескриптор inode, в котором хранится информация об этом файле (или директории).

Ссылки – это просто дополнительные записи каталога, позволяющие обращаться к файлам или директориям по нескольким именам. Жесткая ссылка – это запись каталога, указывающая на дескриптор inode, тогда как мягкая, или символическая ссылка – это запись каталога, указывающая на имя объекта с другим inode. Конкретные механизмы хранения дополнительных имен зависят как от типа файловой системы, так и от длины имени. Для символических ссылок также используется термин symlinks.

Жесткие ссылки можно создавать только для файлов, но не для директорий. Исключение составляют специальные записи каталогов, указывающие на саму директорию и на ее родительскую директорию (. и ..) и представляющие собой жесткие ссылки, необходимые для подсчета числа поддиректорий. Жесткие ссылки можно использовать только в пределах одной файловой системы, поскольку они являются указателями на дескрипторы inode, которые уникальны только в пределах отдельной файловой системы. Если файл имеет несколько жестких ссылок, то он удаляется только тогда, когда удаляется последняя ссылка, указывающая на его inode, и счетчик ссылок сбрасывается до 0.

Мягкая ссылка (symlink) просто указывает на имя другого файла или директории, а не на его inode. В отличие от жестких ссылок, мягкие ссылки могут указывать на объекты разных файловых систем. Удаление мягкой ссылки не приводит к удалению файла или директории, на которую она указывает, а удаление целевого объекта не приводит к автоматическому удалению мягких ссылок.


Создание ссылок

Сначала я объясню, как создавать жесткие и мягкие ссылки, а потом научу вас находить и использовать их.

Жесткие ссылки

Для создания дополнительных жестких ссылок на существующий файл (но не на директорию, даже не смотря на то, что записи . и .. существуют в системе в виде жестких ссылок) используется команда ln.

В листинге 1 мы создаем директорию, содержащую два файла и поддиректорию subdir с двумя жесткими ссылками на файл file1; одна жесткая ссылка создается в самой директории, а другая – в поддиректории subdir. Затем в файлы file1 и file3 мы добавляем два разных слова и выводим содержимое ссылки, расположенной в поддиректории subdir. В результате мы видим, что оба файла и ссылка содержат одни и те же данные.

Листинг 1. Создание жестких ссылок
ian@attic4:~$ mkdir -p lpi104-6/subdir
ian@attic4:~$ touch lpi104-6/file1
ian@attic4:~$ touch lpi104-6/file2
ian@attic4:~$ ln lpi104-6/file1 lpi104-6/file3
ian@attic4:~$ ln lpi104-6/file1 lpi104-6/subdir/file3sub
ian@attic4:~$ echo "something" > lpi104-6/file1
ian@attic4:~$ echo "else" >> lpi104-6/file3
ian@attic4:~$ cat lpi104-6/subdir/file3sub
something
else

Если вы попытаетесь создать жесткую ссылку, указывающую на объект за пределами файловой системы, или жесткую ссылку для директории, то вы получите ошибку. Из листинга 2 видно, что моя домашняя директория и директория research располагаются в различных файловой системах, поэтому попытка создать для них жесткие ссылки оканчивается неудачей, равно как и попытка создать жесткую ссылку для директории lpi104-6.

Листинг 2. Ошибки при создании жестких ссылок
ian@attic4:~$ df . research
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda7             71205436   9355052  58233352  14% /
/dev/sdb3            137856204  27688208 103165264  22% /home/ian/ian-research
ian@attic4:~$ ln lpi104-6/file1 research/lpi104-6/file3
ln: creating hard link `research/lpi104-6/file3' => `lpi104-6/file1': No such file or dir
ectory
ian@attic4:~$ ln lpi104-6 lpidir104-6
ln: `lpi104-6': hard link not allowed for directory

Символические ссылки

Для создания символических ссылок используется команда ln с опцией -s. При создании символических ссылок используются имена файлов или директорий, которые могут быть как абсолютными, так и относительными. Если вы используете относительные имена, то, как правило, подразумевается, что создаваемые ссылки будут располагаться в текущей рабочей директории; в противном случае создаваемые вами ссылки будут относительными по отношению к другой точке файловой системы. В листинге 3 показаны два способа создания символических ссылок на файл file1, а также то, как вместо двух жестких ссылок (которые мы не смогли создать в листинге 2) создать две символические ссылки.

Листинг 3. Создание символических ссылок
ian@attic4:~$ # Create symlink using absolute paths
ian@attic4:~$ ln -s ~/lpi104-6/file1 ~/lpi104-6/file4
ian@attic4:~$ # Create symlink using relative paths
ian@attic4:~$ cd lpi104-6/
ian@attic4:~/lpi104-6$ ln -s file1 file5
ian@attic4:~/lpi104-6$ cd ..
ian@attic4:~$ # Create symlink across file systems
ian@attic4:~$ mkdir ~ian/research/lpi104-6
ian@attic4:~$ ln -s ~/lpi104-6/file1 ~ian/research/lpi104-6/file4
ian@attic4:~$ # Create symlink for directory
ian@attic4:~$ ln -s lpi104-6 lpidir104-6

По-прежнему для обращения к файлу или директории можно использовать любые имена ссылок или конечных файлов и директорий. В листинге 4 приведены некоторые примеры.

Листинг 4. Использование символических ссылок
ian@attic4:~$ echo "another line" >> ~ian/research/lpi104-6/file
ian@attic4:~$ # cat a symlink
ian@attic4:~$ cat lpi104-6/file5
something
else
another line
ian@attic4:~$ # cat a hard link
ian@attic4:~$ cat lpi104-6/file1
something
else
another line
ian@attic4:~$ # display directory contents using symlink
ian@attic4:~$ ls lpidir104-6
file1  file2  file3  file4  file5  subdir

Теперь создадим символическую ссылку, используя относительные пути, когда наша рабочая директория не является директорией, в которой мы хотим создать ссылку. В следующем разделе мы посмотрим, к чему это приведет.

Листинг 5. Создание неправильной символической ссылки
ian@attic4:~$ ln -s lpi104-6/file1 lpi104-6/file6

Определение ссылок

В предыдущем разделе было показано, как создавать ссылки, а теперь я объясню, как различать их.

Поиск информации

Сегодня во многих операционных системах для команды ls существует псевдоним ls --color=auto, который отображает различные типы объектов файловой системы разным цветом. Цвета каждого объекта можно настраивать. При использовании этой опции жесткие ссылки могут отображаться белым цветом на темно-синем фоне, а символические ссылки – голубым цветом на белом фоне, как показано на рисунке 1.

Рисунок 1. Использование опции --colors для определения ссылок
Использование опции --colors для определения ссылок

Хотя люди с хорошим зрением могут использовать и различать цвета, кому-то этот вариант не подойдет; а использовать цвета в командных сценариях или программах вообще бессмысленно. Если не брать в расчет цветовой вариант, то вам потребуется более подробная информация, например, информация, выводимая командой ls -l. В листинге 6 мы явно запретили выводить информацию в цвете, но зато всегда можно явно вызвать команду /bin/ls.

Листинг 6. Определение ссылок
ian@attic4:~$ ls --color=none -lR lpi104-6
lpi104-6:
total 12
-rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file1
-rw-r--r-- 1 ian ian    0 2010-05-26 14:11 file2
-rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file3
lrwxrwxrwx 1 ian ian   24 2010-05-27 17:15 file4 -> /home/ian/lpi104-6/file1
lrwxrwxrwx 1 ian ian    5 2010-05-27 17:15 file5 -> file1
lrwxrwxrwx 1 ian ian   14 2010-05-27 17:37 file6 -> lpi104-6/file1
drwxr-xr-x 2 ian ian 4096 2010-05-26 14:11 subdir

lpi104-6/subdir:
total 4
-rw-r--r-- 3 ian ian 28 2010-05-27 17:17 file3sub
ian@attic4:~$ /bin/ls -l ~ian/research/lpi104-6/file4
lrwxrwxrwx 1 ian ian 24 2010-05-25 11:51 /home/ian/research/lpi104-6/file4 -> /home/ian/
lpi104-6/file1
ian@attic4:~$ /bin/ls -l lpidir104-6
lrwxrwxrwx 1 ian ian 8 2010-05-27 17:16 lpidir104-6 -> lpi104-6

Второй столбец вывода в листинге 6 содержит счетчик ссылок, показывающий количество жестких ссылок на файл. Таким образом, мы видим, что файлы file1, file3 и file3sub имеют по нескольку жестких ссылок, указывающих на представляемые ими объекты; тем не менее, этой информации еще недостаточно, чтобы понять, что все они представляют собой один и тот же объект. Если удалить файл, счетчик ссылок которого имеет значение больше 1, то счетчик ссылок в индексном дескрипторе понизится на 1, но файл не будет удален, пока счетчик не достигнет 0. Значения счетчиков всех других жестких ссылок на этот файл понизятся на 1.

Символические ссылки обозначаются символом 'l' (буква L в нижнем регистре) в первом столбце вывода команды ls -l. Кроме того, после символов -> выводится целевой объект ссылки, например, file4 -> /home/ian/lpi104-6/file1. Другой подсказкой может служить то, что размер ссылки в байтах равен количеству символов в имени ее целевого объекта. Заметьте, что счетчик ссылок в выводе содержимого директории не обновляется для символических ссылок. Удаление ссылки никак не влияет на целевой объект. Символические ссылки не защищают файлы от удаления; если целевой файл был перемещен или удален, ссылка становится "битой". По этой причине во многих операционных системах информация о содержимом директории выводится в цвете (как правило, голубым цветом отображаются рабочие ссылки, а красным цветом – битые).

Для вывода номеров индексных дескрипторов inode файлов и директорий используйте команду ls с опцией -i. В листинге 7 показан как краткий, так и подробный вывод содержимого директории lpi104-6.

Листинг 7. Вывод информации inode
ian@attic4:~$ ls -i lpi104-6
1680103 file1  1680103 file3  1680107 file5  1680101 subdir
1680104 file2  1680108 file4  1680110 file6
ian@attic4:~$ ls -il lpi104-6
total 12
1680103 -rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file1
1680104 -rw-r--r-- 1 ian ian    0 2010-05-26 14:11 file2
1680103 -rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file3
1680108 lrwxrwxrwx 1 ian ian   24 2010-05-27 17:15 file4 -> /home/ian/lpi104-6/file1
1680107 lrwxrwxrwx 1 ian ian    5 2010-05-27 17:15 file5 -> file1
1680110 lrwxrwxrwx 1 ian ian   14 2010-05-27 17:37 file6 -> lpi104-6/file1
1680101 drwxr-xr-x 2 ian ian 4096 2010-05-26 14:11 subdir

Для поиска символических ссылок можно также использовать команду find с выражением -type l, как показано в листинге 8.

Листинг 8. Использование команды find для поиска символических ссылок
ian@attic4:~$ find lpi104-6 research/lpi104-6 -type l
lpi104-6/file6
lpi104-6/file5
lpi104-6/file4
research/lpi104-6/file4

Битые символические ссылки

В листинге 5 мы создали заведомо неправильную символическую ссылку. Это лишь один из примеров "битой" символической ссылки. Поскольку жесткие ссылки всегда указывают на дескриптор inode, представляющий собой файл, они всегда действительны. Однако символические ссылки могут оказаться некорректными по многим причинам, например:

  • На момент создания ссылки не существует либо исходного файла, либо целевого объекта этой ссылки (ситуация из листинга 5).
  • Целевой объект ссылки был удален или переименован.
  • Некоторые элементы пути к целевому объекту были удалены или переименованы.

Ни одна из этих причин не выдает сообщение об ошибке, поэтому при создании символических ссылок необходимо внимательно продумать то, что может с ними произойти. В частности, ваш выбор абсолютных или относительных путей должен основываться на том, что может произойти с объектом, на который вы ссылаетесь, за все время жизни ссылки.

Если вы используете цветной вывод содержимого директорий, то "битые" символические ссылки, как правило, отображаются красным цветом на черном фоне, как в случае с файлом file6 (рисунок 1). В противном случае для раскрытия информации о ссылке и ее целевом объекте необходимо использовать опцию -H или -L команды ls. Опция -H раскрывает информацию о ссылке, указанной в командной строке, а опция -L дополнительно выполняет эти же действия для всех ссылок, являющихся частью вывода. В листинге 9 продемонстрированы различия при использовании этих двух опций.

Листинг 9. Раскрытие информации о ссылках с помощью команд ls -H и ls –L
ian@attic4:~$ /bin/ls -lH lpidir104-6
total 12
-rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file1
-rw-r--r-- 1 ian ian    0 2010-05-26 14:11 file2
-rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file3
lrwxrwxrwx 1 ian ian   24 2010-05-27 17:15 file4 -> /home/ian/lpi104-6/file1
lrwxrwxrwx 1 ian ian    5 2010-05-27 17:15 file5 -> file1
lrwxrwxrwx 1 ian ian   14 2010-05-27 17:37 file6 -> lpi104-6/file1
drwxr-xr-x 2 ian ian 4096 2010-05-26 14:11 subdir
ian@attic4:~$ /bin/ls -lL lpidir104-6
/bin/ls: cannot access lpidir104-6/file6: No such file or directory
total 20
-rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file1
-rw-r--r-- 1 ian ian    0 2010-05-26 14:11 file2
-rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file3
-rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file4
-rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file5
l????????? ? ?   ?      ?                ? file6
drwxr-xr-x 2 ian ian 4096 2010-05-26 14:11 subdir

Обратите внимание на сообщение об ошибке, которое говорит о том, что файл file6 не существует, а также на строку вывода с символами '?', означающими, что этот файл не найден.

И последнее замечание, касающееся "битых" символических ссылок. Все попытки чтения из файла окончатся неудачей, поскольку он не существует. Однако попытки записи в этот файл (при наличии необходимых разрешений) окажутся успешными, как показано в листинге 10. Заметьте, что прежде чем вы сможете записать данные в файл, вы должны создать директорию lpi104-6/lpi104-6.

Листинг 10. Чтение и запись в битую символическую ссылку
ian@attic4:~$ cat lpi104-6/file6
cat: lpi104-6/file6: No such file or directory
ian@attic4:~$ echo "Testing file6" > lpi104-6/file6
bash: lpi104-6/file6: No such file or directory
ian@attic4:~$ mkdir lpi104-6/lpi104-6
ian@attic4:~$ cat lpi104-6/file6
cat: lpi104-6/file6: No such file or directory
ian@attic4:~$ echo "Testing file6" > lpi104-6/file6
ian@attic4:~$ cat lpi104-6/file6
Testing file6
ian@attic4:~$ ls lpi104-6/lpi104-6
file1

Поиск всех ссылок на объект

Для поиска файлов, являющихся жесткими ссылками на определенный inode, можно использовать команду find с опцией -samefile и именем файла или с опцией -inum и номером inode, как показано в листинге 11.

Листинг 11. Поиск всех жестких ссылок на файл
ian@attic4:~$ find lpi104-6 -samefile lpi104-6/file1
lpi104-6/subdir/file3sub
lpi104-6/file3
lpi104-6/file1
ian@attic4:~$ ls -i lpi104-6/file1
1680103 lpi104-6/file1
ian@attic4:~$ find lpi104-6 -inum 1680103
lpi104-6/subdir/file3sub
lpi104-6/file3
lpi104-6/file1

Для поиска файлов, являющихся символическими ссылками на определенный файл, используйте команду find с опцией -lname и именем файла, как показано в листинге 12. Поскольку в ссылках могут использоваться как относительные, так и абсолютные пути, стоит добавить в начало имени файла символ звездочки, чтобы найти все совпадения без исключения.

Листинг 12. Поиск всех символических ссылок на файл или директорию
ian@attic4:~$ find lpi104-6 research/lpi104-6 -lname "*file1"
lpi104-6/file6
lpi104-6/file5
lpi104-6/file4
research/lpi104-6/file4

Различия между копированием и созданием ссылок

В зависимости от конкретных задач иногда лучше использовать ссылки, а иногда копировать файлы. Главное отличие заключается в том, что с помощью ссылок для одного и того же файла можно задать несколько имен, тогда как при копировании создается два объекта с идентичными данными, но с разными именами. Несомненно, следует использовать копирование для создания резервных копий, а также при тестировании новых программ, чтобы не подвергать риску рабочие данные. Ссылки имеет смысл использовать тогда, когда необходимо создать псевдоним для файла (или директории), возможно, более удобный в использовании. В следующем разделе мы рассмотрим несколько других примеров использования ссылок.

Как вы уже видели, при обновлении файла обновляются и все ссылки на него, чего не происходит в случае его копирования. Также помните о том, что символические ссылки могут оказаться "битыми", но в результате последующих операций записи может быть создан новый файл. Будьте аккуратны при использовании ссылок.


Ссылки и администрирование

Ссылки, в особенности символические, часто используются для администрирования Linux-систем. Например, ссылки часто используются для команд, что позволяет пользователям не знать номер версии используемой команды, но при необходимости получать доступ к различным ее версиям, указывая обычное имя. Как видно из листинга 13, команда gcc в моей системе – это символическая ссылка, которая имеет три различных имени.

Листинг 13. Использование псевдонимов для различных версий команд
ian@attic4:~$ which gcc
/usr/bin/gcc
ian@attic4:~$ ls -l /usr/bin/gcc
lrwxrwxrwx 1 root root 7 2009-12-28 23:17 /usr/bin/gcc -> gcc-4.4
ian@attic4:~$ find /usr/bin -lname "*gcc-4.4"
/usr/bin/x86_64-linux-gnu-gcc-4.4
/usr/bin/gcc
/usr/bin/x86_64-linux-gnu-gcc

В других случаях ссылки могут использоваться тогда, когда несколько команд с разными именами используют одинаковый код, лежащий в их основе; например, это могут быть различные команды для остановки и перезагрузки системы. Иногда новое имя команды, например genisofs, замещает собой старое имя этой же команды (mkisofs), которое продолжает использоваться в качестве ссылки на новую команду. Ссылки активно используются системой альтернатив, позволяя вам выбирать для использования одну из нескольких альтернативных команд, таких как java. Некоторые примеры приведены в листинге 14.

Листинг 14. Примеры использования псевдонимов команд
ian@attic4:~$ find /sbin -lname "initctl"
/sbin/restart
/sbin/start
/sbin/stop
/sbin/status
/sbin/reload
ian@attic4:~$ ls -l $(which mkisofs)
lrwxrwxrwx 1 root root 11 2009-12-28 23:17 /usr/bin/mkisofs -> genisoimage
ian@attic4:~$ ls -l $(which java)
lrwxrwxrwx 1 root root 22 2010-01-17 15:16 /usr/bin/java -> /etc/alternatives/java

Для работы с библиотеками также активно используются символические ссылки, которые позволяют программам обращаться к библиотекам по их общему имени при обновлении версии, а также управляют библиотеками в 64-разрядных системах, в которых могут выполняться 32-разрядные программы. Некоторые примеры приведены в листинге 15. Обратите внимание на то, что в некоторых ссылках используются абсолютные пути, а в некоторых – относительные.

Листинг 15. Ссылки на библиотеки
ian@attic4:~$ ls -l /usr/lib/libm.so
lrwxrwxrwx 1 root root 14 2010-05-27 11:23 /usr/lib/libm.so -> /lib/libm.so.6
ian@attic4:~$ find  /usr/lib/ -lname "*libstdc++*"
/usr/lib/gcc/x86_64-linux-gnu/4.4/libstdc++.so
/usr/lib/libstdc++.so.6
ian@attic4:~$ ls -l /usr/lib/gcc/x86_64-linux-gnu/4.4/libstdc++.so
lrwxrwxrwx 1 root root 23 2010-01-19 08:49 /usr/lib/gcc/x86_64-linux-gnu/4.4/libstdc++.s
o -> ../../../libstdc++.so.6

Для получения дополнительной информации об использовании ссылок обратитесь к man-страницам команды ln и других команд из этого руководства.

Ресурсы

Научиться

  • Оригинал статьи: Learn Linux, 101: Create and change hard and symbolic links (EN).
  • На Web-сайте программы сертификации LPIC (EN) вы найдете подробные цели, списки задач и примерные вопросы всех трех уровней сертификации на администратора Linux-систем профессионального института Linux. В частности, на этом сайте представлены цели экзаменов LPI 101 и LPI 102 по состоянию на апрель 2009 года. Всегда обращайтесь к Web-сайту программы сертификации LPIC, чтобы узнать последние цели.
  • Просмотрите всю серию статей для подготовки к экзаменам института LPI (EN) на сайте developerWorks, основанных на предыдущих целях, определенных до апреля 2009 года, чтобы изучить основы администрирования Linux и подготовиться к экзаменам для получения сертификата администратора Linux.
  • Дополнительные примеры использования символических ссылок для администрирования Linux-систем вы можете найти в следующих статьях:

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux
ArticleID=781892
ArticleTitle=Изучаем Linux, 101: Работа с жесткими и символическими ссылками
publish-date=12202011