IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

copie de fichiers


Sujet :

Linux

  1. #1
    Membre averti Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Points : 329
    Points
    329
    Par défaut copie de fichiers
    salut,
    j'espere etre dans le bon forum... ;-)
    Je me connecte par ssh a mon serveur (pour mon site internet).

    Je voudrais copier un fichier, dans plusieurs repertoire:

    Mon repertoire s'appelle "domains" et contient plusieurs sous repertoire.
    je voudrais donc copier un fichier dans tous les sous repertoires de "domains"

    comment puis je faire?

    Avant j'utilisais ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for domain in srepertoir1 srepertoir2 srepertoir3;
    do cp -va monfichier $domain/public_html/ ; 
    done
    mais la ma liste de sous domain est tres longue et je ne veut pas ecrire toute la liste...

    merci
    Franchement, je suis capable du meilleur comme du pire, mais, dans le pire, c'est moi le meilleur.
    Coluche

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Points : 376
    Points
    376
    Par défaut
    fait ta boucle for avec la liste des répertoires dans ../domains en utilisant ls
    ensuite tu fais ta copie

  3. #3
    Membre averti Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Points : 329
    Points
    329
    Par défaut
    je suis desole mais je suis debutant ...
    tu peux me detaille ta reponse
    merci
    Franchement, je suis capable du meilleur comme du pire, mais, dans le pire, c'est moi le meilleur.
    Coluche

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Points : 376
    Points
    376
    Par défaut
    par exemple en bash :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!/bin/bash
     
    dossier=`pwd`
    for inode in `ls` 
    do 
    if [ -d $inode ] 
    then 
    echo "$dossier/$inode"
    cp ton_path_vers_ton_fichier_et_ton_fichier $dossier/$inode/.
    fi 
    done
    en gros tu te places dans le répertoire ou tu veux faire la copie (domains pour ton cas) et tu exécutes ton script.
    puis il va copier ton fichier dans les sous répertoire de domains (mais pas les sous sous répertoire )


    édit : tu peux paramétrer le ls qui est utilisé pour la boucle for, par exemple faire "ls -a" si certains de tes dossiers commencent par un '.' ...

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 562
    Points : 19 397
    Points
    19 397
    Par défaut
    quand je vois des `for qqchose in $(ls)`, je pense à find :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find ./ -type d -name "srepertoir*" -exec cp ton_fichier {} \;
    et hop !

    des objections ?...

    edit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find domains -type d -name "srepertoir*" -execdir cp chemin/ton_fichier '{}'/public_hml +
    pour être précis.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Points : 376
    Points
    376
    Par défaut
    il ne veut pas que ce soit récursif il me semble

  7. #7
    Membre averti Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Points : 329
    Points
    329
    Par défaut
    n_bah-> merci, mias c pas bon parcque le nom de mes sous repertoire n'est pas forcement srepertoir

    ashi -> je peux utiliser ca en ssh?
    Franchement, je suis capable du meilleur comme du pire, mais, dans le pire, c'est moi le meilleur.
    Coluche

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Points : 376
    Points
    376
    Par défaut
    ssh te permet de te connecter sur une machine distante

    une fois que tu es connecté, tu te places dans ton répertoire (domains)

    puis tu exécutes ton script (avec son path), quelqu il soit:

  9. #9
    Membre averti Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Points : 329
    Points
    329
    Par défaut
    ca marche super!! merci bcp

    j'ai juste rajoute un cd mon path en haut

    encore merci!!
    Franchement, je suis capable du meilleur comme du pire, mais, dans le pire, c'est moi le meilleur.
    Coluche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Copie de fichier sur le bureau
    Par LoicH dans le forum C++Builder
    Réponses: 3
    Dernier message: 01/05/2005, 20h57
  2. [C#] Copie de fichier via l'API
    Par slyv dans le forum Windows Forms
    Réponses: 5
    Dernier message: 20/12/2004, 22h39
  3. [C#] Copie de fichier via l'API
    Par slyv dans le forum Windows
    Réponses: 5
    Dernier message: 20/12/2004, 22h35
  4. [Kylix] Copie de fichier...
    Par paty.olivier dans le forum EDI
    Réponses: 1
    Dernier message: 23/06/2004, 12h55
  5. Copie de fichier
    Par Bjorn dans le forum C
    Réponses: 4
    Dernier message: 11/06/2002, 15h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo