softlinky a kopirovani

Vítáme všechny návrhy na nové funkce a vylepšení programu Altap Salamander. Pro každý návrh prosím vytvořte samostatný příspěvek.
phanousk
Posts: 9
Joined: 03 Nov 2006, 00:09
Location: Plzen

softlinky a kopirovani

Post by phanousk »

Dobry den,
dalo by se v kopirovacim dialogu dodelat zaskrtavatko "preserve softlinks"? Vzhledem k tomu, ze Salamander NTFS softlinky (napriklad vytvorene pres plugins-> automation->make link) normalne rozpoznava, by to nemel byt takovy problem. Jde mi o to, aby byla moznost si zvolit, jestli se ma soubor (adresar) typu "link" zkopirovat i s obsahem, nebo opet jen jako odkaz. Obcas ta data nejsou potreba vickrat... System Win7 x64 Enterprise, Salamander 2.54 EDU
Dekuji a zdravim, Petr Hanousek
Cigydd
Posts: 7
Joined: 23 Jan 2011, 20:49

Re: softlinky a kopirovani

Post by Cigydd »

Hlasuji pro :)
User avatar
Ether
Posts: 1471
Joined: 10 May 2007, 16:08
Location: Czech Republic
Contact:

Re: softlinky a kopirovani

Post by Ether »

Jo, občas na to taky narazím, když chci pouze překopírovat sadu linků a ono mi to kopíruje cíle.
Ελληνικά rulez.
Cigydd
Posts: 7
Joined: 23 Jan 2011, 20:49

Re: softlinky a kopirovani

Post by Cigydd »

Tak ony ty hardlinky a softlinky jsou ve Windows (v NTFS) novinkou opsanou (nebo vlastně zděděnou) od Unixu (jádro Nové technologie (NT) tvoří druh Unixu nebo snad podle některých druh BSD, Interix).
Novinkou proto, že začaly být v installaci operačního systému vytvářeny Microsoftem teprve ve Vistě.
Katastrofálním hříchem Prquo$oftu je, že úplně ignoroval zacházení s nimi ve svém Průzkumníku (explorer.exe), takže, když si člověk smazal softlink, už ho nedokázal žádnou normální a běžnou cestou obnovit, a když si smazal hardlink, smazal navíc zároveň i jeho cíl!
Takže inspirací pro rozlišování kopírování pevných odkazů a měkkých (v unixové terminologii symbolických) odkazů od kopírování jejich cílů je unixový Midnight Commander, který má v kopírovacím okénku zaškrtávátko Následovat odkazy, přičemž výchozí nastavení je nenásledovat odkazy a kopírovat je tak, jak jsou.

Zkusím sem vlepit jakýsi textový „snímek obrazovky“ Midnight Commanderu z PuTTYny:

Code: Select all

  Levý     Soubor     Příkaz     Nastavení     Pravý
┌<─ ~ ────────────────────────────.[^]>┐┌<─ ~ ────────────────────────────.[^]>┐
│'n    Jméno      │ Délka │ Modifikace ││'n    Jméno      │ Délka │ Modifikace │
│/..                                                                      13:34│
│/.Bl ┌─────────────────────────── Kopírovat ───────────────────────────┐  2010│
│/.Md │ Kopírovat adresář „.BloGTK“ vyhovující masce:                   │ 04:04│
│/.Sk │ *                                                           [^] │ 00:07│
│/.Vi │                                  [x] Význam vzorů jako v shellu │ 20:48│
│/.ad │ na:                                                             │ 02:05│
│/.ap │ /home/pavel/                                                [^] │ 06:54│
│/.au │ [ ] Následovat odkazy   [ ] Ponořit se do existujících adresářů │ 17:32│
│/.au │ [x] Zachovat atributy                     [ ] Stabilní symlinky │ 03:28│
│/.be │                                                                 │ 05:47│
│/.bl │              [< OK >]  [ Na pozadí ]  [ Zrušit ]                │ 04:35│
│/.bo └─────────────────────────────────────────────────────────────────┘ 05:16│
│/.ca                                                                     11:04│
│/.cddb           │   4096│30.zář 21:46││/.cddb           │   4096│30.zář 21:46│
│/.compiz         │   4096│29.čec 01:37││/.compiz         │   4096│29.čec 01:37│
├──────────────────────────────────────┤├──────────────────────────────────────┤
│/.BloGTK                              ││VYŠ-ADR                               │
└───────────────────── 5180M/86G (5%) ─┘└───────────────────── 5180M/86G (5%) ─┘
Pozn.: Příkazy shellu nefungují, pokud nepracujete na lokálním systému souborů.
[pavel@dell ~]$                                                              [^]
 1Pomoc  2Menu   3Zobraz 4Uprav  5Kopie  6Přesun 7NovAdr 8Smazat 9H.Menu10Konec
Tolik jen vývojářům pro inspiraci :wink:
phanousk
Posts: 9
Joined: 03 Nov 2006, 00:09
Location: Plzen

Re: softlinky a kopirovani

Post by phanousk »

No od toho ten hardlink je preci hard, ze maze i cil, ne? Na nic jineho hardlink neni...
PH
Cigydd
Posts: 7
Joined: 23 Jan 2011, 20:49

Re: softlinky a kopirovani

Post by Cigydd »

phanousk wrote:No od toho ten hardlink je preci hard, ze maze i cil, ne? Na nic jineho hardlink neni...
PH
Aha, aha, to máte pravdu. Nevím, co jsem to tu vyplodil za nesmysl. Asi jsem to měl nechat na ráno, jež je, jak známo, moudřejší večera (a noci) :D
User avatar
Ether
Posts: 1471
Joined: 10 May 2007, 16:08
Location: Czech Republic
Contact:

Re: softlinky a kopirovani

Post by Ether »

phanousk wrote:No od toho ten hardlink je preci hard, ze maze i cil, ne? Na nic jineho hardlink neni...
No já měl za to, že hardlink nemá cíl jako takový, ale že je rovnocenný s ostatními soubory, které odkazují na stejná data, a potom se u těch dat akorát počítá, kolik na ně odkazuje hardlinků (ve většině případu přesně 1), a po zrušení posledního se data smažou.
Ελληνικά rulez.
Cigydd
Posts: 7
Joined: 23 Jan 2011, 20:49

Re: softlinky a kopirovani

Post by Cigydd »

Ether wrote:
phanousk wrote:No od toho ten hardlink je preci hard, ze maze i cil, ne? Na nic jineho hardlink neni...
No já měl za to, že hardlink nemá cíl jako takový, ale že je rovnocenný s ostatními soubory, které odkazují na stejná data, a potom se u těch dat akorát počítá, kolik na ně odkazuje hardlinků (ve většině případu přesně 1), a po zrušení posledního se data smažou.
Aha, takže cosi jako reference counting v garbage collectorech některých programmovacích jazyků (Python, .NET Framework, Mono) - po zrušení posledního odkazu se data smažou?
Já si to představoval tak, že se při smazání jakéhokoliv hardlinku smažou všechny ostatní, které znamenají ten samý soubor. Ale v tom se odráží má nezkušenost. Ony mohou být i rozdíly v tom, jak chápou hardlinky Windows a Linux, resp. NTFS a linuxové souborové systémy. Ví to tu někdo přesněji?
fraktik
Posts: 209
Joined: 27 Apr 2007, 12:13
Location: cz
Contact:

Re: softlinky a kopirovani

Post by fraktik »

Cigydd wrote:
Ether wrote:
phanousk wrote:No od toho ten hardlink je preci hard, ze maze i cil, ne? Na nic jineho hardlink neni...
No já měl za to, že hardlink nemá cíl jako takový, ale že je rovnocenný s ostatními soubory, které odkazují na stejná data, a potom se u těch dat akorát počítá, kolik na ně odkazuje hardlinků (ve většině případu přesně 1), a po zrušení posledního se data smažou.
Ony mohou být i rozdíly v tom, jak chápou hardlinky Windows a Linux, resp. NTFS a linuxové souborové systémy. Ví to tu někdo přesněji?
Nás kdysi dávno ve škole učili tu Etherovu versi (OS neutrální základy programování (PPA), btw imho phanousk tam taky chodil ;-) )
Cigydd
Posts: 7
Joined: 23 Jan 2011, 20:49

Re: softlinky a kopirovani

Post by Cigydd »

Vy jste ale povedená partička ;-)

Díky za poučení o pevných odkazech! 8)
Post Reply