와 csh
, tcsh
, ksh
, zsh
, bash
, fish
또는 yash -o braceexpand
:
sudo chmod +rx /root{,/subfolder1{,/subfolder2{,/subfolderN}}}
로 zsh
:
f=/root/subfolder1/subfolder2/subfolderN
until [[ $f = / ]] {chmod +rx $f; f=$f:h;}
또는 다음과 같은 glob 한정자 함수를 정의 할 수 있습니다.
explode() {
reply=()
until [[ $REPLY = [./] ]] {
reply+=$REPLY
REPLY=$REPLY:h
}
}
예를 들어 다음과 같이 사용하십시오.
$ echo chmod +rx subfolder1/subfolder2/subfolderN(+explode)
chmod +rx subfolder1 subfolder1/subfolder2 subfolder1/subfolder2/subfolderN
참고 chmod +rx
umask에 의해 영향을 받는다. 을 umask
포함하지 않으면 디렉토리를 세계에서 읽을 수 있고 액세스 가능 007
하게 만들 /root
수 있습니다. /root
일반적으로 수퍼 유저의 사적인 것이므로 노출하는 것은 좋지 않습니다.
/root
세계 읽을 수 있습니다.