Deplavement de fichier

jojo -  
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   -
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
A voir également:

3 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
renisaac Messages postés 2051 Date d'inscription   Statut Contributeur Dernière intervention   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
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
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