Herramientas Personales
Usted está aquí: Inicio ¡Participa! Foros
Acciones de Documento
Hilo abierto

Copiar o mover un archivo a cualquier directorio con un script

Volver al foro (Usando Guadalinex V6)
Orden:   
  • Escrito por hatteras el 01/02/2010 23:12

    hatteras

    Maestro Ancestral

    Envíos: 4708

    Para copiar o mover un archivo, de forma gráfica,  desde /home/usuario a un directorio del sistema ( directorio / y sus subdirectorios ) hay que hacerlo ejecutando un Nautilus con permisos de root, con la orden: gksu nautilus. Esto es así porque los directorios del sistema no tienen permisos de escritura para un usuario que no sea el root.

    Los pendrives y/o discos duros externos o particiones adicionales creadas en formato fat32 o ntfs, o incluso en ext3 o ext4 para almacenar datos si que suelen tener permisos de escritura para el usuario normal, pero si solo  tuvieran permisos de escritura para el usuario root, podríamos copiar o mover a ellos archivos desde /home/usuario con los scripts de este tema: http://hatteras.wordpress.com/2010/02/02/copiar-o-mover-un-archivo-a-cualquier-directorio-con-un-script/


    El texto del script Copy to es tal que así:

    #!/bin/bash
    #########################################################
    #                     #
    # This are NScripts v3.4            #
    #                     #
    # Licensed under the GNU GENERAL PUBLIC LICENSE 3   #
    #                     #
    # Copyright 2007 – 2008 Christopher Bratusek      #
    #                     #
    #########################################################

    if [[ -x /usr/bin/gksu || -x /opt/gnome/bin/gksu ]]; then
    sudotool=”gksu -u root”
    elif [[ -x /usr/bin/gnomesu || -x /opt/gnome/bin/gnomesu ]]; then
    sudotool=gnomesu
    fi

    destination=$(zenity –file-selection –directory –title “Where to copy files?”)

    echo $NAUTILUS_SCRIPT_SELECTED_URIS > ~/.gnome2/temp_copy_list

    for file in $(cat ~/.gnome2/temp_copy_list); do \

    file_name=$(echo $file | sed -e ’s/file:\/\///g’ -e ’s/\%20/\ /g’)
    short_file_name=$(echo $file | sed -e ’s#.*/##g’ -e ’s/\%20/\ /g’)

    if [[ -w $destination && -a $destination/$short_file_name ]]; then \
    confirm=$(zenity zenity –question –text “Overwrite File $destination/$short_file_name?”; echo $?)
    if [[ $confirm == 0 ]]; then
    cp -r “$file_name” $destination
    if (( $? != 0 )); then
    zenity –info –text “Something went wrong” –title “Failure”
    fi
    fi
    elif [[ -w $destination ]]; then \
    cp -r “$file_name” $destination
    if (( $? != 0 )); then
    zenity –info –text “Something went wrong” –title “Failure”
    fi
    elif [[ -a $destination && $sudotool != "" ]]; then
    $sudotool “cp -r ‘$file_name’ $destination”
    else   zenity –info –title “Failure” –text “$destination does either not\nexist or is not writable”
    fi; \
    done

    rm -f ~/.gnome2/temp_copy_list
    ————–
    El texto del script Move to es así:

    #!/bin/bash
    #########################################################
    #                     #
    # This are NScripts v3.4            #
    #                     #
    # Licensed under the GNU GENERAL PUBLIC LICENSE 3   #
    #                     #
    # Copyright 2007 – 2008 Christopher Bratusek      #
    #                     #
    #########################################################

    if [[ -x /usr/bin/gksu || -x /opt/gnome/bin/gksu ]]; then
    sudotool=”gksu -u root”
    elif [[ -x /usr/bin/gnomesu || -x /opt/gnome/bin/gnomesu ]]; then
    sudotool=gnomesu
    fi

    destination=$(zenity –file-selection –directory –title “Where to move files?”)

    echo $NAUTILUS_SCRIPT_SELECTED_URIS > ~/.gnome2/temp_move_list

    for file in $(cat ~/.gnome2/temp_move_list); do \

    file_name=$(echo $file | sed -e ’s/file:\/\///g’ -e ’s/\%20/\ /g’)
    short_file_name=$(echo $file | sed -e ’s#.*/##g’ -e ’s/\%20/\ /g’)

    if [[ -w $destination && -a $destination/$short_file_name ]]; then \
    confirm=$(zenity zenity –question –text “Overwrite File $destination/$short_file_name?”; echo $?)
    if [[ $confirm == 0 ]]; then
    mv “$file_name” $destination
    if (( $? != 0 )); then
    zenity –info –text “Something went wrong” –title “Failure”
    fi
    fi
    elif [[ -w $destination ]]; then \
    mv “$file_name” $destination
    if (( $? != 0 )); then
    zenity –info –text “Something went wrong” –title “Failure”
    fi
    elif [[ -a $destination && $sudotool != "" ]]; then
    $sudotool “mv ‘$file_name’ $destination”
    else   zenity –info –title “Failure” –text “$destination does either not\nexist or is not writable”
    fi; \
    done

    rm -f ~/.gnome2/temp_move_list

    mi blog: http://hatteras.wordpress.com/
    • Re: Copiar o mover un archivo a cualquier directorio con un script

      Escrito por IgnacioT el 17/10/2011 13:54

      IgnacioT

      Usuario Nuevo

      Envíos: 4

      Hola. Tengo un problema, fruto de mi ignorancia, supongo, sobre este mismo tema:

      Al copiar un archivo, desde el navegador, en modo gráfico arrastrando:

      - a una llave USB o disco duro externo: funciona sin más preámbulos ni problemas.

      - a distinta partición de otro S.O. en la misma máquina en formato ntfs: funciona aparentemente, pero desde el otro S.O. (WVista) no se ve el tal archivo copiado. O sea, que no.

      - a distinta partición en la misma máquina en formato fat32: no permite la copia, con la "disculpa" de que esa partición es de "solo lectura".

      La partición con formato fat32 es la que yo destinaba al intercambio entre los dos S.O. (WVista y Guadalinex), asi que mi gozo en un pozo.

      • Re: Copiar o mover un archivo a cualquier directorio con un script

        Escrito por hatteras el 29/11/2011 17:57

        hatteras

        Maestro Ancestral

        Envíos: 4708

        En la partición fat32 no deja porque no la tendrás montada con permisos de lectura y escritura; para que se automonte con ese tipo de permisos tienes que con la orden en la terminal: sudo gedit /etc/fstab  abrir el archivo /etc/fstab y editar adecuadamente la linea que haga referencia a dicha partición.

        mi blog: http://hatteras.wordpress.com/
Buscador
Menú
Los que más escribieron en el último año
1

guadafan

399
2

indiocabreao

342
3

hatteras

288
4

miancatri

225
5

sanatas

149
6

vendrell

123
7

cpcero

98
8

daniel2503

71
9

cmjmmrp

69
10

priest

64
11

fjsrey

62
12

chrysaor

56
13

acorantf

48
14

ghasthelm

46
15

espartaco

45
16

frjlara

42
17

dlobatod

41
 

Hecho con Plone CMS, el Sistema de Gestión de Contenidos de Fuentes Abiertos

Este sitio cumple con los siguientes estándares: