summaryrefslogtreecommitdiff
path: root/LINUX/Как удалять ссылки.md
blob: 404e9a9503731d12aae81511bcf71ff8eeffd027 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
В общем-то, задача довольно примитивная, но и пост получится не гигантский. Посмотрим на несколько команд, которые помогут более эффективно расправляться с ссылками.

Обычно мы как проверяем ссылку - выполняем "ls -l" и смотрим на тип:

`$ ls -l
`lrwxrwxrwx ... sftp-server -> openssh/sftp-server


Если будем работать через find, руками тип смотреть не придется. Для фильтрации по символьным ссылкам у нас есть опция "-type l":


`$ find /usr/lib -type l
`/usr/lib/gvfs/gvfsd-afp
`/usr/lib/libmultipath.so


Если мы переживаем, что удалим что-то лишнее, можем проверить путь к файлу, на который указывает ссылка. Для этого нужно для вывода команды выполнить "-exec ls -l {} \":


`$ find /usr/lib -type l -exec ls -l {} \;
`/usr/lib/gvfs/gvfsd-afp -> ../../libexec/gvfsd-afp
`/usr/lib/libmultipath.so -> libmultipath.so.0


Напоследок разберемся с поиском и удалением битых ссылок, которые никуда не ведут. Для такой цели подойдет параметр "-xtype l":


`$ find ~/broken_links/ -xtype l