2010-09-24 6 views
-2

Je veux savoir comment est exécutée la commande cp, je veux dire son flux de la plus haute couche vers le noyau et vice-versa? quel est son flux, que se passe-t-il lorsque nous écrivons cp commande et comment ça se passe? s'il vous plaît dites-le en détail.organigramme de la commande "cp" dans linux

@ tous son reallu urgent pour moi de savoir cela, donc s'il vous plaît répondrons dès que possible

merci à l'avance,

débutant

+2

Son impoli de dire que je veux une réponse dès que possible. –

Répondre

0

vous pouvez probablement télécharger les sources. Si vous avez des debian:

#this will tell you what package cp comes from 
dpkg -S "$(which cp)" 
apt-get source the_package_name_here 
1

Je vous suggère de faire un strace sur une commande cp comme:

$ strace cp foo bar 

De cette façon, vous verrez toutes les system calls faites par la commande cp.

1

foo.ccontenu avant cp:

this is foo 

strace cp foo.c bar.cm'a donné ce:

execve("/bin/cp", ["cp", "foo.c", "bar.c"], [/* 58 vars */]) = 0 

//several calls to open, fstat64, mmap2, close 

open("foo.c", O_RDONLY|O_LARGEFILE)  = 3 
    fstat64(3, {st_mode=S_IFREG|0664, st_size=12, ...}) = 0 

    open("bar.c", O_WRONLY|O_CREAT|O_EXCL|O_LARGEFILE, 0664) = 4 
     fstat64(4, {st_mode=S_IFREG|0664, st_size=0, ...}) = 0 
     read(3, "this is foo\n", 32768)   = 12 
     write(4, "this is foo\n", 12)   = 12 
     read(3, "", 32768)      = 0 
    close(4)        = 0 
close(3)        = 0 

close(0)        = 0 // close stdin 
close(1)        = 0 // close stdout 
close(2)        = 0 // close stderr 
exit_group(0)       = ? 
Questions connexes