모든 경로에서 Cygwin의 / cygdrive 접두사를 어떻게 제거합니까?


36

Windows 용 Git과 함께 제공되는 bash 쉘에서 Cygwin으로 전환하고 이상한 문제가 발생합니다. 누군가는 /cygdrive/모든 길 을 더하는 것이 좋은 생각 이라고 생각하지만, 나는 그것이 끔찍한 추악한 생각이라고 생각합니다. 나는 이것을 추가함으로써 이것을 부분적으로 고칠 수 있다고 결정할 수 있었다.

mount --change-cygdrive-prefix /
export HOME=/c/Users/BZISAD0

내 .bashrc에 있지만 PATH 변수를 보면 모든 것이 여전히 / cygdrive /에 있습니다. PATH를 수정하는 스크립트를 작성할 수는 있지만 이미 수행하고있는 것보다 훨씬 더 복잡합니다. 거기는 더 좋은 방법이있을거야, 난이 꽤 확신이기 때문에 망할 놈의 bash 쉘에서 사용하는 (AFAIK) Cygwin에서 이전 버전과는 어떻게 든하도록 구성된 되지 앞에 추가 /cygdrive사방. 그렇다면 "Suck"노브를 어떻게 0으로 돌릴있습니까?

게리 라슨 만화

답변:


39

/ etc를 움켜 쥐면 인터넷 검색이하지 않는 링크 가 나타납니다 . 파일에서 이것을 제어 할 수 있습니다 /etc/fstab. 라는 줄을 추가하십시오.

none / cygdrive binary 0 0

문제가 해결되어야합니다. .bashrc에 더 이상 kludgey 수정이 없으며 엉망인 $ PATH가 없습니다.


2
이 방법을 사용했는데 이제 시도 할 때 ls /Windows 드라이브가 나타나지 않습니다. 를 사용할 때도 아닙니다 ls -l /. 이것이 예상됩니까? 고칠 수 있습니까? 이것이 내가 fstab에있는 것입니다 :none / cygdrive binary,posix=0,user,acl 0 0
Tibi

에 Windows 드라이브를 가져올 수있는 방법이 있는지 몰랐습니다 /. 전에 했어? (또는 /cygdrive/??) 나는 항상 어떤 Windows 드라이브를 사용할 수 있는지 알아야한다는 사실에 항상 살았으며 어쨌든 거의 사용하지 않습니다.
iconoclast

1
예, ls /cygdriveWindows 드라이브를 나열해야합니다. 예를 들어, 출력은 c/ e/ f/입니다. 드라이브가 폴더처럼 취급되는 방식에 유의하십시오.
Kat

1
이 절반 만 작동합니다. 두 개의 마운트 (실제 /cygdrive)는 일종의 오버레이입니다. 즉 /c, 등을 사용하여 드라이브를 얻을 수는 있지만의 일부로 나열되지는 않습니다 /. 나는 목록 /cygdrive만들 때 실제 내용을 숨기고 있다고 생각합니다 . 이것이 기술적으로 정의되지 않은 동작인지 궁금하고 무언가를 깨뜨릴 수 있습니다. 어쨌든, 내가하고있는 것을 볼 수 있기를 선호하므로 선택하고 /mnt있습니다.
underscore_d

1
@Tibi /로 cd 한 다음 mkdir c (또는 드라이브 이름이 무엇이든)를 수행하면 드라이브 마운트 포인트가 빈 디렉토리로 덮어 쓰지 않고 ls에 표시됩니다. 누가 이런일이 일어날 거라고 생각 했 겠어?
barksdml

10

방법 1

mount -c /
mount -m > /etc/fstab

방법 2

echo - / cygdrive acl > /etc/fstab


이 작업을 수행하기 전과 후에 (방법 1) /cygwin64 루트 디렉토리를 참조 cd /c했지만 작동하지 않았습니다. 일을하기 위해서는 cd /c해야했다 mount c: /c.
MM

/c결코 작동하지 않았어야했는데 내 솔루션은 결코 제안하지 않았습니다.
Steven Penny

2
"경로에서 / cygdrive를 제거하는 방법"은 "/ cygdrive / c 대신 / c가 작동하는 방법"(및 다른 문자의 경우와 유사)을 의미합니다. 내 경로는 이제 실제로 / cygdrive / c / bla 대신 / c / bla를 보여줍니다
MM

1
2.9.0 (0.318 / 5 / 3) 기준 2017-09-12 10:18 x86_64 Cygwin에서 방법 1을 수행하면 사용자가 cd /c또는 cd c:. 사용 cd /정지하면 cygwin64의 디렉토리로 이동합니다.
Marcel Wilson

1

예, 마운트 가 작동합니다.

mount -c /

PATH해당 항목이 여전히 있으면 /cygdrive재부팅해야합니다.

또한를 참조 하는 PATH설정 이 있는지 확인 /etc/profile하십시오 /cygdrive.


Cygwin을 다시 시작 하시겠습니까, 아니면 실제로 전체 컴퓨터를 다시 부팅 하시겠습니까?
iconoclast

Cygwin 기반 프로세스를 모두 종료해야한다고 생각합니다 . 가장 쉬운 방법은 컴퓨터를 재부팅하는 것입니다.
Mikel

나는 일반적으로 내 자신의 질문에 대한 답변을 찾을 때 다른 사람들의 답변을 선호하지만, 당신은 재부팅 (또는 그 시뮬레이션)이 필요하고 광산은 cygwin의 문서에서 찾은 것이기 때문에 나와 함께 갈 것입니다.
iconoclast

재부팅하지 않고 작업했다면 꼭!
Mikel

그러나 컴퓨터를 재부팅하면이 변경 사항이 사라집니다. fstab에 저장된 내용으로 돌아갑니다.
rustyx
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.