HFS +フォーマットドライブはSATA / USBドックを介してUbuntuボックスに接続されています。
fsck.hfsplusでは分割の問題は報告されていません。
影響を受けるファイルに対して「ls」(または他のエントリ)を実行しようとすると、「該当するファイルまたはディレクトリがありません」というメッセージが表示されます。コンテナフォルダで "ls -lh"を実行すると同じ問題が発生しますが、ファイルはまだリストに表示されますが、次の形式で表示されます。
-rw-r--r-- 1 501 dialout 53M Mar 4 15:26 normal_file
-????????? ? ? ? ? ? uncooperative_file
私は他のファイルの501:dialoutの所有権を気にしません(ドライブは別のコンピュータにあります)。
これにより影響を受けるファイルがいくつかあります。名前にUnicodeおよび/または絵文字を含むファイルのようです。
私は試した:
- 「ls」は「-b」および「-q」オプションを使用しますが、何も表示しません。
- 「ls -lh > ~/tmp.txt」と入力し、「vi」を編集して名前から不要なバイトを検出します。
- "chown root: root ファイル名"
- 「chmod 644ファイル名」
ファイルは「ls」の出力に表示され、タブの完成もそれを埋めます。しかしどんな種類でも実際対話に失敗しました。
誰でも指示を提供できますか?結局のところ、このファイルを別のボックスにrsync / scpすることができるようにしたいと思います(残念ながらドライブマウントでは正しく機能しません)、ls / mvを実行できるのは良い出発点になると思いました。
編集:bashを使用してください。タブ補完は完全なファイル名を埋めますが、一部の文字の代わりに「???」が含まれます(現在の元の文字についてはわかりません)。ソースボックスのロケール:
LANG=en_CA.UTF-8
LANGUAGE=en_CA:en
LC_CTYPE="en_CA.UTF-8"
LC_NUMERIC="en_CA.UTF-8"
LC_TIME="en_CA.UTF-8"
LC_COLLATE="en_CA.UTF-8"
LC_MONETARY="en_CA.UTF-8"
LC_MESSAGES="en_CA.UTF-8"
LC_PAPER="en_CA.UTF-8"
LC_NAME="en_CA.UTF-8"
LC_ADDRESS="en_CA.UTF-8"
LC_TELEPHONE="en_CA.UTF-8"
LC_MEASUREMENT="en_CA.UTF-8"
LC_IDENTIFICATION="en_CA.UTF-8"
LC_ALL=
ベストアンサー1
macOSはHFSplusでファイル名をUTF16にエンコードできます。これはLinuxにUTF16ロケールがないため運がないことを意味します。デフォルトでは、ロケールはUTF8であり、特定の文字を表示しません。これらの文字はUTF16文字である可能性が高いです。
本当にダメだ。