단일 "mkdir" 명령으로 새 디렉토리를 생성하고 동시에 변경할 수 있습니까? [복사]

단일 "mkdir" 명령으로 새 디렉토리를 생성하고 동시에 변경할 수 있습니까? [복사]

빠른 질문:

"mkdir"을 사용하여 새 디렉토리를 생성하고 단일 "mkdir" 명령을 사용하여 동시에 해당 디렉토리로 변경할 수 있습니까?

전체 질문:

이 문제가 있습니다.

What single Linux “mkdir” command could replace the sequence of commands?
         mkdir a
         cd a
         mkdir b
         cd b
         mkdir c
         cd ../..

내 대답은 다음과 같습니다.

         mkdir a b c && cd c

다른 명령을 사용하지 않고, 플래그 등을 사용하여 동시에 디렉토리를 생성하고 변경하는 데 사용할 수 있는 "mkdir" 명령이 있습니까?

답변1

mkdir다른 단계와 동일한 작업을 수행하기 위해 단일 명령을 사용하는 것에 대한 귀하의 질문에는 실제로 디렉토리 변경이 포함되지 않습니다. 종료되면 cd ../..시작한 디렉터리로 돌아갑니다.

실제로 이 일련의 명령은 디렉토리를 생성한 a다음 그 안에 디렉토리 b(즉, )를 생성하고, 그런 다음 방금 생성된 디렉토리 a/b(즉, .) 를 생성합니다.cba/b/c

mkdir상위 디렉터리를 생성한 후 중첩 디렉터리를 생성하는 단일 명령을 사용하여 동일한 작업을 수행할 수 있습니다.

mkdir a a/b a/b/c

mkdir또 다른 방법은 s 옵션을 사용하는 것입니다 -p. 이 옵션은 필요한 경우 상위 디렉터리를 생성하므로 이를 지정할 필요가 없습니다.

mkdir -p a/b/c

mkdir이것은 제목의 질문에 대한 답변이 아니라(mkdir + cd의 경우 주석에서 중복 항목 참조) 오히려 시퀀스의 끝에서 디렉토리가 동일한 시퀀스에 대한 동등한 단일 명령 에 대한 텍스트의 질문을 해결합니다. 처음처럼 .

답변2

함수로 실행하십시오.

mkcdir ()
{
    mkdir -p -- "$1" &&
      cd -P -- "$1"
}

관련 정보