"ls"를 사용하지 않고 파일의 권한을 표시하는 방법이 있습니까?

"ls"를 사용하지 않고 파일의 권한을 표시하는 방법이 있습니까?

ls -l그게 전부입니다. 값 문자열을 살펴보지 않고도 파일의 권한을 알아낼 수 있는 다른 방법이 있는지 궁금합니다 .

내가 아는 한, 아니오전시하다chmod의 옵션

답변1

이 외에도 stat(Linux 특정) 부작용으로 이 작업을 수행할 수 있는 도구가 있습니다. tar예를 들어, 프로그램은 다음을 수행할 수 있습니다.

tar cf - filename | tar tvf -

예를 들어

$ tar cf - foo |tar tvf -
rwxr-xr-x 1021/1021     18 Jan 13 21:40 2016 foo

이와 같은 특수 기능을 사용하면 "-"이식성이 매우 뛰어납니다 .AIX,고성능 사용자 경험 시스템,솔라리스,리눅스그리고FreeBSD).

"합리적으로 휴대 가능"이라는 용어는 다음에 적용됩니다.

  • 유효성
  • 동일한 형식

통계 및 이식성에 대한 몇 가지 의견이 있습니다. 이것이 출력이다GNU 핵심 도구stat:

$ stat foo
  File: `foo'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d      Inode: 784564      Links: 1
Access: (0755/-rwxr-xr-x)  Uid: ( 1001/     tom)   Gid: (  100/   users)
Access: 2016-05-12 19:03:54.773503477 -0400
Modify: 2016-05-12 19:03:54.773503477 -0400
Change: 2016-05-12 19:03:54.773503477 -0400
 Birth: -

그리고 출력BSD 통계(운영 체제):

$ stat foo
16777221 61893362 -rwxr-xr-x 1 tom wheel 0 0 "May 12 19:03:54 2016" "May 12 19:03:54 2016" "May 12 19:04:59 2016" "May 12 19:03:54 2016" 4096 0 0 foo

다음은 샘플 출력입니다.AIX 운영 체제(그럴 것 같아다른나에게):

$ istat foo
Inode 3166649 on device 32768/13        File
Protection: rwxr-xr-x   
Owner: 1021(dickey)             Group: 1021(dickey)
Link count:   1         Length 18 bytes

Last updated:   Wed Jan 13 21:40:30 UTC 2016
Last modified:  Wed Jan 13 21:40:30 UTC 2016
Last accessed:  Wed Jan 13 21:40:20 UTC 2016

답변2

이는 Linux에 더 구체적이고 모호하지만(ACL 도구를 설치해야 함) getfacl파일에 ACL이 설정되지 않은 경우에도 명령은 다음과 유사한 출력을 표시합니다.

[root@mymachine ~#] getfacl my_file.txt
#file: my_file.txt
#owner: root
#group: root
user::rw-
group::r--
other::r--

답변3

perlAIX에는 그런 종류 가 있다고 생각합니다 .

perl -e 'printf "%03o\n", (stat( $ARGV[0] ))[2] & 07777' /etc/hosts

이것stat이 함수는 선택한 파일에 대한 다양하고 흥미로운 메타데이터를 반환합니다. 여기서는 [2]대부분 권한인 세 번째 요소(0부터 계산)만 사용합니다 . 결과에 3~4개의 문자가 포함된 8진수 형식(예 : 또는 ) printf "%03o\n"으로 권한 값을 출력합니다 .6441644007

답변4

stat다음과 같은 것을 사용할 수 있습니다 stat <filename>.

관련 정보