디렉토리에 있는 모든 파일의 권한을 나열한다는 것을 알고 있지만 ls -l
특정 파일의 권한만 보려면 명령은 무엇입니까?
답변1
스키마를 얻으려면 다음을 수행하십시오.
stat -c %a file
( file
디렉토리일 수도 있습니다).
참고: 이는 stat
GNU Coreutils의 명령입니다. 그렇지 않은 경우 솔루션은 시스템에 따라 다릅니다.
답변2
ls -l
단일 파일이나 폴더에서 제공되는 모든 정보를 얻으려면 이 -d
옵션을 사용하고 파일을 지정하십시오.
ls -ld filename
답변3
파일 권한에 따라 일부 작업을 수행하려는 경우 경우에 따라 간단한 test
( [
또는 [[
) 조건문을 고려할 수 있습니다.
-r
파일이 존재하고 읽기 권한이 부여되었습니다-w
파일이 존재하고 쓰기 권한이 부여되었습니다.-x
존재하며 실행 권한이 부여됩니다.
예를 들어:
[ -w file ] && echo foo >> file
답변4
"권한"은 최신 Linux 시스템의 8진수 유닉스 권한 이상을 다루기 때문에 다음과 같이 자세히 설명하고 싶습니다.
@vinc17의 제안 외에도 ACL을 사용하는 RHEL 시스템 및 볼륨 에 SELinux 컨텍스트 stat -c %a file
가 있습니다 .stat -c %C file
getfacl file
namei -m /path/to/file
상위 디렉터리에 대한 잘못된 권한으로 인해 액세스가 차단될 수 있으므로 파일 경로에서 모든 8진수 권한을 찾는 것이 도움이 될 수 있습니다.