cp 명령으로 파일을 대상으로 복사하는 데 필요한 폴더를 만드는 방법
다음을 사용하여 파일을 복사할 때cp
존재하거나 존재하지 않을 수 있는 폴더로 이동하려면 어떻게 해야 합니까?cp
필요한 경우 폴더를 만들 수 있습니까?제가 시도한 것은 다음과 같습니다.
[root@file nutch-0.9]# cp -f urls-resume /nosuchdirectory/hi.txt
cp: cannot create regular file `/nosuchdirectory/hi.txt': No such file or directory
크리스찬의 대답을 더 자세히 말하자면, 이것을 할 수 있는 유일한 믿을만한 방법은 결합하는 것이다.mkdir
그리고.cp
:
mkdir -p /foo/bar && cp myfile "$_"
참고로 기존 계층에 단일 디렉토리만 작성하면 되는 경우,rsync
한 번의 조작으로 할 수 있습니다.나는 의 팬이다.rsync
훨씬 더 다재다능한 것으로서cp
대체, 사실:
rsync -a myfile /foo/bar/ # works if /foo exists but /foo/bar doesn't. bar is created.
cp랑 같이 할 수 있는지 몰랐네
mkdir로 할 수 있습니다.
mkdir -p /var/path/to/your/dir
편집 cp 통합에 대한 lhunath의 답변을 참조하십시오.
다음 명령어를 사용할 수도 있습니다.find
:
find ./ -depth -print | cpio -pvd newdirpathname
mkdir -p `dirname /nosuchdirectory/hi.txt` && cp -r urls-resume /nosuchdirectory/hi.txt
그런 방법은 없어요.파일을 복사하기 전에 mkdir -p를 실행할 수 있습니다.
존재하지 않는 위치에 파일을 복사할 때 사용할 수 있는 매우 멋진 스크립트를 만들었습니다.
#!/bin/bash
if [ ! -d "$2" ]; then
mkdir -p "$2"
fi
cp -R "$1" "$2"
이제 저장, 권한 부여 및 실행 방법:
./cp-improved SOURCE DEST
저는 -R 옵션을 넣었습니다만, 이것은 초안일 뿐입니다.그럴 수 있다는 것을 알고 있습니다.여러 가지 방법으로 개선해 주실 수 있습니다.도움이 되길 바랍니다.
rsync는 작업입니다!
#file:
rsync -aqz _vimrc ~/.vimrc
#directory:
rsync -aqz _vim/ ~/.vim
cp -Rvn /source/path/* /destination/path/
cp: /destination/path/any.zip: No such file or directory
경로에 소스 파일이 있는 경우 대상에 기존 경로가 생성되지 않습니다.빈 디렉토리는 작성되지 않습니다.
조금 전에 xxxxxxxxx: 빈 영역이 부족하기 때문에 파일이나 디렉토리가 없습니다.에러 메세지가 표시되지 않습니다.
(ditto 포함
ditto -V /source/path/* /destination/path
ditto: /destination/path/any.zip: No space left on device
해방된 공간cp -Rvn /source/path/* /destination/path/
예상대로 기능하다
언급URL : https://stackoverflow.com/questions/947954/how-to-have-the-cp-command-create-any-necessary-folders-for-copying-a-file-to-a
'programing' 카테고리의 다른 글
마이크로소프트(MS.Office.Interop.Excel.ApplicationClass에 정의된 생성자가 없습니다. (0) | 2023.04.16 |
---|---|
오늘 날짜에서 30일 전 날짜를 얻는 방법 (0) | 2023.04.16 |
git 이등분 사용법? (0) | 2023.04.11 |
두 조건이 일치하는 경우 카운트 - EXCEL 공식 (0) | 2023.04.11 |
WPF 창에서 현재 포커스된 요소/컨트롤을 가져옵니다. (0) | 2023.04.11 |