Определение того, существует ли уже программная ссылка [закрыто]

Как определить, существует ли уже программная ссылка? Не знаю, как это определить. Я новичок в Unix / Linux

2
задан 23 October 2013 в 04:33

3 ответа

Если в вашем текущем каталоге есть soft-link

Используйте команду ll для отображения длинного списка файлов

Вывод будет таким

lrwxrwxrwx   1 root root    24 Dec  2  2011 default-java -> java-1.6.0-openjdk-amd64/
drwxr-xr-x   6 root root  4096 Oct  8 11:29 java-1.5.0-gcj-4.6/
lrwxrwxrwx   1 root root    24 Dec  2  2011 java-1.6.0-openjdk -> java-1.6.0-openjdk-amd64/
lrwxrwxrwx   1 root root    20 Jul 17 21:41 java-1.6.0-openjdk-amd64 -> java-6-openjdk-amd64/
-rw-r--r--   1 root root  2387 Jul 17 21:41 .java-1.6.0-openjdk-amd64.jinfo

если перед rwrwrw есть l, то его мягкая ссылка

lrwxrwxrwx   1 root root    24 Dec  2  2011 default-java -> java-1.6.0-openjdk-amd64/

Это мягкая ссылка, java-1.6.0-openjdk-amd64 была мягко привязана к default-java

Мягкие ссылки будут отображаться в небе синий цвет

0
ответ дан 23 October 2013 в 04:33

Как пользователь

$ ls -l 

, если первый символ битов режима (первый столбец) равен l, это ссылка.

Если вы просто хотите проверить это из скрипта,

$ test -L maybealink && echo "it is a symlink"
0
ответ дан 23 October 2013 в 04:33

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

find . -lname "path/to/filename" -ls

, например

find . -lname "develop/source/itried.cpp" -ls

, чтобы найти и показать (начиная с текущего каталога) любые символические ссылки файла с именем itried.cpp, который находится в каталоге [ 114].

или

find . -lname "*.cpp" -ls

, чтобы найти символические ссылки на любые .cpp файлы в вашем текущем каталоге.

. после поиска говорит ему искать из вашего текущего каталога вниз.

0
ответ дан 23 October 2013 в 04:33

Другие вопросы по тегам:

Похожие вопросы: