ls -F
分類みんな実行可能ファイルとしてマウントされたパーティションのファイル(ファイル名の末尾にアスタリスクが追加されます)
同じコマンドが別の場所(たとえば、私のホームフォルダ)でも正しく実行されるため、誤動作の原因が何であるかがわかりません。
~
❯ cd /tmp && mkdir somefolder && cd somefolder
/tmp/somefolder
❯ touch file{0..3}
/tmp/somefolder
❯ ls -F
file0 file1 file2 file3
/tmp/somefolder
❯ cd /mnt/sdd2 && mv /tmp/somefolder . && cd somefolder
/mnt/sdd2/somefolder
❯ ls -F
file0* file1* file2* file3*
なぜこれが起こるのか知っている人がいますか?
答え1
すべてのファイルシステムタイプがファイル権限をサポートしているわけではありません。私はFAT32のようにあなたのようなものではないと思います。このタイプのファイルシステムでは、Linuxはデフォルトですべてを実行可能として扱います。なぜなら、実行ビットを持たない実行ファイルは問題が発生しますが、実行ビットを持つ実行不可能なファイルはそうではないからです。その中にあるファイルを実行できないようにするには、fmask=0111
マウントオプションを使用してマウントするだけです。 (またはグループ/他の人がファイルに書き込みまたはアクセスしたくないfmask=0155
場合fmask=0177
。)一部のファイルに実行ビットがありますが、他のファイルには存在しない場合は、そのファイルを消去して別の権限で再フォーマットする必要があります。 ext4などのファイル権限タイプはサポートされていません(ただし、そうすることで、他のオペレーティングシステム(Windowsなど)はサードパーティのドライバなしではアクセスできません)。