我们有一个带有写保护(qstar 磁带)文件系统的旧系统,我试图在它被取消之前将所有文件复制出来。
CentOS 版本 6.9(最终版)- 2.6.32-696.23.1.el6.x86_64
我不确定这些文件一开始是怎么到这里来的,但是当我执行 ls -l 时,它们被列成这样:
??????????? ? ? ? ? ? Item from 23"2"60 with special chars.xml
如果只是空格,那就没问题了,但是“”标记似乎真的会造成各种麻烦。此外,由于只读文件系统(磁带),我无法直接重命名文件。
如果我尝试 ls (如果我也转义“,也会得到相同的结果)
# ll Item\ from\ 23"2"60\ with\ special\ chars.xml
ls: cannot access Item from 23"2"60 with special chars.xml: No such file or directory
如果我尝试其他命令(例如在目录中查找),我会收到此错误:
find: `./Item from 23"2"60 with special chars.xml': Invalid argument
我希望有某种方法可以将此文件复制到可写(或已安装)的地方,并更改文件名以在复制时删除/更改字符。
--
我还尝试了其他一些方法,但都没有成功:
# pax -rw -s '/[?<>\\:*|\"]/_/gp' *chars.xml /mnt/writable/place/
pax: Unable to access Item from 23"2"60 with special chars.xml: Invalid argument
pax: WARNING! These file names were not selected:
Item from 23"2"60 with special chars.xml
使用单引号:
# cp 'Item from 23"2"60 with special chars.xml' /mnt/writable/place/
cp: cannot stat `Item from 23"2"60 with special chars.xml': No such file or directory
注意:父目录文件权限为全部(并且我以 root 身份登录):
drwxrwxrwx. 2 root root 2048 Jun 23 2014
示例文件列表(显示其他正常文件):
-rwxrwxrwx. 1 root root 10031 Jun 24 2014 Sports Preview 12-3-60.xml
-rwxrwxrwx. 1 root root 4539874077 Jun 24 2014 Sports preview 14-4-60.mov
-rwxrwxrwx. 1 root root 9367284750 Jun 24 2014 Sports preview 3-3-60 Boat Race.mov
-rwxrwxrwx. 1 root root 12825530544 Jun 24 2014 S.Preview 24-3-60.mov
??????????? ? ? ? ? ? S.Preview 24""3"60.xml
-rwxrwxrwx. 1 root root 15449 Jun 24 2014 S.Preview 3-3-60 Boat rACE.xml
-rwxrwxrwx. 1 root root 12682 Jun 24 2014 S. Preview Junior Rugby.xml
-rwxrwxrwx. 1 root root 15348985946 Jun 24 2014 S.Preview March.mov
如果您有任何问题或建议让我尝试,请告诉我。