![mkdir -p 및 touch는 일련의 하위 디렉터리와 파일을 만드는 데 사용됩니다. 어떻게 작동합니까?](https://linux55.com/image/159008/mkdir%20-p%20%EB%B0%8F%20touch%EB%8A%94%20%EC%9D%BC%EB%A0%A8%EC%9D%98%20%ED%95%98%EC%9C%84%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%99%80%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%A7%8C%EB%93%9C%EB%8A%94%20%EB%8D%B0%20%EC%82%AC%EC%9A%A9%EB%90%A9%EB%8B%88%EB%8B%A4.%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%9E%91%EB%8F%99%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
수백 개의 하위 디렉터리가 있는 상위 디렉터리를 생성하고 생성된 하위 디렉터리에 수백 개의 26개의 빈 파일을 생성하는 touch 명령이 이어지는 튜토리얼에서 다음 명령을 발견했습니다.
mkdir -p playground/dir-{00{1..9},0{10..99},100}
touch playground/dir-{00{1..9},0{10..99},100}/file-{A..Z}
내 질문은 이 구문이 정확히 어떻게 작동하는가입니다. 대괄호 확장은 무엇을 하며 00
및 0
의 의미는 무엇입니까 100
? 이것이 마지막 값이라는 것을 알고 있지만 합계가 어떻게 작동하는지 100
잘 모르겠습니다 . touch 명령에도 동일한 문제가 있습니다.00
,0
이해하도록 도와주세요. 감사해요.
답변1
글쎄, 살펴 보자:
1) 명령mkdir -p playground/dir-{00{1..9},0{10..99},100}
playground/
에서 각각 다음 형식으로 100개의 디렉터리를 생성하면 됩니다 . dir-xxx
여기서 xxx
는 숫자입니다. 자 {00{1..9},0{10..99},100}
, 당신은 세 가지에 대해 이야기하고 있습니다.
- 1부터 9까지가 포함
00x
된 디렉터리를 만듭니다 .x
00{1..9}
- 10 에서 99 까지 디렉토리를 생성 하세요
0xx
.xx
0{10..99}
- 부분적으로 디렉토리 100 생성
2) 1)의 모든 디렉토리가 있으면 touch
명령을 실행하십시오.
AZ 범위에 문자가 하나 있는 file-x
다음 형식으로 파일을 터치하면 됩니다 . x
이 {00{1..9},0{10..99},100}
부분에서는 1)에서 생성한 디렉터리의 파일을 터치하고 싶다고 말씀하셨습니다. 보시다시피 중괄호 안의 부분은 명령의 부분과 동일합니다 mkdir
.
도움이 되었기를 바랍니다. 버팀대 확장에 대해 더 자세히 알고 싶다면 다음을 읽어보세요.https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html
답변2
Bash 매뉴얼 페이지의 "Brace Expansion"을 참조하십시오.
제공된 정수 앞에 "0"을 붙여 각 항목의 너비를 동일하게 만들 수 있습니다.
https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html