Create and change hard and symbolic links (weight: 2)

Candidates should be able to create and manage hard and symbolic links to a file.
Create links.
Identify hard and/or softlinks.
Copying versus linking files.
Use links to support system administration tasks.

The following is a partial list of the used files, terms and utilities

ln

Содержание:
1 Hard Links
2 Create Hard Links
3 Search Hard Links
4 Soft Links
5 Create Soft Links
6 Search Soft Links

Жесткими ссылками называются указатели на inode.

Для создания жестких ссылок используется команда ln

# ln [options] source link

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

# ln file1 file2
# ls -il file*
525364 -rw-r--r-- 2 root root 8 2011-02-02 22:21 file1
525364 -rw-r--r-- 2 root root 8 2011-02-02 22:21 file2

Поиск жестких ссылок
C помощью команды ls

# ls -il file*
525364 -rw-r--r-- 2 root root 8 2011-02-02 22:21 file1
525364 -rw-r--r-- 2 root root 8 2011-02-02 22:21 file2

С помощью команды find

# find . -samefile file2
./file1
./file2
# # find . -inum 525364
./file1
./file2

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

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

Символические ссылки обозначены маленькой буквой l в первом символе

# ls -l /sbin/mkfs.*
-rwxr-xr-x 1 root root  13784 2010-12-10 15:52 /sbin/mkfs.bfs
-rwxr-xr-x 1 root root 108300 2010-06-21 11:35 /sbin/mkfs.btrfs
-rwxr-xr-x 1 root root  21996 2010-12-10 15:52 /sbin/mkfs.cramfs
-rwxr-xr-x 1 root root  55140 2010-08-18 19:01 /sbin/mkfs.ext2
-rwxr-xr-x 1 root root  55140 2010-08-18 19:01 /sbin/mkfs.ext3
-rwxr-xr-x 1 root root  55140 2010-08-18 19:01 /sbin/mkfs.ext4
-rwxr-xr-x 1 root root  55140 2010-08-18 19:01 /sbin/mkfs.ext4dev
-rwxr-xr-x 1 root root  59040 2009-12-08 10:37 /sbin/mkfs.jfs
-rwxr-xr-x 1 root root  17956 2010-12-10 15:52 /sbin/mkfs.minix
lrwxrwxrwx 1 root root      7 2011-01-12 13:57 /sbin/mkfs.msdos -> mkdosfs
-rwxr-xr-x 1 root root 157784 2010-03-07 06:58 /sbin/mkfs.reiserfs
lrwxrwxrwx 1 root root      7 2011-01-12 13:57 /sbin/mkfs.vfat -> mkdosfs
-rwxr-xr-x 1 root root 305344 2010-05-31 12:34 /sbin/mkfs.xfs

Создание символических ссылок

# touch file3
# ln -s file3 file4
# ln -s file3 file 5
# ls -l file*
-rw-r--r-- 1 root root 0 2011-02-02 22:36 file3
lrwxrwxrwx 1 root root 5 2011-02-02 22:36 file4 -> file3
lrwxrwxrwx 1 root root 5 2011-02-02 22:36 file5 -> file3

Поиск символических ссылок
С помощью команды find и параметром -lname

# find . -lname "*file3"
./file5
./file4

– Удаление ссылки не влияет на файл, на который она ссылается.
– Символическая ссылка не защищает файл от удаления; в случае, если файл, на который указывает ссылка, перемещается или удаляется, эта ссылка будет испорчена.

Вопросы по LPI (приблизительные)

1) You want to create a link from your home directory on your hard disk to a directory on a
CD-ROM drive. Which of the following types of links might you use?
A. Only a symbolic link.
B. Only a hard link.
C. Either a symbolic or a hard link.
D. None of the above; such links aren’t possible under Linux.
2) The default action of the ln command is to create a _______________.
3) Which of the following results when a soft link is copied?
A. A new copy of the soft link is created.
B. A hard link to the original file is created.
C. A hard link to the soft link is created.
D. A new copy of the original file is created.

Ответы:

1) The correct answer is A. Symbolic links can point across filesystems, so creating a symbolic link 
from one filesystem  to another (on the CD-ROM) isn’t a problem.
Hard links, as in options B and C, are restricted to a single filesystem and so won’t work for the
described purpose. Because symbolic links will work as described, option D is incorrect.
2) hard link. By default, the ln command creates a hard link to the specified file.
3) The correct answer is D. When a soft link is copied, a new copy of the original file is stored at
the target location.

Читать:
Create and change hard and symbolic links
Жесткие и символические ссылки