RHEL 9에서는
이 명령을 실행하면
cp -a /somedir/. .
"somedir" 디렉터리(디렉터리 자체가 아님)의 모든 파일이 현재 디렉터리로 복사됩니다.그러나 명령을 실행하면
mv /somedir/. .
"이동할 수 없습니다. 장치 또는 리소스가 사용 중입니다."라는 오류가 발생합니다.명령
mv /somedir/ .
과mv /somedir .
결과는 "somedir" 디렉터리를 현재 디렉터리로 이동합니다.
질문;
두 번째 명령에서 오류가 발생하는 이유는 무엇입니까?
하나를 사용하지 않고 명령을 사용하여 디렉터리 자체가 아닌 디렉터리 내용만 현재 디렉터리로 이동
*
하는 방법이 있습니까 ?somedir
mv
Linux, 특히 RHEL 및 RHEL 유사 배포판에서
/path/to/file/
,/path/to/file/.
및 의 차이점은 무엇입니까?/path/to/file
답변1
로 끝나는 경로 /
는 와 동일하므로 를 /.
사용하면 첫 번째와 두 번째 경로가 모두 실패합니다. mv
왜냐하면 디렉터리를 이동(또는 대부분의 방법으로 수정)할 수 없기 때문입니다 .
. 첫 번째 항목에서는 -a
옵션이 cp
재귀적으로 복사하도록 지시하므로 이 오류가 발생하지 않습니다. 따라서 디렉터리를 수정하려고 시도하지 않고 내용만 복사합니다.
디렉터리를 이동하는 경우 후행 /
.
모든 파일 이름을 나열하지 않고도 디렉토리의 내용을 쉽게 이동할 수 있습니다 *
. 물론 *
어쨌든 쉘은 모든 파일 이름으로 확장되므로 이것도 마찬가지이므로 피할 수는 없습니다 *
.
파일 이름 완성을 사용하여 명령줄에서 파일 이름을 확장할 수도 있습니다. bash에서 한 가지 방법은 다음을 사용하는 것입니다.esc {