Unix
Ims
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir,
Je suis en licence et nous avons des cours sur les commandes Unix. J'ai fait quelques excercices avec mon professeur mais je n'ai pas eu le temps de lui poser quelques questions, je viens donc les poster ici sur ce forum en ésperant une réponse rapide et juste.
L'une des questions de l'excercice était : Quelle(s) commande(s) Unix devez-vous exécuter pour : Déplacer tous les fichiers commençant par d dans le répertoire Jeux. ( Il y a trois fichiers qui commençent par un d et l'un des trois est un fichier ). Est-ce possible à l'aide d'une seule commande ? Justifier votre réponse.
Je sais que la commande est rm car elle permet de déplacer des fichiers et des dossiers cependant je sais pas quelle est la justification. Est-ce parce que l'un des documents à déplacer est un dossier ? Est ce parce que la commande ne permet que de déplacer un par un les documents ? ( même si l'exercice n'est pas sur la commande chmod, est ce qu'on peut ne pas pouvoir déplacer un fichier a cause des droits ?
De plus, j'aimerais savoir quelle est la commande pour créer un fichier. Lors d'un excercice, nous avons répondu à la question : " Créez un répertoire nommé Bis puis créez dans ce répertoire un fichier nommé renseignement lié au fichier nommé identite ( sous /home/l1/dupond)" par :" mkdir ./Bis et ln ./identite ./Bis/Renseignement".
Merci d'avance.
PS: Je ne suis pas un utilisateur régulier de ce forum, j'éspère avoir posté au bon endroit ce topic.
Je suis en licence et nous avons des cours sur les commandes Unix. J'ai fait quelques excercices avec mon professeur mais je n'ai pas eu le temps de lui poser quelques questions, je viens donc les poster ici sur ce forum en ésperant une réponse rapide et juste.
L'une des questions de l'excercice était : Quelle(s) commande(s) Unix devez-vous exécuter pour : Déplacer tous les fichiers commençant par d dans le répertoire Jeux. ( Il y a trois fichiers qui commençent par un d et l'un des trois est un fichier ). Est-ce possible à l'aide d'une seule commande ? Justifier votre réponse.
Je sais que la commande est rm car elle permet de déplacer des fichiers et des dossiers cependant je sais pas quelle est la justification. Est-ce parce que l'un des documents à déplacer est un dossier ? Est ce parce que la commande ne permet que de déplacer un par un les documents ? ( même si l'exercice n'est pas sur la commande chmod, est ce qu'on peut ne pas pouvoir déplacer un fichier a cause des droits ?
De plus, j'aimerais savoir quelle est la commande pour créer un fichier. Lors d'un excercice, nous avons répondu à la question : " Créez un répertoire nommé Bis puis créez dans ce répertoire un fichier nommé renseignement lié au fichier nommé identite ( sous /home/l1/dupond)" par :" mkdir ./Bis et ln ./identite ./Bis/Renseignement".
Merci d'avance.
PS: Je ne suis pas un utilisateur régulier de ce forum, j'éspère avoir posté au bon endroit ce topic.
6 réponses
Bonjour,
Je sais que la commande est rm car elle permet de déplacer des fichiers et des dossiers
à ta place je réfléchirais à deux fois .... ^^
... pour copier, j'aurais plutôt utiliser la commande cp, mais bon ....
ensuite pour savoir ce que je peux faire avec la commande cp, j'aurais taper la commande suivante :
il y a plusieurs options, peut-être de quoi y trouver son bonheur !
Je sais que la commande est rm car elle permet de déplacer des fichiers et des dossiers
à ta place je réfléchirais à deux fois .... ^^
... pour copier, j'aurais plutôt utiliser la commande cp, mais bon ....
ensuite pour savoir ce que je peux faire avec la commande cp, j'aurais taper la commande suivante :
cp --help
il y a plusieurs options, peut-être de quoi y trouver son bonheur !
Ce n'est pas un copier qu'il me faut c'est un déplacement :x . De plus, je ne dispose pas d'Unix, comme dis plus haut nous "étudions" Unix en cours et nous avons fait des exercices écrit sur certaines des commandes qu'il comporte.
Arff !
pour déplacer c'est la commande mv
si j'ai bien compris, vous étudiez Unix sans pratiquer ?
dans la mesure ou vous n'avez pas accès à une console UNIX, on peut retrouver ces mêmes informations sur le net (exemple ici avec la commande cp ..... histoire d'aller au bout du "sujet" ^^) :
http://pwet.fr/man/linux/commandes/cp/
un penguin sur la banquise !
pour déplacer c'est la commande mv
si j'ai bien compris, vous étudiez Unix sans pratiquer ?
dans la mesure ou vous n'avez pas accès à une console UNIX, on peut retrouver ces mêmes informations sur le net (exemple ici avec la commande cp ..... histoire d'aller au bout du "sujet" ^^) :
http://pwet.fr/man/linux/commandes/cp/
un penguin sur la banquise !
Oula pardon, effectivement la commande ne va pas du tout ^^ je me suis tromper entre la commande rm et la commande mv ... Si, dans la réponse à ma première question j'avais utiliser la commande mv quelle aurait été la raison pour laquelle je ne pouvais pas déplacer tout les fichiers ( je rappelle qu'il y en a trois dont un dossier ).
Salut,
Le problème n'est pas de ne pas pouvoir déplacer tous les fichiers et répertoires, ce que ferait la commande "mv" dans ton cas, mais de ne déplacer que les fichiers qui commencent par "d" mais pas les répertoires.
Illustration :
En fait il te faut avoir recours à la commande "find" qui elle peut différencier les fichiers des répertoires :
Là seul le fichier correspondant au paramètre "-type f" (f = fichier) sera déplacé dans le répertoire cible. L'option "-maxdepth 1" est là pour rester dans le répertoire courant et ne pas descendre récursivement dans les sous-répertoires (comportement par défaut).
Le problème n'est pas de ne pas pouvoir déplacer tous les fichiers et répertoires, ce que ferait la commande "mv" dans ton cas, mais de ne déplacer que les fichiers qui commencent par "d" mais pas les répertoires.
Illustration :
$ tree # Affichage de l'arborescence . |-- dossierA | |-- fichierA.txt | |-- fichierB.txt | '-- fichierC.txt |-- dossierB | |-- fichierA.txt | |-- fichierB.txt | '-- fichierC.txt |-- durand.txt '-- jeux 3 directories, 7 files $ mv d* jeux/ # Déplacement des fichiers commençant par "d" $ tree # Résultat . '-- jeux |-- dossierA | |-- fichierA.txt | |-- fichierB.txt | '-- fichierC.txt |-- dossierB | |-- fichierA.txt | |-- fichierB.txt | '-- fichierC.txt '-- durand.txt 3 directories, 7 files
En fait il te faut avoir recours à la commande "find" qui elle peut différencier les fichiers des répertoires :
$ tree # Affichage de l'arborescence . |-- dossierA | |-- fichierA.txt | |-- fichierB.txt | '-- fichierC.txt |-- dossierB | |-- fichierA.txt | |-- fichierB.txt | '-- fichierC.txt |-- durand.txt '-- jeux 3 directories, 7 files $ find . -maxdepth 1 -type f -name "d*" -exec mv -v {} jeux/ \; './durand.txt' -> 'jeux/durand.txt' $ tree . |-- dossierA | |-- fichierA.txt | |-- fichierB.txt | '-- fichierC.txt |-- dossierB | |-- fichierA.txt | |-- fichierB.txt | '-- fichierC.txt '-- jeux '-- durand.txt 3 directories, 7 files $
Là seul le fichier correspondant au paramètre "-type f" (f = fichier) sera déplacé dans le répertoire cible. L'option "-maxdepth 1" est là pour rester dans le répertoire courant et ne pas descendre récursivement dans les sous-répertoires (comportement par défaut).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
D'accord merci je viens de comprendre. Je te remercie beaucoup =). Quand est-il du deuxième exemple ? J'aimerais surtout savoir si il est possible de créer un fichier à partir de la commande mkdir =/ ? Ca me sembe un peu bizarre également que dans la correction on créait un fichier et en même temps un lien entre ce fichier et le répertoire avec la commande ln en faisant : ln ./identite ./Bis/Renseignement.
Toutes les réponses sont là : http://pwet.fr/man/linux/commandes/ln/
;-))
PS. Sinon les commandes pour créer un fichier en temps normal :
;-))
PS. Sinon les commandes pour créer un fichier en temps normal :
touch fichier > fichier