CentOS7을 사용하고 있으며 명령을 사용할 때
cp /root/test/.* /root/test1
..
또한 소스의 상위 디렉터리에 있는 모든 파일과 폴더를 복사하는 복사본도 있습니다 .
복사를 피하는 방법 .
과 ..
?
답변1
복사할지 여부는 질문에 명시 적으로 명시되어 있지 않습니다.오직숨겨진 이름 또는 모든 파일을 복사할지 여부. 마찬가지로 하위 디렉터리의 내용을 복사할지 여부도 마찬가지입니다. 나는 당신이 복사하고 싶다고 가정 할 것입니다오직숨겨진 이름은 현재 디렉터리입니다(명령을 사용하려는 것처럼 보이기 때문입니다).
재귀 복사를 수행하기 위해 -R
옵션 cp
(또는 -r
GNU ) 을 사용하지 않는 한 명령은 상위 디렉토리의 모든 파일을 복사하지 않습니다 . 옵션이 cp
없으면 디렉토리 에 대해 불평 하고 복사하지는 않습니다.-R
cp
.
..
셸 에서 셸 변수를 셸이 파일 이름 글로빙 패턴을 확장하지 않을 이름의 -delimited 목록 으로 bash
설정합니다 .GLOBIGNORE
:
GLOBIGNORE='.:..'
그런 다음 파일을 복사하고
cp /root/test/.* /root/test1
복사 작업을 위해 임시로 설정하려면 GLOBIGNORE
하위 셸을 사용하세요.
( GLOBIGNORE='.:..'; cp /root/test/.* /root/test1 )
답변2
.
및 를 제외하고 점으로 시작하는 모든 이름을 글로빙하는 표준 관용어 ..
입니다 .??*
. 그래서 당신의 명령은
cp /root/test/.??* /root/test1