Ubuntu / Windows11デュアルブートシステムのファイル名にパイプ文字( "|")を含むファイルを生成します。

Ubuntu / Windows11デュアルブートシステムのファイル名にパイプ文字(

私はUbuntu 22.04を実行しており、ファイル名にパイプ文字( "|")を含むファイルを生成したいと思います。 (実行するにはいくつかのレガシーコードが必要です。)特にLinux / Windows 11デュアルブートシステムの特定のドライブでこれを実行できない問題を特定して修正するにはどうすればよいですか?

コンピュータの特定のディレクトリにはこれらのファイルを正常に作成できますが、Windowsが読み取ることができるディスクドライブでは作成できないため、デュアルブートは問題だと思います(下記参照)。他の人が最初にOSをインストールしたので、彼らがどのような選択をしてこの問題に影響を与えたのかわかりません。

私が試したことは次のとおりです。次の試みは成功するので、Linuxには根本的な反対がないことがわかります。

xname@blackbox:~$ cd ~
xname@blackbox:~$ touch "|"
xname@blackbox:~$ ls -l "|"
-rw-rw-r-- 1 xname xname 0 Feb  9 10:17 '|'

/media同様に、ディレクトリまたはディレクトリ内にある場合は、/media/xnameファイルを正常にタッチできます。

xname@blackbox:/media/xname$ cd /media
xname@blackbox:/media$ sudo touch "|"
xname@blackbox:/media$ cd /media/xname
xname@blackbox:/media/xname$ sudo touch "|"
xname@blackbox:/media/xname$ ls -l
total 12
-rw-rw-r-- 1 xname xname    0 Feb  9 11:35 '|'
drwxrwxrwx 1 xname xname 8192 Feb  8 17:25  cdisk
drwxrwxrwx 1 xname xname 4096 Feb  9 11:30  ddisk

上記から権限を見ることができますddisk。初めてマシンを購入したときに親ディレクトリにACLがありましたが、それを使用して削除してから再setfacl -b ddisk起動しました。

ddisk(およびcdisk)内でタッチ試行が失敗します。

xname@blackbox:/media/xname$ cd /media/xname/ddisk
xname@blackbox:/media/xname/ddisk$ touch "this_works_fine"
xname@blackbox:/media/xname/ddisk$ touch "|"
touch: setting times of '|': No such file or directory
xname@blackbox:/media/xname/ddisk$ sudo touch "|"
touch: setting times of '|': No such file or directory

おそらく、コマンド出力の一部がfindmnt役に立ちます。

TARGET                                   SOURCE           FSTYPE  OPTIONS
/                                        /dev/nvme0n1p5   ext4    rw,relatime,er
├─/media/xname/ddisk                     /dev/nvme1n1p2   fuseblk rw,nosuid,node
└─/media/xname/cdisk                     /dev/nvme0n1p3   fuseblk rw,nosuid,node

これが出力ですmount | grep media

/dev/nvme0n1p3 on /media/xname/cdisk type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)
/dev/nvme1n1p2 on /media/xname/ddisk type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)

このマシンに関連するもう一つの謎は、ログイン時にではなく数字を入力するように求められxnameますxname

ご協力ありがとうございます。

ベストアンサー1

これは問題ではありませんどの使用しているDOS/Windows固有のファイルシステムみんな次の文字(各このMSページ)....

Unicode文字と拡張文字セット(128-255)の文字を含む、現在のコードページのすべての文字を名前として使用します。以下の状況を除いて:

次の予約文字:

  • <未満
  • >(より大きい)
  • :(コロン)
  • "(二重引用符)
  • /(スラッシュ)
  • \(バックスラッシュ)
  • (垂直チューブまたはロッド)
  • ? (疑問符)
  • *(アスタリスク)

ファイルシステムに関係なく、このアイテムを引き出すことができる抽象化階層があるかどうか疑問です。しかし、私は明らかにMSの従業員ではないので、確信できません。私はすべてのWindowsファイルシステムがこの制限を実装すると考えており、これらのファイルシステムのLinux実装もこれらの制限に従うことが論理的であるようです。*hey|thereLinuxでファイルを作成してからWindowsを起動して実行しようとすると、fsckとても残念です。 ;)

おすすめ記事