我想重命名文件夹或用问号的特殊字符创建它(?)
我可以创建一个名为' ????????"的文件夹。通过gnome文件管理器
但是我无法通过bash和命令行
创建相同的文件夹为什么我可以?
我可以通过可视文件管理器创建任何名称的文件夹,但是bash可以创建它。
root@k-five:/media/shu/winlin#
root@k-five:/media/shu/winlin# mkdir test
root@k-five:/media/shu/winlin# cd test/
root@k-five:/media/shu/winlin/test# touch abc
root@k-five:/media/shu/winlin/test# ls
abc
root@k-five:/media/shu/winlin/test# mkdir ???
mkdir: cannot create directory ‘abc’: File exists
root@k-five:/media/shu/winlin/test# mkdir ????
mkdir: cannot create directory ‘????’: Invalid argument
root@k-five:/media/shu/winlin/test# mkdir '????'
mkdir: cannot create directory ‘????’: Invalid argument
root@k-five:/media/shu/winlin/test# mkdir '\?\?\?\?'
mkdir: cannot create directory ‘\\?\\?\\?\\?’: Invalid argument
root@k-five:/media/shu/winlin/test# mkdir \?\?\?\?
mkdir: cannot create directory ‘????’: Invalid argument
root@k-five:/media/shu/winlin/test# mkdir "\?\?\?\?"
mkdir: cannot create directory ‘\\?\\?\\?\\?’: Invalid argument
root@k-five:/media/shu/winlin/test#
对不起大家,我犯了一个错误。我的问题解决了:
sudo mount -t vfat /dev/sda4 /media/$USER/fat32 -o uid=1000,gid=1000,umask=022
所以我将root的所有权更改为我,我可以在没有sudo的情况下运行命令,但我无法创建" ??????"文件夹名称,因为它的vFAT分区&那个是NTFS
如果您有FAT分区,请不要尝试创建具有特殊字符的文件夹的名称。结束:))))))))
答案 0 :(得分:3)
因为你的目录中的文件名中有一个字符数相同的文件,你忘了逃避wildcard characters。
mkdir '??????'
答案 1 :(得分:2)
也许您在根文件夹中忘记输入sudo
命令
对于root用户权限?
sudo mkdir ?????
答案 2 :(得分:1)
我尝试重新创建场景,它就像bash中的魅力一样。
创建了一个测试目录
[root@localhost ~]# cd test/
创建了一个空文件
[root@localhost test]# touch mysql
[root@localhost test]# ls
mysql
现在我尝试创建一个名为?????
的文件,但它不允许我这样做。通过查看错误消息,很明显它抱怨文件存在错误消息。我有一个mysql文件,其文件名中的字符数与我要创建的文件的字符数相同。
[root@localhost test]# mkdir ?????
mkdir: cannot create directory ‘mysql’: File exists
让我们通过将文件名放在单引号
中来创建文件夹[root@localhost test]# mkdir '?????'
让我们验证一下。此时间文件夹已成功创建。
[root@localhost test]# ls
????? mysql
您可以尝试转义特殊字符以创建文件/文件夹,如下所示
[root@localhost test]# mkdir \?\?\?\?\?\?\?
[root@localhost test]# ls
????? ??????? mysql