Schrift
[thread]5818[/thread]

Ermitteln von Links auf eine Datei (*nix)



<< |< 1 2 3 >| >> 22 Einträge, 3 Seiten
snarf
 2003-10-14 13:10
#63185 #63185
User since
2003-08-14
77 Artikel
BenutzerIn
[default_avatar]
Moin,

wie kann ich feststellen, ob auf eine Datei ein Link gelegt wurde? Also nicht, ob Datei a auf b linkt sondern umgekehrt, ob es zur Datei b einen Link a gibt und wo sich dieser befindet.

Any suggestions welcome!!!
Ishka
 2003-10-14 13:42
#63186 #63186
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Ob es symbolische Links gibt, wird nicht gehen, außer alle in Frage kommenden dateien danach zu prüfen. mit (stat("Datei"))[3] bekommst du die Anzahl der Hardlinks.
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
betterworld
 2003-10-14 17:59
#63187 #63187
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
[quote=Ishka,14.10.2003, 11:42]außer alle in Frage kommenden dateien danach zu prüfen.[/quote]
Code: (dl )
find / -lname /this/is/my/file

Bis das dann fertig ist, hast Du noch Zeit, einen Kaffee aufzusetzen.
Eventuell solltest Du es mit ">" in eine Datei umleiten, weil wahrscheinlich der ganze Bildschirm voll mit irgendwelchen Fehlermeldungen ist (er darf naemlich in vielen Verzeichnissen nicht nachgucken, es sei denn, du fuehrst es als root aus), wenn Du von der Kaffeemaschine wieder kommst. Eventuelle Treffer sind dann laengst weggescrollt.\n\n

<!--EDIT|betterworld|1066140136-->
Strat
 2003-10-14 18:09
#63188 #63188
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
weichei :-)
find / -lname /this/is/my/file 2>/dev/null
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
betterworld
 2003-10-14 18:13
#63189 #63189
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Die Fehlermeldungen koennen aber durchaus brauchbar sein. Stell Dir vor, find moechte Dir mitteilen, dass das directory, das du durchsuchen moechtest, gar nicht existiert. Da wirst Du Dich vielleicht freuen, dass es so schnell durchgelaufen ist, aber wundern, dass nichts gefunden wurde...
Strat
 2003-10-14 18:33
#63190 #63190
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ich sagte doch: weichei :-))
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
betterworld
 2003-10-14 18:37
#63191 #63191
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
*schnief* :(
Relais
 2003-10-14 18:39
#63192 #63192
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=betterworld,14.10.2003, 16:13]Die Fehlermeldungen koennen aber durchaus brauchbar sein. Stell Dir vor, find moechte Dir mitteilen, dass das directory, das du durchsuchen moechtest, gar nicht existiert. Da wirst Du Dich vielleicht freuen, dass es so schnell durchgelaufen ist, aber wundern, dass nichts gefunden wurde...[/quote]
Neenee, find(1) ist nicht so mitfühlend.
Es sagt Dir nur, wo es nicht leseberechtigt ist.

"Nicht gefunden" wird durch "keine Ausgabe" mitgeteilt.

Übrigens gibt es auch CPAN:File::Find
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
betterworld
 2003-10-14 18:58
#63193 #63193
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
busseniu@luxemburg:~ (0) [16:58:32] % find /afd
find: /afd: Datei oder Verzeichnis nicht gefunden
snarf
 2003-10-15 10:39
#63194 #63194
User since
2003-08-14
77 Artikel
BenutzerIn
[default_avatar]
... okay, erst mal danke für die nette Unterhaltung hier (vor allem das "weichei" hat's mir angetan, ROTFL).

Vielleicht noch ein paar Worte zur Klärung des Hintergrundes (falls es noch jemanden interessiert) :

Das ganze ist ein Modellierungssystem in der Forschung, bei dem die User ihre Ergebnisse per Softlink (weil cross-filesystem) zu sehen bekommen (die Originaldaten sind also nicht veränderbar, löschbar, überschreibbar etc etc).

Irgendwann ist dann für jeden User mal das große Aufräumen angesagt, d.h. alle Originaldaten, auf die nicht mehr vom Userbereich gelinkt wird, können gelöscht werden.

Da es sich hierbei um einige hundert Files handelt (ich mag jetzt noch nicht von tausenden reden, ist aber möglich), wäre es ja nett gewesen, nur auf der Seite der Originaldaten all jene Files zu suchen, die gelöscht werden können.

Okay - ich seh's also ein, dass es keine nette, kurze Möglichkeit dafür gibt. Dann muß ich's eben über die Userverzeichnisse machen und einen kleinen Hash füllen ...

Danke!!!
<< |< 1 2 3 >| >> 22 Einträge, 3 Seiten



View all threads created 2003-10-14 13:10.