그룹 권한을 사용하여 파일을 검색해야 하는 경우 다음 명령을 사용합니다.
echo **/*(AIE)
AIE는 읽기/쓰기/실행을 나타냅니다.
소유자 및 그룹 권한의 경우 사용되는 한정자는 각각 rwx 및 RWX입니다.
AIE를 사용하는 아이디어는 무엇입니까?
답변1
예제 명령 매개변수
echo **/*(AIE)
zsh
예를 들어 ;를 사용하는 전역 구문
은 작동하지 않습니다.bash
의 문자는 ()
전역 한정자입니다. 여러 한정자는 논리적으로 결합됩니다 AND
. 즉, 모두 적용해야 합니다.
따라서 위 명령은 읽기 가능, 쓰기 가능, 실행 가능 파일 이름 세트를 보여줍니다. 에 의해 설정된 권한이 있습니다 chmod g+rwx
.
권한별로 파일을 검색하는 보다 이식 가능한 방법은 다음 과 같은 -perm
테스트를 사용하는 것입니다.find
find -perm -g=rwx
셸과 독립적으로 작동하는 것 외에도 구문을 더 쉽게 읽을 수 있습니다.
에서 man zshall
:
Glob Qualifiers
Patterns used for filename generation may end in a list of qualifiers
enclosed in parentheses. The qualifiers specify which filenames that other‐
wise match the given pattern will be inserted in the argument list.
If the option BARE_GLOB_QUAL is set, then a trailing set of parentheses con‐
taining no `|' or `(' characters (or `~' if it is special) is taken as a set
of glob qualifiers. A glob subexpression that would normally be taken as
glob qualifiers, for example `(^x)', can be forced to be treated as part of
the glob pattern by doubling the parentheses, in this case producing
`((^x))'.
If the option EXTENDED_GLOB is set, a different syntax for glob qualifiers
is available, namely `(#qx)' where x is any of the same glob qualifiers used
in the other format. The qualifiers must still appear at the end of the
pattern. However, with this syntax multiple glob qualifiers may be chained
together. They are treated as a logical AND of the individual sets of
flags. [...]
[ ... ]
A group-readable files (0040)
I group-writable files (0020)
E group-executable files (0010)
R world-readable files (0004)
W world-writable files (0002)
X world-executable files (0001)
를 참고 man zshall | less '+/Glob Qualifiers'
하시거나pinfo zsh