ls -l monfichier
monfichier existe, il fait 28 giga.
cp monfichier destination/
no such file or directory
gniii ???
Solution :
ls -i monfichier
je recupere le numero d'inode
find -inum moninode -exec cp {} destination \;
Et là ca veut bien copier…
Par contre, apres la copie, le fichier copié présente le meme pb :
cp destination/monfichier /tmp
no such file or directory
Quelqu'un sait à quoi ca peut tenir ?
# strace ?
Posté par nono14 (site web personnel) . Évalué à 3.
Tout est dans le titre.
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: strace ?
Posté par CHP . Évalué à 2.
Merci pour ta réponse.
Le problème est que là le problème m'est pas arrivé sur linux mais sur aix, mais j'ai déja eu le pb sur linux (pas forcément pour les memes causes ?) et sur AIX strace existe aussi mais ne semble pas avoir la meme fonction. Rosetta m'apprend que l'equivalent de strace sous AIX est truss. J'ai essayé, mais je ne comprends RIEN à l'output ^
# truss cp monfichier /tmp
execve("/usr/bin/cp", 0x2FF22C60, 0x20012ED8) argc: 3
sbrk(0x00000000) = 0x300023D8
vmgetinfo(0x2FF225C0, 7, 16) = 0
sbrk(0x00000000) = 0x300023D8
sbrk(0x00000008) = 0x300023D8
__libc_sbrk(0x00000000) = 0x300023E0
getuidx(2) = 0
umask(0) = 23
umask(23) = 0
statx("/tmp", 0x2FF22AF0, 176, 020) = 0
statx("monfichier", 0x2FF22938, 176, 020) Err#2 ENOENT
cpkwrite(2, " c p", 2) = 2
: kwrite(2, " : ", 2) = 2
monfichier(2, " m o n f i c h i e r".., 27) = 27
: kwrite(2, " : ", 2) = 2
No such file or directorykwrite(2, " N o s u c h f i l e".., 25) = 25
kwrite(2, "\n", 1) = 1
kfcntl(1, F_GETFL, 0x2FF22FFC) = 67110914
kfcntl(2, F_GETFL, 0x00000000) = 67110914
_exit(1)
# Sur quel filesystem ?
Posté par Xaapyks . Évalué à 2.
Tout est dans le titre.
[^] # Re: Sur quel filesystem ?
Posté par CHP . Évalué à 2.
En fait c'est sur AIX sur un FS qui sur un NAS. je ne connais pas le type de FS
# caractères bizare dans le nom de fichier ?
Posté par niclone (site web personnel) . Évalué à 7.
Genre un espace à la fin ?
Le find ne fait rien d'autre que d'envoyer le nom du fichier en paramètre a cp.
[^] # Re: caractères bizare dans le nom de fichier ?
Posté par CHP . Évalué à 2.
bonne remarque… vais essayer d'utiliser l'astuce du find pour renommer le fichier, voir si ca marche
[^] # Re: caractères bizare dans le nom de fichier ?
Posté par CHP . Évalué à 4. Dernière modification le 24 août 2012 à 18:30.
Bingo !
Merci à toi !
par contre c'est bizzare, meme en faisant cp 'monfichier ' destination ca marche pas… C'est donc pas un espace en fin du nom… Soit plusieurs espaces, soit une autre connerie dans le nom du fichier.
[^] # Re: caractères bizare dans le nom de fichier ?
Posté par Obsidian . Évalué à 4.
Essaie d'utiliser l'auto-complétion avec la touche TAB. Si le shell est propre, soit il te l'encadrera avec des guillemets ou des « quotes », soit il te mettra des anti-slashes devant les caractères à problème. Sinon, tu peux toujours essayer un « find . -inum | hexdump » ou autre éditeur hexa pour voir s'il te les affiche explicitement.
[^] # Re: caractères bizare dans le nom de fichier ?
Posté par netsurfeur . Évalué à 4.
Affiche les caractères non imprimables du nom du fichier en octal.
[^] # Re: caractères bizare dans le nom de fichier ?
Posté par M.Poil (site web personnel) . Évalué à 0.
Sinon ls monficher puis presse ESC + * (ou = je ne sais plus)
Is it a Bird? Is it a Plane?? No, it's Super Poil !!!
[^] # Re: caractères bizare dans le nom de fichier ?
Posté par Obsidian . Évalué à 2.
Exact. C'est écrit « OPTIONS GNU » dans les man pages linux et ça ne marche pas sous OpenBSD, donc je n'étais pas allé chercher plus loin.
[^] # Re: caractères bizare dans le nom de fichier ?
Posté par Marotte ⛧ . Évalué à 1.
Ça tombe bien CHP< a ce problème sur AIX.
[^] # Re: caractères bizare dans le nom de fichier ?
Posté par Obsidian . Évalué à 1.
C'est ce que je dis : « -b » était approprié mais la man page Linux déclare que c'est une option GNU, et comme l'option n'était pas disponible du tout sur un des mes shells sous OpenBSD, je m'en suis tenu à ce que j'avais écrit et je ne suis pas allé voir si le LS d'AIX proposait la même option. J'aurais dû.
[^] # Re: caractères bizare dans le nom de fichier ?
Posté par Marotte ⛧ . Évalué à 1.
Oui carrément. Si tu aides pas jusqu'au bout ça sert à rien de participer aux forums ! ;)
[^] # Re: caractères bizare dans le nom de fichier ?
Posté par Obsidian . Évalué à 7.
Bon, puisqu'on est vendredi :
— Même dans ce fil, reconnais que mon commentaire initial reste beaucoup plus utile que les tiens ;
— Ça fait 13 ans maintenant que je participe à ce forum et je pense modestement avoir rendu service à un certain nombre de personnes ;
— Quitte à poster pour ne rien dire, essaie au moins de relire le fil avant de poster, ça m'évitera d'avoir à me répéter et d'augmenter le niveau de bruit.
Allez zou ! →[].
[^] # Re: caractères bizare dans le nom de fichier ?
Posté par gouttegd . Évalué à 2.
Pour ma part, n’ayant que le manuel GNU/Linux directement à disposition, j’utilise la documentation de FreeBSD quand je veux vérifier qu’une commande, une option ou une fonction est disponible sur d’autres systèmes. Cette page permet de consulter non seulement les pages de manuel de FreeBSD (évidemment), mais aussi celles de Net- et OpenBSD, de plusieurs distributions GNU/Linux, et quelques autres systèmes comme HP-UX ou SunOS.
En l’occurence, sur ce thread ça n’aurait certes pas aidé, vu que les pages d’AIX ne sont pas disponibles… mais je trouve que c’est un lien utile à avoir sous la main.
# Les guillemets c'est bien utile
Posté par Adrien Dorsaz (site web personnel, Mastodon) . Évalué à 1.
Est-ce que tu as pensé à entourer le nom du fichier de guillemets ? Ainsi le terminal protège les caractères spéciaux et les espaces avant d'envoyer le nom du fichier à la commande (sinon, cp croit qu'il y a deux fichiers si il y a un espace).
S'il y a vraiment des caractères spéciaux il faut utiliser les guillemets simples qui empêche l'interprétation des $ comme des variables par exemple.
J'espère que ça marchera ;)
# Jeu de caractère
Posté par Croconux . Évalué à 2.
Bonjour,
j'ai déjà eu ce type de soucis avec des fichiers créés avec un nom dans un jeu de caractère alors que le système de fichier est dans un autre (dans mon cas UTF-8 pour le fs mais un nom en chinois). Pour corriger ce genre de problèmes, il y a l'utilitaire convmv qui permet convertir les noms de fichier d'un jeu de caractère vers un autre. Il faut connaître le jeu de caractère du nom, par contre.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.