나는 무엇보다도 다음을 요구하는 몇 가지 소프트웨어를 가지고 있습니다.
- 파일의 rwxrwxrwx 권한을 평가하십시오.
- 찾을 수 있는 모든 Unix 및 Linux 환경에서 작업할 수 있습니다.
현재는 명령을 실행하여 이를 수행합니다 ls -l
. 파일이 심볼릭 링크인 경우 대상 파일에 대한 권한을 얻어야 합니다. 이 -L
스위치는 이에 적합합니다.
문제는 이 스위치가 Unix 버전에서 작동하지 않을 위험이 있습니까?입니다. 그렇다면 어느 것입니까? (그들이 충분히 희귀하고 충분히 오래되었다면 이 문제를 무시할 수 있을 것입니다.)
답변1
파싱되지 않음ls
당신이 도울 수 있다면. 수행 중인 작업에 따라 이 test
유틸리티가 더 나은 선택일 수 있습니다.
test -r filename
현재 사용자의 권한으로 파일을 읽을 수 있으면 성공이 반환되고 자동으로 심볼릭 링크를 따릅니다. 마찬가지로 -w
및 -x
는 파일이 쓰기 가능한지 실행 가능한지 알려줍니다. 명령 test
은POSIX에 의해 지정됨, 따라서 모든 최신 UNIX에서 작동해야 합니다.
파일의 특정 권한을 정말로 알아야 하는 경우, ls
한 번에 하나의 파일에만 사용하는 한 이 방법이 아마도 가장 이식성이 뛰어난 방법일 것입니다. 이 경우에는 -L
및 -l
플래그도 있습니다.POSIX에 의해 지정됨, 그래서 꽤 안전할 것입니다. (바라보다"파싱되지 않음ls
"출력 필드의 이식성에 대한 추가 설명입니다 ls -l
.)
또 다른 옵션은 다음을 활용하는 짧은 C 프로그램을 작성하는 것입니다.stat(2)
시스템 호출, 여기서~ 할 것이다모든 UNIX에서 작동합니다. 이것이 C에서 컴파일된 작은 규모의 소프트웨어라면 아마도 이것이 최선의 선택일 것입니다.
답변2
SUSv3(Posix 2001)에는 있지만 SUSv2(별칭 Unix98)에는 없습니다.
답변3
글쎄요암소 비슷한 일종의 영양,FreeBSD,오픈BSD, 그리고 일반적으로BSD ls
구현이므로 아마도 어디에나 있다고 말하고 싶습니다.