![단일 "mkdir" 명령으로 새 디렉토리를 생성하고 동시에 변경할 수 있습니까? [복사]](https://linux55.com/image/142469/%EB%8B%A8%EC%9D%BC%20%22mkdir%22%20%EB%AA%85%EB%A0%B9%EC%9C%BC%EB%A1%9C%20%EC%83%88%20%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EB%A5%BC%20%EC%83%9D%EC%84%B1%ED%95%98%EA%B3%A0%20%EB%8F%99%EC%8B%9C%EC%97%90%20%EB%B3%80%EA%B2%BD%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
빠른 질문:
"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
(즉, .) 를 생성합니다.c
b
a/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"
}