mkdir -p 및 touch는 일련의 하위 디렉터리와 파일을 만드는 데 사용됩니다. 어떻게 작동합니까?

mkdir -p 및 touch는 일련의 하위 디렉터리와 파일을 만드는 데 사용됩니다. 어떻게 작동합니까?

수백 개의 하위 디렉터리가 있는 상위 디렉터리를 생성하고 생성된 하위 디렉터리에 수백 개의 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}

내 질문은 이 구문이 정확히 어떻게 작동하는가입니다. 대괄호 확장은 무엇을 하며 000의 의미는 무엇입니까 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. 1부터 9까지가 포함 00x된 디렉터리를 만듭니다 .x00{1..9}
  2. 10 에서 99 까지 디렉토리를 생성 하세요 0xx.xx0{10..99}
  3. 부분적으로 디렉토리 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

관련 정보