Herramientas de usuario

Herramientas del sitio


unix-es

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
unix-es [2016/11/10 13:10] – [Permisos] lmateuunix-es [2016/11/15 13:15] (actual) – [Características de un archivo] lmateu
Línea 179: Línea 179:
   #include <unistd.h>   #include <unistd.h>
   #include <errno.h>   #include <errno.h>
 +  
   #define SIZE 8192   #define SIZE 8192
 +  
   int main(int argc, char *argv[]) {   int main(int argc, char *argv[]) {
     int in, out;     int in, out;
     ssize_t n;     ssize_t n;
     char buf[SIZE];     char buf[SIZE];
 +    
     if (argc!=3) {     if (argc!=3) {
       fprintf(stderr, "Use: %s <from> <to>\n", argv[0]);       fprintf(stderr, "Use: %s <from> <to>\n", argv[0]);
       exit(1);       exit(1);
     }     }
 +    
     if ((in= open(argv[1], O_RDONLY))==-1) {     if ((in= open(argv[1], O_RDONLY))==-1) {
       perror(argv[1]);       perror(argv[1]);
       exit(2);       exit(2);
     }     }
 +    
     if ((out= creat(argv[2], 0666))==-1) {     if ((out= creat(argv[2], 0666))==-1) {
       perror(argv[2]);       perror(argv[2]);
       exit(3);       exit(3);
     }     }
 +    
     /* usando stats se pueden mantener los permisos */     /* usando stats se pueden mantener los permisos */
 +    
     while ((n= read(in, buf, SIZE))>0) {     while ((n= read(in, buf, SIZE))>0) {
       if (write(out, buf, n)!=n) {       if (write(out, buf, n)!=n) {
Línea 210: Línea 210:
       }       }
     }     }
 +    
     if (n<0) {     if (n<0) {
       perror(argv[1]);       perror(argv[1]);
       exit(5);       exit(5);
     }     }
 +    
     close(in);     close(in);
     close(out);     close(out);
 +    
     return 0;     return 0;
   }   }
Línea 237: Línea 237:
   char *path;   char *path;
   unlink(path);   unlink(path);
 +
 +==== Cambiar el nombre de un archivo ====
 +
 +Se usa la funcion //rename//:
 +
 +  #include <stdio.h>
 +  char *oldpath, *newpath;
 +  rename(newpath, oldpath);
  
 ==== Crear un link duro ==== ==== Crear un link duro ====
Línea 352: Línea 360:
   st_size             tamaño del archivo en bytes   st_size             tamaño del archivo en bytes
   st_atime            dia y hora del último acceso   st_atime            dia y hora del último acceso
-  st_ctime            día y hora del último cambio (p.ej. perms)+  st_ctime            día y hora de creación
   st_mtime            día y hora de la última modificación   st_mtime            día y hora de la última modificación
  
unix-es.1478783429.txt.gz · Última modificación: 2016/11/10 13:10 por lmateu