디렉토리의 모든 디렉토리를 선택하는 와일드 카드 란 무엇입니까


13

파일을 제외한 디렉토리의 모든 디렉토리에 고정 비트를 설정하고 싶습니다. 이 작업을 수행 할 와일드 카드가 있습니까?

#sudo chmod g+s /var/www/<WILD_CARD_FOR_ALL_DIRECTORIES>

답변:


24

*/디렉토리 만 일치시키는 데 사용하십시오 .

chmod g+s /var/www/*/

모든 디렉토리 및 하위 디렉토리를 일치 시키려면 다음을 사용하십시오 **/*/( globstarbash에서 활성화 한 경우).

shopt -s globstar
chmod g+s /var/www/**/*/

2
잘 작동하지만 확장 된 명령 줄 길이가 명령 줄 길이 제한을 초과하면 즉시 중단됩니다. -> cyberciti.biz/faq/argument-list-too-long-error-solution
Bonsi Scott

1
네, 잘 알고 있습니다. 그러나 OP는 "와일드 카드"를 요청했습니다.
dogbane

네! 나는 와일드 카드를 요구했다.
Necktwi

나는 그가 와일드 카드 솔루션을 요구했다는 것을 안다. 나는 그것이 어떤 상황에서는 실패 할 것이라고 지적했습니다. 다른 것은, 여기에 볼 수있는 critc가 없습니다 (대부분의 경우 작동하는 솔루션이기 때문에 아직 의견을
말하지 않았습니다

13

find 사용할 수 있습니다 (아래 예 참조)

find /var/www/ -type d -exec chmod g+s {} \;

3
이것은 훌륭하지만 아직 와일드 카드는 아니지만 많은 디렉토리로 인해 실패하지 않는 이점이 있습니다.
Bonsi Scott

이것은 기본적으로 재귀 적입니다. 명령을 최상위 레벨에만 적용하려면 -maxdepth find인수를 사용할 수 있습니다 .
Kris Harper

0

이것은 내가 아닌 대답에 대해 사과 있도록, 그러나 ..., 와일드 카드가 아닙니다
ls -al |grep ^d | awk '{print$NF}'현재 디렉토리에있는 모든 디렉토리를 나열합니다, 당신이 처리 할 것인지 결정하기 위해 당신에게 달려 ...하거나 제거.

echo $(ls -al |grep ^d | awk '{print$NF}') 와일드 카드처럼 동작하게합니다.


파일에 선행 또는 후행 공백 또는 줄 바꿈이 있으면 중단됩니다.
Chris Down
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.