Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / необычный переход по ссылкам / 13 сообщений из 13, страница 1 из 1
25.09.2008, 18:35:20
    #35560630
iliag
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
необычный переход по ссылкам
Кто нибудь сталкивался вот с такой штукой:
...
Рейтинг: 0 / 0
25.09.2008, 18:38:41
    #35560639
iliag
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
необычный переход по ссылкам
случайно по привычке на ctrl+Enter нажал)

ну так вот.
Есть папка:
/var/www/test/contsnt/
В ней сидят ещё несколько файлов, обычных папок и одна папка типа link.
И вот теперь если я обращусь к файлу который сидит в директории /contsnt/ вот так:
...
Рейтинг: 0 / 0
25.09.2008, 18:43:00
    #35560650
iliag
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
необычный переход по ссылкам
/var/www/test/contsnt/temp/xxx/yyy/../../../text.php то этот файл не будет найден,
а если сделать следующую команду
ls -l /var/www/test/contsnt/temp/xxx/yyy/../../../ , то на экран будет выведен только каталог temp, остальные файлы и каталоги будут отсутствовать вообще.

Подскажите если кто знает что это за мистка такая и как с этим бороться. Извините за 3 месаги подряд, просто привык переходить на новую строчку ctrl+enter)
...
Рейтинг: 0 / 0
25.09.2008, 19:04:44
    #35560689
avb1003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
необычный переход по ссылкам
Вы бы хоть сказали на чем и где работаете.

Может быть мы тоже захотим "переходить на новую строчку ctrl+enter".
У меня, например, в bash хоть enter хоть ctrl+enter всегда выдавало и выдает новую
пустую строку с приглашением.
...
Рейтинг: 0 / 0
25.09.2008, 19:07:07
    #35560694
iliag
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
необычный переход по ссылкам
да, извините, забыл написать - Ubuntu 5
...
Рейтинг: 0 / 0
26.09.2008, 10:49:55
    #35561399
iliag
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
необычный переход по ссылкам
Моё размышление по этому поводу:
если есть вот такая цепочка директорий /p1/p2/p3/p4/p5, то мы всегда можем вернуться на нужно число уровней вверх, например нам нужна папка p3, тогда мы пишем следующую команду:
Код: plaintext
cd /p1/p2/p3/p4/p5/../../
Но всё обстоит иначе если у нас в этой цепочке есть папки-ссылки, например p3 это ссылка на папку /v1/v2/v3/ и если мы напишем в этом случае следующую команду:
Код: plaintext
cd /p1/p2/p3/p4/p5/../../
, то мы окажемся в директории /v1/v2/v3/, а если:
Код: plaintext
cd /p1/p2/p3/p4/p5/../../../ 
,то в /v1/v2/.
Вопрос такой, есть ли способ заставить линукс по команде:
Код: plaintext
cd /p1/p2/p3(ссылка на /v1/v2/v3/)/p4/p5/../../../ 
переходить не в /v1/v2/, а в /p1/p2/ ?
...
Рейтинг: 0 / 0
26.09.2008, 11:12:51
    #35561489
zZzZz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
необычный переход по ссылкам
iliag
Вопрос такой, есть ли способ заставить линукс по команде:
Код: plaintext
cd /p1/p2/p3(ссылка на /v1/v2/v3/)/p4/p5/../../../ 
переходить не в /v1/v2/, а в /p1/p2/ ?
bash 3.1.17 (debian etch) так и делает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
test@amalthea:~$ mkdir -p ~/v1/v2/v3/p4/p5
test@amalthea:~$ mkdir -p ~/p1/p2
test@amalthea:~$ cd ~/p1/p2
test@amalthea:~/p1/p2$ ln -s ~/v1/v2/v3 p3
test@amalthea:~/p1/p2$ cd p3
test@amalthea:~/p1/p2/p3$ cd p4/p5
test@amalthea:~/p1/p2/p3/p4/p5$ cd ~
test@amalthea
test@amalthea:~$ cd ~/p1/p2/p3/p4/p5/../../../
test@amalthea:~/p1/p2$ pwd
/home/test/p1/p2
test@amalthea:~/p1/p2$ echo $SHELL
/bin/bash
test@amalthea:~/p1/p2$ /bin/bash --version
GNU bash, version  3 . 1 . 17 ( 1 )-release (x86_64-pc-linux-gnu)
Copyright (C)  2005  Free Software Foundation, Inc.
test@amalthea:~/p1/p2$
...
Рейтинг: 0 / 0
26.09.2008, 11:59:52
    #35561730
iliag
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
необычный переход по ссылкам
Я попробовал - действительно работает. Я просто тестировал это на команде
Код: plaintext
ls -l /p1/p2/p3(ссылка на /v1/v2/v3/)/p4/p5/../../../
Вот она реально показывает другую папку.
Для чего мне это нужно: у меня есть директория /p1/p2/ и в ней лежит файл data.txt, мне нужно спустится вниз по всем 3-м папкам(p1,p2,p3) и получить доступ к файлу, фактически запустить команду:

Код: plaintext
cat /p1/p2/p3(ссылка на /v1/v2/v3/)/p4/p5/../../../data.txt
но получается так, что после перехода по ссылкам команда cat оказывается не в той директории
...
Рейтинг: 0 / 0
26.09.2008, 12:13:16
    #35561791
zZzZz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
необычный переход по ссылкам
А если вместо cat использовать:
Код: plaintext
1.
pushd .;cd /p1/p2/p3/p4/p5/../../../;cat ./data.txt;popd
...
Рейтинг: 0 / 0
29.09.2008, 18:33:42
    #35566097
iliag
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
необычный переход по ссылкам
команда cd поменяет мне текущую директорию - а этого бы делать не хотелось
...
Рейтинг: 0 / 0
29.09.2008, 23:45:36
    #35566502
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
необычный переход по ссылкам
iliagда, извините, забыл написать - Ubuntu 5

иДЕ ТЫ ЕЁ ОТКОПАЛ, такую красивую ? уже 8-ая вышла в начале весны.
...
Рейтинг: 0 / 0
29.09.2008, 23:51:29
    #35566511
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
необычный переход по ссылкам
iliag/var/www/test/contsnt/temp/xxx/yyy/../../../text.php то этот файл не будет найден,
а если сделать следующую команду
ls -l /var/www/test/contsnt/temp/xxx/yyy/../../../ , то на экран будет выведен только каталог temp, остальные файлы и каталоги будут отсутствовать вообще.

Подскажите если кто знает что это за мистка такая и как с этим бороться. Извините за 3 месаги подряд, просто привык переходить на новую строчку ctrl+enter)

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

Т.е. еще можно сказать - запись ".." не динамическая, она не "помнит" как в неё пришли, это на самом деле просто обычный файл -- ссылка на родительский каталог, который один.

Так что всё это так и должно работать, если я всё понял правильно.
...
Рейтинг: 0 / 0
30.09.2008, 14:10:17
    #35567596
zZzZz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
необычный переход по ссылкам
iliagкоманда cd поменяет мне текущую директорию - а этого бы делать не хотелось
man pushd
man popd
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / необычный переход по ссылкам / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]