On Mon, 2008-06-16 at 21:51 +0000, John Emmas wrote:
> ----- Original Message -----
> From: "Fons Adriaensen" <fons kokkinizita.net>
> Subject: Re: [Ardour-Dev] GTK+ (concepts and advice)
> >
> > This means you can 'copy' a file by just creating
a new
> > entry in a directory - as long as you remain on
the same
> > partition. The file data itself is not copied
> >
> Sometime last year I remember Paul and one of the other
devs (possibly
> Sampo?) showing me how I could take an entire directory
branch (i.e. a
> folder and all its subfolders)
that would be the "mv" command.
> and very quickly graft it to some other
> folder - but I hadn't realised that the same was true
for copying.
> I suppose this raises some obvious questions:-
>
> 1) If we have 2 x hard links to a particular file, can
they each refer to
> the file by a different name?
sure. demo:
sh% cd
sh% mkdir foobar
sh% cd foobar
sh% touch aNewFile
sh% ln aNewFile aNotherNameForNewFile
sh% ls -l aNewFile
sh% rm aNewFile
sh% ls -l aNewFile
sh% ls -l aNotherNameForNewFile
sh% cd
sh% ln foobar/aNotherNameForNewFile
aNameInADifferentDirectory
sh% ls -l aNameInADifferentDirectory
> 2) Whether they can or they can't can both hard links
be in the same
> directory?
the only limit is that they have to be on the same
partition. this is
because inodes are referred to by a number that is unique
only across a
partition. inode 237389 on partition "foo" is a
totally different file
than inode 237389 on partition "bar". there is no
history in POSIX
operating systems for referring to an inode in a unique way
that spans
all partitions except a path. i.e. /path/to/some/file is
unique,
but /path/to/another/file might actually point to the same
inode. to be
more specific, there is no object/convention for a
(partition,inode)
tuple to uniquely identify a file, only paths. if you want
to understand
why that is, there are many good books on the design of
operating
systems. please pass them along to redmond when you're done
reading
them
> 3) Instead of me using fopen/fread on the source file
and fopen'fwrite on
> the destination file, what would be involved in
creating one of these hard
> links?
see the man page for the link system call ("man 2
link")
--p
_______________________________________________
ardour-dev mailing list
ardour-dev lists.ardour.org
http://lists.ardour.org/listinfo.cgi/ardour-dev-ardour
.org
|