voila jai appris la commande mv donc move pour deplacer des fichier
on est daccord qu'un film est un fichier
donc si je veux deplacer une film dans un dossier je fais
mv [www.Cpasbien.pe] silicon.valley.102.french.ahdtv.x264-bawls.mp4 silicon valley/
je deplace lepisode du dossier telechargement au dossier silicon valey placer aussi dans le dossier telechargement
mais la commande ne marche pas… pk ?
et cest vraiment pas plus rapide decrire tout le nom du fichier avi , yatil une solution pour eviter sa .? tab ?
# il manque ./ devant le nom du répertoire
Posté par oliviergiraud . Évalué à -3.
il manque ./ devant le nom du répertoire
# des espaces ou des caracteres speciaux
Posté par NeoX . Évalué à 5.
normalement si tu fais
mv \[www TAB TAB silicon TAB TAB
ca devrait mettre les \ pour proteger les espaces là ou il faut et te permettre de faire la copie.
car on va supposer qu'il ne veut pas faire le deplacement car il ne trouve pas la source, ou la destination.
ca peut aussi etre un probleme de droit.
sur la source (ce n'est pas toi qui a cree le fichier, tu ne peux alors pas le supprimer (donc le deplacer)
sur la destination (ce n'est pas toi qui a créé le dossier, tu ne peux alors pas ecrire dedans)
# zsh rules
Posté par foobarbazz . Évalué à 2.
Bash est un peu rudimentaire pour ça, zsh est très fort, par exemple, tu aurais pu faire :
mv 102
presser tab, et il aurait trouvé le fichier, si plusieurs fichiers correspondent il peut les faire défiler, ou mettre un menu. Bref, c'est cool.Avec bash, une solution, c'est de faire
mv *102*
et presser tab (et il remplace les étoiles parce ce qu'il faut)Il faut voir le message d'erreur qu'il te donne pour savoir, il y a plusieurs raisons possibles, la plus probable étant les caractères spéciaux pour le shell comme évoqué plus haut.
# Échappement des espaces
Posté par Marotte ⛧ . Évalué à 5. Dernière modification le 20 octobre 2016 à 13:55.
Je pense ta commande n’aboutit pas car tu n’as pas « échappé » les espaces…
Si tu veux déplacer un fichier dont le nom contient des espaces vers un répertoire dont le nom contient des espaces il faut éviter que le shell interprète les espaces comme séparateur d’arguments :
soit avec des quotes (ici j’utilise des doubles mais des simples feraient l’affaire…)
mv "nom fichier avec espace.truc" "dossier de destination"
soit en échappant les espaces une par une :
mv nom\ fichier\ avec\ espace.truc dossier\ de\ destination
Si tu utilises la complétion avec la touche TAB tu verras qu’il ajoute ces
\
automatiquement.Précise quel message d’erreur tu as (ou quel comportement) parce que : « ça marche pas » ça nous aide pas des masses ;)
# probleme joker *
Posté par valarr . Évalué à 1.
alors voila ce que je tapes, cest ce que le cour indique
~$ cd
valarr@valarr-MS-7599:~$ ls
animaux examples.desktop Modèles Téléchargements
animaux2 fbidon mondossier tests
Bureau fcopie Musique Vidéos
Documents Images Public
valarr@valarr-MS-7599:~$ cp .jpg mondossier/
cp: impossible d'évaluer '.jpg': Aucun fichier ou dossier de ce type
en gros cest pour envoyer tout les fichier jpg dans mondossier
sauf que je me trouve dans HOMe quand je tape cette commande , et je n'ai aucun fichier jpg dans HOMe mais dans Images, et j'ai essayer la meme commande mais en etant dans le dossier Images mais sa na pas marcher non plus,
valarr@valarr-MS-7599:~/Images$ cp *.jpg mondossier/
cp: la cible 'mondossier/' n'est pas un répertoire
j'ai aussi essayer la commande cp [www* mondossier/ ( [www est le debut de pas mal de fichier que jai telecharger)
donc dans homes je tape :
valarr@valarr-MS-7599:~$ cd [www* mondossier/
bash: cd: [www*: Aucun fichier ou dossier de ce type
[^] # Re: probleme joker *
Posté par Marotte ⛧ . Évalué à 2. Dernière modification le 20 octobre 2016 à 16:44.
Donc c’est normal que ça donne :
'*.jpg': Aucun fichier ou dossier de ce type
Et c’est tout aussi normal là encore :) Vu que maintenant c’est qu’il n’y a pas de dossier 'mondossier' dans le dossier 'Images' :
'mondossier/' n'est pas un répertoire
Tu peux faire :
valarr@valarr-MS-7599:~/Images$ cp *.jpg ../mondossier/
'..' désigne le dossier parent (donc /home/valarr dans ce cas), ça copiera tous les fichiers .jpg se trouvant dans 'Images' (mais pas ses sous-dossiers) dans le dossier $HOME/mondossier (~/mondossier)
Si maintenant tu fais :
valarr@valarr-MS-7599:~$ cp */*.jpg mondossier/
Là ça va copier tous les fichiers .jpg se trouvant dans tous les dossiers de $HOME (dont le dossier 'Images'…) toujours sans descendre dans les sous dossiers, par exemple un fichier
~/Images/toto/fichier.jpg
ne serait pas copié.Pour faire ce que tu semble vouloir faire, c’est à dire copier tous les fichiers avec l’extension .jpg se trouvant dans l’arborescence de ton répertoire personnel (/home/valarr) dans /home/valarr/mondossier il faudrait plutôt utiliser la commande find :
PS : Fait attention à ton orthographe, plus il y a de fautes et moins tu as de chance que des gens t’aident…
[^] # Re: probleme joker *
Posté par Marotte ⛧ . Évalué à 2.
Petite erreur de ma part :
En fait si… mais je te recommande quand même d’utiliser find…
[^] # Re: probleme joker *
Posté par Marotte ⛧ . Évalué à 2.
valarr@valarr-MS-7599:~$ cd [www* mondossier/
Tu mélanges un peu tout… Bon déjà tu as écris 'cd' au lieu de 'cp' mais passons… (ça change rien à ton problème)
Il faudrait que tu comprennes la notions de caractère spéciaux et d’échappement de ceux-ci.
Les fichiers tipiakés c’est pas bien !
Maintenant voilà ce qui apparaît si je tape
ls [
puis que j’appuie sur la touche Tabulation :Le shell a complété ma commande (c’est le seul fichier qui correspond à ce motif, qui commence par '['), et comme tu peux voir, il a utilisé le caractère d’échappement
\
pour que les espaces qui les suivent soient bien considérées comme faisant partie du nom du fichier et pas comme étant une séparation entre deux noms de fichier ! Les crochets sont également échappés car ils ont aussi une signification spéciale pour le shell.On arrive au même résultat en utilisant des guillemets :
Si je tape
ls "[
et que j’appuie sur tabulation le shell complète ma commande ainsi :$ ls "[www.Cpasbien.me] Red.Dawn.2012.VOSTFR.DVDRiP.XviD-NIKOo.avi"
# probleme joker
Posté par valarr . Évalué à 1.
dans les commande que jai montrer jai bien mis letoile ***la ou il fallait, mais elle ne saffiche pas sur le forum ..
[^] # Re: probleme joker
Posté par Marotte ⛧ . Évalué à 2.
https://linuxfr.org/wiki/aide-edition#code
Il s’agit encore ici d’échapper des caractères ;)
# probleme joker
Posté par valarr . Évalué à -1.
sa me rend vraiment fou de bloquer ladessu, alors que sa doit etre bidon, sa rend DINGUE ^
# resolu
Posté par valarr . Évalué à 1. Dernière modification le 20 octobre 2016 à 15:48.
cest bon en copian des image dans le dossier home
la commande a marcher et jai pu les envoyer dans mondossier
mais je ne sais toujour pas comment avec un joker copier les image du dossier images dans le dossier mondossier
quelque chose mechape
jessai comme ca
~/Images$ mv *.jpg /home/mondossier
mv: la cible '/home/mondossier' n'est pas un répertoire
ca ne marche pas
jespere que vous arriverez a me comprendre jai ete un peu confus je l'admet…
[^] # Re: resolu
Posté par Marotte ⛧ . Évalué à 2.
$ mv *.jpg /home/valarr/mondossier
ou encore :
$ mv *.jpg ~/mondossier
qui revient au même si tant est que tu sois l’utilisateur 'valarr' et que celui-ci ait comme HOMEDIR /home/valarr (c’est très habituel comme configuration, c’est probablement le cas sur ton système…)
# mdr recolu
Posté par valarr . Évalué à 1.
je me trompais dans le chemin
comment on ecrit home , on ne peut qutiliser ~ ?
sa a marcher avec cette comande
sudo mv *.jpg ~/mondossier/
[^] # Re: mdr recolu
Posté par Marotte ⛧ . Évalué à 2. Dernière modification le 20 octobre 2016 à 17:27.
~
vaut la valeur de la variable $HOME de ton profile :Tu peux voir ici que
~
est également un caractère spécial pour le shell, si tu avais ce caractère dans un nom de fichier il faudrait également l’échapper :(la commande touch crée un fichier vide si celui-ci n’existe pas)
Tu peux voir avec la première commande rm qu’il essaye de supprimer un fichier nommé 't' et un fichier nommé '/home/stef', d’une part parce que l’espace n’est pas échappée, donc il pense que ce sont deux fichiers distincts, d’autre part il interprète le '~' en le transformant en '/home/stef'…
Avec les guillemets (ou bien les anti-slashes :
t\ \~
pas de problème, le shell comprend qu’on lui indique un seul fichier, nommé 't ~'.Bon… en vrai
$ echo t\ ~
devrait fonctionner aussi mais bon là ça va compliquer :)[^] # Re: mdr recolu
Posté par foobarbazz . Évalué à 1. Dernière modification le 20 octobre 2016 à 17:36.
C'est le plus simple. Sinon tu peux utiliser $HOME ou bien /home/ton_nom_d_utilisateur/.
Ça veut dire que c'est un problème de droit.
En gros, il y a trois droits différent :
- lire (r comme read)
- écrire (w comme write)
- executer (x comme execute) (pour les répertoire ça veut dire "traverser")
pour trois type de personnes :
- le propriétaire du fichier (u comme user)
- les membres du groupe du fichier (g comme group)
- les autres (o comme other)
La commande
ls -ld ~/mondossier
te donnera les droits sur ton dossier, ça pourra ressembler à ça :drwxr-x--- veut dire :
d c'est un répertoire
rwx le propriétaire a le droit de lire, écrire, traverser
r-x le groupe a le droit de lire et traverser
--- ceux qui sont ni le propriétaire, ni dans le groupe on le droit de rien.
Très vraissemblablement, mondossier est un point de montage, il appartient à root (?) et c'est pour ça que tu n'a pas le droit d'écrire dedans. Tu peux corriger avec
sudo chown -R utilisateur ~/mondossier
(chown comme change owner, -R pour appliquer l'opération à tous les fichiers dans le répertoire, récursivement).L'autre truc possible, c'est que les permission soit pas bonne, dans ce cas, tu peux corriger avec par exemple
chmod -R u+rwx ~/mondossier
(donner le droit d'écriture à l'utilisateur sur tous les fichiers du répertoire).Ça fait un peu beaucoup d'un coup, mais on s'y fait vite, et c'est super puissant :-)
[^] # Re: mdr recolu
Posté par Marotte ⛧ . Évalué à 2. Dernière modification le 20 octobre 2016 à 17:51.
C’est tout à fait ça.
Par contre je ne pense pas qu’il ait un problème de droit… Déjà, il est dans son $HOME… et puis j’ai pas vu un message d’erreur type "Access denied"… La commande « qui marche » c’est plus probablement parce qu’il se trouve dans son répertoire Images.
Oui :) Je pense qu’avant de se pencher sur les droits UNIX il devrait déjà mieux maîtriser la notion d’arborescence, de chemin relatif/absolu et de caractères spéciaux du shell…
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.