![하나의 명령으로 파일과 상위 디렉터리를 만드는 방법은 무엇입니까? [복사]](https://linux55.com/image/93188/%ED%95%98%EB%82%98%EC%9D%98%20%EB%AA%85%EB%A0%B9%EC%9C%BC%EB%A1%9C%20%ED%8C%8C%EC%9D%BC%EA%B3%BC%20%EC%83%81%EC%9C%84%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EB%A5%BC%20%EB%A7%8C%EB%93%9C%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
touch
파일과 존재하지 않는 상위 디렉토리를 모두 생성할 수 있는 , , mkdir
또는 다른 명령에 대한 플래그/옵션이 있습니까?>
예를 들어 내가 빈 폴더에 있다고 가정해 보겠습니다. 이제 폴더를 만들 때 상위 디렉터리가 없으면 상위 디렉터리를 만들 수 있습니다.
mkdir -p nested/folder
기존 디렉터리에 파일을 만들 수 있습니다.
touch nested/folder/something.txt
하지만 아직 존재하지 않는 디렉터리에 파일을 만들 수는 없습니다.
touch nested/folder/deep/more.txt
touch: 'nested/folder/deep/more.txt'를 터치할 수 없습니다. 해당 파일이나 디렉터리가 없습니다.
deep
해당 폴더를 동시에 만들려면 어떻게 해야 합니까 more.txt
?
답변1
이 두 명령을 한 줄에 결합할 수 있습니다. 변수를 사용하는 경우 다음을 수행할 수 있습니다.
file="./nested/folder/deep/more.txt"
그런 다음 이:
mkdir -p "${file%/*}" && touch "$file"
또는 다음과 같이 한 줄에 모두 입력합니다.
mkdir -p "./nested/folder/deep" && touch "./nested/folder/deep/more.txt"
이것은 단일 명령은 아니지만 작업을 수행할 수 있습니다.