ls -F/--classify는 각 파일을 실행 파일로 표시합니다.

ls -F/--classify는 각 파일을 실행 파일로 표시합니다.

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)가 타사 드라이버 없이는 액세스할 수 없습니다).

관련 정보