빠른 질문:
"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"
}