cp
을 사용하여 홈 디렉토리를 복사하려고하면, 원하는 것 이상이 복사됩니다. 다음은 예으로이 문제를 보여줍니다. 실제로는 재귀 적으로 복사하고 싶지만,이 예제에서는 속도를 높이 지 못합니다.Git bash`cp` - "보호 된 운영체제 파일"을 제외하십시오. (무엇입니까?)
[email protected] ~
$ mkdir /c/test
[email protected] ~
$ cp ./* /c/test
cp: omitting directory `./AppData'
cp: omitting directory `./Contacts'
cp: omitting directory `./Cookies'
cp: omitting directory `./Desktop'
cp: omitting directory `./Documents'
cp: omitting directory `./Downloads'
cp: omitting directory `./Dropbox'
cp: omitting directory `./Favorites'
cp: omitting directory `./GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}'
cp: omitting directory `./Links'
cp: omitting directory `./Lokala inst\303\244llningar'
cp: omitting directory `./Mallar'
cp: omitting directory `./Mina dokument'
cp: omitting directory `./Music'
cp: `./NTUSER.DAT.exe' and `/c/test/NTUSER.DAT' are the same file
cp: omitting directory `./N\303\244tverket'
cp: omitting directory `./Pictures'
cp: omitting directory `./Programdata'
cp: omitting directory `./Recent'
cp: omitting directory `./Saved Games'
cp: omitting directory `./Searches'
cp: omitting directory `./SendTo'
cp: omitting directory `./Skrivare'
cp: omitting directory `./Start-meny'
cp: omitting directory `./Videos'
cp: `./ntuser.dat.LOG1.exe' and `/c/test/ntuser.dat.LOG1' are the same file
cp: `./ntuser.dat.LOG2.exe' and `/c/test/ntuser.dat.LOG2' are the same file
[email protected] ~
$ ls /c/test
NTUSER.DAT{016888bd-6c6f-11de-8d1d-001e0bcde3ec}.TM.blf
NTUSER.DAT{016888bd-6c6f-11de-8d1d-001e0bcde3ec}.TMContainer00000000000000000001.regtrans-ms
NTUSER.DAT{016888bd-6c6f-11de-8d1d-001e0bcde3ec}.TMContainer00000000000000000002.regtrans-ms
NTUSER.DAT{6a7ede06-4c18-11e0-86c3-00262d9124f7}.TM.blf
NTUSER.DAT{6a7ede06-4c18-11e0-86c3-00262d9124f7}.TMContainer00000000000000000001.regtrans-ms
NTUSER.DAT{6a7ede06-4c18-11e0-86c3-00262d9124f7}.TMContainer00000000000000000002.regtrans-ms
NTUSER.DAT{8ef111c8-e816-11df-8bd5-00262d9124f7}.TM.blf
NTUSER.DAT{8ef111c8-e816-11df-8bd5-00262d9124f7}.TMContainer00000000000000000001.regtrans-ms
NTUSER.DAT{8ef111c8-e816-11df-8bd5-00262d9124f7}.TMContainer00000000000000000002.regtrans-ms
NTUSER.DAT{e9e59e5b-940d-11e0-8662-00262d9124f7}.TM.blf
NTUSER.DAT{e9e59e5b-940d-11e0-8662-00262d9124f7}.TMContainer00000000000000000001.regtrans-ms
NTUSER.DAT{e9e59e5b-940d-11e0-8662-00262d9124f7}.TMContainer00000000000000000002.regtrans-ms
_.swp
_viminfo
ntuser.ini
php_errors.log
해당 ntuser 파일을 복사하지 않겠습니다. 내가 재귀 적으로 복사하면, 나는 다음과 같은 폴더 (오른쪽으로 변환 시도)를 복사하고 싶지 않은 : 나는 recursivley을 복사하려고 경우 위에서 언급 한 모든 폴더가에서 생성됩니다
~/Contacts
~/Cookies
~/Lokala inställningar (Local settings)
~/Mallar (Templates)
~/Mina dokument (My documents)
~/Nätverket (The network)
~/Programdata
~/Recent
~/SendTo
~/Skrivare (Printers)
~/Start-meny (Start menu)
그들에게 권한이 거부 될 것으로 보인다 이후 대상,하지만 그들은 비어있게됩니다
: 위의 로그에서 볼 수 있듯이cp: cannot access `/c/Users/Simon/Cookies': Permission denied
cp: cannot access `/c/Users/Simon/Documents/Min musik': Permission denied
cp: cannot access `/c/Users/Simon/Documents/Mina bilder': Permission denied
cp: cannot access `/c/Users/Simon/Documents/Mina videoklipp': Permission denied
cp: cannot access `/c/Users/Simon/Lokala inst\303\244llningar': Permission denied
cp: cannot access `/c/Users/Simon/Mallar': Permission denied
cp: cannot access `/c/Users/Simon/Mina dokument': Permission denied
`/c/Users/Simon/NTUSER.DAT' -> `/e/Backup/Simon/NTUSER.DAT'
cp: `/c/Users/Simon/NTUSER.DAT.exe' and `/e/Backup/Simon/NTUSER.DAT' are the same file
cp: cannot access `/c/Users/Simon/N\303\244tverket': Permission denied
cp: cannot access `/c/Users/Simon/Programdata': Permission denied
cp: cannot access `/c/Users/Simon/Recent': Permission denied
cp: cannot access `/c/Users/Simon/SendTo': Permission denied
cp: cannot access `/c/Users/Simon/Skrivare': Permission denied
cp: cannot access `/c/Users/Simon/Start-meny': Permission denied
`/c/Users/Simon/ntuser.dat.LOG1' -> `/e/Backup/Simon/ntuser.dat.LOG1'
cp: `/c/Users/Simon/ntuser.dat.LOG1.exe' and `/e/Backup/Simon/ntuser.dat.LOG1' are the same file
`/c/Users/Simon/ntuser.dat.LOG2' -> `/e/Backup/Simon/ntuser.dat.LOG2'
cp: `/c/Users/Simon/ntuser.dat.LOG2.exe' and `/e/Backup/Simon/ntuser.dat.LOG2' are the same file
, ~/Documents
에서 (오른쪽으로 변환 시도) 추가 원치 않는 폴더를있을 것 같습니다
./Min musik (My music)
./Mina bilder (My pictures)
./Mina videoklipp (My video clips)
어쨌든 권한이 거부되었으므로이 문제로 너무 많은 고통을 겪지 않습니다. 불필요한 빈 폴더가 몇 개 더 있고 불필요한 불필요한 파일이 몇 개 있으며 대상 폴더에 불필요한 파일이 있습니다. 로그에서 cp
.
cp
명령으로 시험하기 전에 나는이 파일들에 대해서조차 알지 못했습니다. 분명히 폴더 옵션에서 "보호 된 운영 체제 파일 숨기기 (권장)"를 선택 해제해야만 Windows 탐색기에 표시되고 단축키처럼 폴더에 작은 화살표가 표시됩니다. 숨겨진 파일은 (~/AppData
과 같이) 반투명합니다.
실제 사용은 shopt -s extglob; shopt -s dotglob
및 src="/c/Users/Simon/!(AppData)"
(--arcgive
재귀 복사를 의미한다는 통지)과 함께, 실제 복사를 할 cp $src "$dstdir" --update --archive --backup=numbered --verbose
을 사용하는 작은 백업 스크립트, 그 중 하나가 관심이있는 경우입니다. 편집 : 내가 언급 한 백업 스크립트로 달성하고 싶은 것은 내 사용자 폴더 (가장 중요한 것은 내 문서, 사진 및 비디오뿐만 아니라 예를 들어 .ssh 및 .gitconfig에 일어나는 대부분의 파일을 백업하는 것입니다. (VonC의 대답을 따르지 않는 한) 거기에 있어야합니다. Git bash는 이미 설치되어 있으므로 사용하면되고 원하는 백업을 수행하는 아주 간단한 방법을 제공합니다. 그것은 힘내와 아무런 관련이 없다. 추가 편집을 참조하십시오.
그럼 cp
명령이이 파일을 복사하지 못하게 할 수 있습니까? (? 또는, 나는 cp
보다는 뭔가 다른 (모호한 질문, 내가 아는를 사용하지만, 주요 아니다, 필요하다면 나는 정교한한다).)
원래 하위 질문 : 그리고 이러한 무엇인가 파일? (내가 아는 한, Windows XP에서 많은 폴더가 "일반"폴더로 존재합니다.) 편집 : 아마도 Windows XP에서 남은 부분은 적어도 Local Settings is입니다.
편집 : 지금 VonC에 대한 해결책과 옵션, 감사의 많음이 내 루트 문제가 될 것으로 보인다 파일을 백업의 목적을 위해 :
내가 %HOME%
, /c/git
에 설정을하는 이미 모든 repos를 보관하고있는 곳이기 때문에 모든 Git (bash) 파일을 한 곳에서 사용할 수 있습니다. 또한, 백업이 용이 대신 (언급 한 바와 같이) /c/Users/Simon/!(AppData)
백업, 나는 쉽게 더 특정 대상을 가리킬 수 있습니다 : 따라서
"/c/Users/Simon/Documents/*"
"/c/Users/Simon/Music/*"
"/c/Users/Simon/Pictures/*"
"/c/Users/Simon/Videos/*"
"/c/Users/Simon/Desktop/*"
를 내가 원치 않는 폴더가 아직 거기에 문제 대부분을 피할 것 ~/Documents
왼쪽에 있습니다 (위 참조).
은 지금은 윈도우 특정 도구 등 xcopy
, xxcopy
또는 robocopy
로, 아마 백업에 대한 더 나은 이해하지만 지금은 내가 cp
되지는 Windows 명령 줄에 뛰어해야하는 단순함을 선호합니다.
백업에 대한 오랜 의견은 누군가에게 유용하기를 바랍니다. 나는 "cp
이외의 다른 것을 사용해야합니까?"라고 생각합니다. 질문에 완전히 대답하고 내 주요 문제가 대부분 해결되었습니다.
여전히 "cp
명령이이/이러한 파일을 복사하지 못하게하려면 어떻게해야합니까?" 질문은 미해결 상태로 남아 있으며 ("Windows 특정 도구 사용"답변 제외) 많은 사람들에게 관련이 있습니다.
좋은 조언이지만, 내가 찾는 것이 아닙니다. 나는 나의 질문을 분명히 할 것이다. – lydell
@lydell이 이해하고 귀하의 질문은 이제 매우 분명합니다. 나는 나의 대답을 편집하고 대안을 제안했다. – VonC
감사합니다. "Original git-centric answer"는 결국 "git-centric"이 아니라는 사실이 밝혀졌습니다. 그것은 대다수의 부작용을 줄뿐만 아니라 대부분 내 문제를 해결하는 데 도움이되었습니다! (내 편집 참조) – lydell