Deplavement de fichier

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. Modérateur
    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é)
    1. Contributeur
      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
      1. Modérateur
        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