Kirjoittaja Aihe: Tiedoston linkkien määrä ja sijainnit (ln) [RATKAISTU]  (Luettu 2996 kertaa)

odysseus

  • Vieras
Eli nyt tuli pulma.

Pitäisi jotenkin saada selville mistä kaikkialta tiedostoon on linkitetty. (siis ln tai ln -s).

Mitenköhän tämän tekisi? Kyseessä on "suljettu hakemiston haara", eli esimerkiksi nain

Koodia: [Valitse]
hakemisto
 |_alihakemisto
 |   |_tiedosto
 |   |_alihakemisto_alihakemisto
 |        |_linkki_tiedostoon
 |_toinen_alihakemisto
     |_linkki_tiedostoon

Ja tuosta pitäisi siis jotenkin pystyä pitämään kirjaa, että mistä kaikkialta on linkitetty "tietosto":on.


Edit: Onkohan ainoa tapa tehdä joku skripti, joka käy läpi hakemistojen tiedostot ja lukee ne linkit ja tekee niistä jonkinlaisen tietokannan..... Sit se johonkin "hourly" ajoon tmv?
« Viimeksi muokattu: 28.01.14 - klo:17.23 kirjoittanut odysseus »

retu

  • Käyttäjä
  • Viestejä: 949
    • Profiili
Vs: Tiedoston linkkien määrä ja sijainnit (ln)
« Vastaus #1 : 26.01.14 - klo:14.21 »
Käytä find komentoa ja -samefile parametria:
Koodia: [Valitse]
find hakemisto/ -samefile tiedosto
Tai sitten voit katsoa inode numeron ls -i komennolla ja etsiä find -inum komennolla.

nm

  • Käyttäjä
  • Viestejä: 16428
    • Profiili
Vs: Tiedoston linkkien määrä ja sijainnit (ln)
« Vastaus #2 : 26.01.14 - klo:14.37 »
Käytä find komentoa ja -samefile parametria:
Koodia: [Valitse]
find hakemisto/ -samefile tiedosto

Symbolisten linkkien löytämiseksi tarvitaan lisäksi parametri -L:

Koodia: [Valitse]
find -L hakemisto/ -samefile tiedosto

odysseus

  • Vieras
Vs: Tiedoston linkkien määrä ja sijainnit (ln)
« Vastaus #3 : 27.01.14 - klo:15.37 »
JEP.

Tuotapa pitää kokeilla.

Ongelma on siinä, että nyt pitäisi saada tietoon se, mistä on linkkejä, joka takaa sen, että voiko tiedostoa muokata vai pitääkö johonkin kohteeseen luoda uusi tiedosto kopioimalla alkuperäinen ja sitten muokkaamalla sitä....

Tässä on siis tämmöinen "usean tiedoston hyperlinkkitiedosto"-systeemi ajatuksena (eli esimerkiksi sama header ja footer on useassa tiedostossa, myös joku muu osa siitä voi olla...) ja silloin yhden tiedoston sisältö ei voi muuttua ellei tiedetä mihin se vaikuttaa... Nyt vain pitäisi saada aikaiseksi oikein kevyt ratkaisu (mielellään ilman tietokantaa), joten siksi ajattelin tietty linkkejä (mihin "winukat" ei pysty).


Tutkin asiaa.

jekku

  • Käyttäjä
  • Viestejä: 2624
    • Profiili
Vs: Tiedoston linkkien määrä ja sijainnit (ln)
« Vastaus #4 : 27.01.14 - klo:17.32 »
JEP.

Tuotapa pitää kokeilla.

Ongelma on siinä, että nyt pitäisi saada tietoon se, mistä on linkkejä, joka takaa sen, että voiko tiedostoa muokata vai pitääkö johonkin kohteeseen luoda uusi tiedosto kopioimalla alkuperäinen ja sitten muokkaamalla sitä....

Tässä on siis tämmöinen "usean tiedoston hyperlinkkitiedosto"-systeemi ajatuksena (eli esimerkiksi sama header ja footer on useassa tiedostossa, myös joku muu osa siitä voi olla...) ja silloin yhden tiedoston sisältö ei voi muuttua ellei tiedetä mihin se vaikuttaa... Nyt vain pitäisi saada aikaiseksi oikein kevyt ratkaisu (mielellään ilman tietokantaa), joten siksi ajattelin tietty linkkejä (mihin "winukat" ei pysty).


Tutkin asiaa.

Komento file tunnistaa softlinkin, mutta 'kovaa' linkkiä se ei erottele
 
Koodia: [Valitse]
jekku@kone25:~$ touch foo.txt
jekku@kone25:~$ ln -s foo.txt bar.txt
jekku@kone25:~$ file bar.txt
bar.txt: symbolic link to `foo.txt'

Kovat linkit mitä ilmeisimmin näet pitkästä listauksesta
Koodia: [Valitse]
jekku@kone25:~$ ls -l foo.txt
-rw-r--r-- 1 jekku jekku 4 tammi 27 17:28 foo.txt
jekku@kone25:~$ ln foo.txt footy.txt
jekku@kone25:~$ ls -l foo.txt
-rw-r--r-- 2 jekku jekku 4 tammi 27 17:28 foo.txt




odysseus

  • Vieras
Vs: Tiedoston linkkien määrä ja sijainnit (ln)
« Vastaus #5 : 28.01.14 - klo:17.23 »
Pahus!

Yli 12 vuotta linux käyttöä ja aina vaan oppii uutta!

En meinaan tiennytkään tuosta "file"-komennosta. Sehän taitaa ratkaista kaiken. Pikku softa vain sen ympärille....

nm

  • Käyttäjä
  • Viestejä: 16428
    • Profiili
Vs: Tiedoston linkkien määrä ja sijainnit (ln)
« Vastaus #6 : 28.01.14 - klo:17.28 »
En meinaan tiennytkään tuosta "file"-komennosta. Sehän taitaa ratkaista kaiken. Pikku softa vain sen ympärille....

Mikä vika findissa oli? Sen kanssa ei tarvitsisi tehdä skriptiä hakemistorakenteen läpikäyntiin...

juyli

  • Vieras
Vs: Tiedoston linkkien määrä ja sijainnit (ln)
« Vastaus #7 : 30.01.14 - klo:23.33 »
Yli 12 vuotta linux käyttöä ja aina vaan oppii uutta!
En meinaan tiennytkään tuosta "file"-komennosta.

Hukkaan heitetyt 12-vuotta. file on ihan peruskomentoja selvittää, mitä jokin tiedosto pitää sisällään ilman HEX-editoreita.
Linux (tai muutkaan Unix:it) eivät ole riippuvaisia ns. tiedostopäätteistä.
Koodia: [Valitse]
man file Linux/Unix -perusteet kannattaa lukaista vaikkapa lehtevinä teoksina (lue: kirjat). Useimpien jakelujen mukana on tarjolla megatavuittain infoa järjestelmään tutustumiseksi. (man info)