Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6589[/thread]

Verzeichnisgröße ermitteln: Gibt es etwas vergleichbares zu -f ? (Seite 3)

Leser: 2


<< |< 1 2 3 >| >> 27 Einträge, 3 Seiten
cbxk1xg
 2004-12-24 00:01
#50244 #50244
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
@esskar: Das war gar nicht böse gemeint. Ich wollte nur wissen was daran besser ist. Also ob es zum Beispiel performanter ist.

@ptk: Nach meiner Liste (aus diesem Forum hier) steht -d für eine directory. Sollte ich also mit -l noch mal sicherstellen, dass es KEIN symbolischer Link ist?\n\n

<!--EDIT|cbxk1xg|1103839415-->
coax
 2004-12-24 01:48
#50245 #50245
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
[quote=cbxk1xg,23.12.2004, 23:01]@ptk: Nach meiner Liste (aus diesem Forum hier) steht -d für eine directory. Sollte ich also mit -l noch mal sicherstellen, dass es KEIN symbolischer Link ist?[/quote]
jab, das solltest du natuerlich sicherstellen.
Wendest du einen der Testoperatoren auf einen symb. Link an, wird das Ziel auf das der symlink verweist geprueft und nicht der symlink selbst.

Code: (dl )
1
2
3
4
5
6
7
8
coax@ae:~$ mkdir directory
coax@ae:~$ ln -s directory sym_directory
coax@ae:~$ perl -le 'for(qw/directory sym_directory/) {
-d && print "$_ ist Verzeichnis";
-l && print "$_ ist symbl. Link"; }'
directory ist Verzeichnis
sym_directory ist Verzeichnis
sym_directory ist symbl. Link


Grusz coax.
,,Das perlt aber heute wieder...'' -- Dittsche
Crian
 2005-01-03 17:39
#50246 #50246
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Ja, das meinte ich.
Außerdem weiß ich nicht genau, wie sich -s bei Links verhält. Wahrscheinlich wird die Größe des Linkziels gemessen. Wenn dieses Außerhalb Deines untersuchten Verzeichnisbaumes liegt, kann man sich fragen, ob man es mitzählen sollte oder nicht. Liegt es innerhalb, wirst Du u.U. komische Ergebnisse erzielen. Stell Dir vor, Du hast auf einer 1,4 MB Diskette eine Datei, die 1 MB groß ist und 200 Links auf diese Datei. Was gibt Dein Programm dann zurück, ca 1 MB oder ca 201 MB?\n\n

<!--EDIT|Crian|1104766798-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
esskar
 2005-01-03 17:51
#50247 #50247
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
was ist denn genau ein link in linux?
ist es eine eigenständig datei, die einen pointer auf das ziel hat? wenn ja, dann sollte -s die Größe der linkdatei (also nicht die des ziels) zurück geben!
Crian
 2005-01-03 17:57
#50248 #50248
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Es gibt zwei Linkarten, harte und weiche Links. Bei den harten Links hättest Du in dem Beispiel auf der Diskette 201 Dateien mit je 1 MB. Viel Spaß :-D

Natürlich verweisen diese jedesmal auf die physikalisch gleichen Daten auf der Diskette.\n\n

<!--EDIT|Crian|1104767926-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Ishka
 2005-01-03 19:53
#50249 #50249
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
[quote=esskar,03.01.2005, 16:51]was ist denn genau ein link in linux?
[...][/quote]
Bei einem harten Link zeigen im Prinzip beide Dateien auf den gleichen Speicherbereich und es ist nicht möglich zu sagen x ist die Datei und y der Link, sondern beide sind gleichberechtigt.
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}
Crian
 2005-01-03 20:18
#50250 #50250
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Normale Dateien sind ein inode Eintrag in der Verzeichnisstruktur, der auf den physikalischen Speicherbereich (bzw. die Speicherbereiche) der Datei verweist.

Legt man zu einer existierenden Datei einen harten Link an, so wird ein zweiter inode mit dem gleichen Verweis angelegt. Intern wird ein Linkzähler hochgesetzt. Egal welchen der beiden Links man löscht, die Daten sind noch da und über den verbleibenden inode-Eintrag ansprechbar.

Legt man zu einer Datei einen weichen Link an, so verweist dieser nicht auf die Daten, sondern auf den inode-Eintrag. Löscht man die Ursprüngliche Datei, so ist der Link verweist und die Daten weg.

Harte Links kann man nur innerhalb der gleichen Partition anlegen.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< |< 1 2 3 >| >> 27 Einträge, 3 Seiten



View all threads created 2004-12-21 00:05.