[CentOS] can't copy file.

David Ellsmore dellsmore at vodafone.ie
Mon Sep 11 09:36:45 UTC 2006


dxuranus wrote:
>  i mount a windows share like this:
> mount -t smbfs -o
> iocharset=gb2312,codepage=936,username=administrator //192.168.10.27/cvs /mnt/windows
> and try to copy file from /mnt/windows to my local disk.
> but if came to file with chinese name it always told me "cp: can't creat
> normal file ,  invalid argument."
> by the way i can see the file name (in chinese),
> and here is my locale:
> LANG=zh_CN
> LC_CTYPE="zh_CN"
> LC_NUMERIC="zh_CN"
> LC_TIME="zh_CN"
> LC_COLLATE="zh_CN"
> LC_MONETARY="zh_CN"
> LC_MESSAGES="zh_CN"
> LC_PAPER="zh_CN"
> LC_NAME="zh_CN"
> LC_ADDRESS="zh_CN"
> LC_TELEPHONE="zh_CN"
> LC_MEASUREMENT="zh_CN"
> LC_IDENTIFICATION="zh_CN"
> LC_ALL=
>  i try all possible charset utf-8,gbk,cp936,or gb2312.
> i have focus on this tow days,if i still can't solve this i will crazy.
> thanks fro any help! 
>
>   
Not sure if I'm missing the point here, but is it only 1 file or many 
files with Chinese characters in the filenames? Does the file *have* to 
maintain its original name - could you rename it to something else in 
the source file system just for the duration of the copy?

Also, from a shell looking at the smb mount (ls -al), how does the file 
name appear on the screen? Are you able to 'cat' it if you wrap escape 
characters around the file name? If this is the case you may be able to 
copy the file without renaming it by using escape characters. If you 
have a lot of files with this problem I'd suggest a writing a small 
script along the lines of 'for file in * do ......<mess with 
filenames>.........done'.

Something else to try.......put the troublesome file in a zip file on 
the windows box/file system, and then copy the zip file and try 
unzipping it on the Linux box - just make sure the zip file has a file 
name that's using ASCII printables! :-)



More information about the CentOS mailing list