如何重命名带有奇怪字符的文件

Fre*_*cal 5 character-encoding nfs

我有希腊或西里尔字符的文件。

它不归我所有,而是归 Web 服务器用户 (www) 所有。

我不能以 web 服务器用户 (www) 或 root 身份使用 shell,但我使用了一个脚本(由 web 服务器用户执行)将它所在的 modbits 目录设置为 777,并将文件本身设置为 666。

我无法重命名(或删除此)文件。即使使用 inode 并使用find失败:

$ ls -i1
19120017 Idezbox - ???????.jpeg

$ find . -inum 19120017 -exec mv -i {} sane \;
mv: cannot move `./Idezbox - ???????.jpeg' to `sane': No such file or directory
Run Code Online (Sandbox Code Playgroud)

通配符失败:

$ mv Idezbox*.jpeg sane
mv: cannot move `Idezbox - ???????.jpeg' to `sane': No such file or directory
Run Code Online (Sandbox Code Playgroud)

以下 Perl 脚本也失败:

find . -type f -print0 | \
perl -n0e '$new = $_; if($new =~ s/[^[:ascii:]]/x/g) {
  print("Renaming $_ to $new\n");
  rename($_, $new);
}'
Run Code Online (Sandbox Code Playgroud)

它打印出:

Renaming Idezbox - ???????.jpeg to Idezbox - xxxxxxxxxxxxxx.jpeg
Run Code Online (Sandbox Code Playgroud)

但随后的重命名命令无效。
但是,请注意有 7 个希腊字符和 14 个“x”-es。

移动到上面的目录并尝试删除“垃圾”:

$ rm -riv Junk
rm: descend into directory `Junk'? yes
rm: cannot remove `Junk/Idezbox - ???????.jpeg': No such file or directory
Run Code Online (Sandbox Code Playgroud)

一些请求的输出:

$ mount | grep "on /ifi/asgard/k00"
asgard:/ifi/asgard/k00 on /ifi/asgard/k00 type nfs (rw,tcp,rsize=32768,wsize=32768,hard,intr,addr=xxx.xxx.xxx.xxx)

$ df .
Filesystem           1K-blocks      Used Available Use% Mounted on
asgard:/ifi/asgard/k00
                     104857600  53201568  51656032  51% /ifi/asgard/k00
$ ls -al
total 88
drwxrwxrwx  2 www     ifiweb   4096 2014-08-11 14:16 .
drwxrwsrwx 14 inf5270 inf5270  4096 2014-08-11 14:15 ..
-rw-rw-rw-  1 www     ifiweb  35176 2012-04-14 13:38 Idezbox - ???????.jpeg
-rwxrw-r--  1 gisle   ifi-a     139 2014-08-11 14:15 perl-rename.sh

$ who ami i
gisle    pts/122      2014-08-11 11:37 (safir.ifi.uio.no:13.0)
Run Code Online (Sandbox Code Playgroud)

阅读完所有评论和答案后(谢谢大家!)我不再认为这只是转义或引用西里尔字符。我需要研究 NFS 的角度。

编辑 2015-10-02:

结果证明该问题与 NFS 相关。由于该文件是直接在我从另一台计算机访问的 NFS 安装卷上创建的,因此没有任何效果。以 root 用户身份直接登录服务器允许系统管理员(我只是这个特定系统上的用户,不能这样做)删除文件(使用一些标准方法来转义希腊字符)。荣誉对G-人对把我在正确的轨道上(在评论)。如果G-Man还在,并将他的评论转换为答案,我会接受。

G-M*_*ca' 2

您的问题表明此问题文件位于 NFS 安装的文件系统上,\n并且您从 RHEL 客户端执行的任何操作都无法成功触及该文件。\xc2\xa0\n这表明该问题与\n您的客户端与客户端之间的接口有关NFS 服务器。\xc2\xa0\n可能需要直接登录到服务器才能操作该文件,\或者至少从运行不同操作系统的工作站访问它。

\n