Deplavement de fichier

jojo -  
jisisv Messages postés 3678 Statut Modérateur -
qqn peux me dire comme aller dans un repertoire x ou y et verifier si des fichiers y sont bien présents pour les envoyer dans d'autres repertoires, c mes premieres shell alors soyez gentil lol

3 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Pour aller dans un répertoire tu peux utiliser la commande cd

    ChangeDirectory
    cd /chemin/vers/autre_rep
    Mais pour ton problème tu peux utiliser la commande find.
    find /chemin/vers/x -name 'y' -exec cp {} /chemin/vers/autre_rep \;
    lami20j
    0
  2. renisaac Messages postés 2073 Statut Contributeur 139
     
    Salut vous deux.

    Autres commendes de bases utils en shell : mv pour déplacer un fichier, cp pour le copier, ls pour avoir la liste des fichier d'un répertoire, rm pour effacer un fichier, mkdir pour crée un répertoire et rmdir pour l'effacer, et man pour le mode d'emplois de toutes ces commendes (
    man cp
    par exemple). Tant que tu n'est pas root, tu peux tout tester sans avoir peur de mettre le système en l'air.

    Bonne décourert de la banquise jojo

    Renisaac
    0
  3. jisisv Messages postés 3678 Statut Modérateur 936
     
    Avec quelques commandes internes
    johan@johan:~/temp/brol$ touch file01 file02 file03 file05
    johan@johan:~/temp/brol$ cat testfiles.sh
    #!/bin/sh
    THEFILES='file01 file02 file03 file04 file05'
    THEDIR='.'
    [ $# -gt 0 ] && THEDIR=$1
    [ ! -d "$THEDIR" ] && {
                    echo "$THEDIR is not a directory, usage $0 directory" ; exit
                    }
    for file in $THEFILES; do
            if [ -f "$THEDIR/$file" ]; then
                    echo "$file EXISTS"
            else
                    echo "$file does NOT exist"
            fi
    done
    johan@johan:~/temp/brol$ ./testfiles.sh
    file01 EXISTS
    file02 EXISTS
    file03 EXISTS
    file04 does NOT exist
    file05 EXISTS
    johan@johan:~/temp/brol$ cd ..
    johan@johan:~/temp$ ./brol/testfiles.sh
    file01 does NOT exist
    file02 does NOT exist
    file03 does NOT exist
    file04 does NOT exist
    file05 does NOT exist
    johan@johan:~/temp$ ./brol/testfiles.sh brol/
    file01 EXISTS
    file02 EXISTS
    file03 EXISTS
    file04 does NOT exist
    file05 EXISTS
    
    johan@johan:~/temp/brol$ file /usr/bin/[
    /usr/bin/[: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs), stripped
    


    man bash
    éventuellement man [; man test
    ([ est une commande interne bash, souvent répliqueée en commande externe pour comatibilité)
    0