내 컴퓨터에는 집과 직장에 각각 하나씩 두 개의 사용자 로그인을 설정했습니다. 두 사용자간에 내 bash 및 vim 설정을 공유하고 싶습니다. 어쨌든 이것을 할 수 있습니까? 지금까지 한 계정에서 다른 계정으로 파일을 복사했지만 두 파일 사이에 파일 하나만 있으면 한 곳에서만 변경할 수 있기를 원합니다. 이것이 가능합니까? 감사.
내 컴퓨터에는 집과 직장에 각각 하나씩 두 개의 사용자 로그인을 설정했습니다. 두 사용자간에 내 bash 및 vim 설정을 공유하고 싶습니다. 어쨌든 이것을 할 수 있습니까? 지금까지 한 계정에서 다른 계정으로 파일을 복사했지만 두 파일 사이에 파일 하나만 있으면 한 곳에서만 변경할 수 있기를 원합니다. 이것이 가능합니까? 감사.
답변:
이 ln
도구를 사용하여 심볼릭 링크 를 만들 수 있습니다 .
ln -s /Users/user1/.bashrc /Users/user2/.bashrc
이 예에서는 의 디렉토리 user2
에있는 기존 파일을 다시 가리키는 새 링크를 작성합니다 user1
. sudo ln ...
권한이 올바르게 설정되지 않은 경우 사용해야 합니다.
-s
하려면 ln
명령에 대한 옵션을 생략하면 됩니다.
이를 수행하는 방법에는 여러 가지가 있지만, 내가 본 일반적인 관용구는 각 사용자의 홈 폴더 외부에 단일 파일을 설치하고 ~ / .bashrc 파일 소스를 공통 파일에 모두 두는 것입니다.
이를 통해 명확성을 확보하고 나중에 사용자 수준의 변경을 수행 할 수있을뿐만 아니라 나중에 한 명 또는 두 명의 사용자가 모두 삭제되는지 여부에 관계없이 하나의 파일 만 유지 관리 할 수 있습니다.
파일을 하드 링크하는 것보다 약간 더 많은 작업이며 이러한 종류의 작업에 소프트 링크를 사용하는 경험은 일부 도구가 소프트 (또는 sym) 링크를 처리하지 않고 원하는대로 처리하지 않기 때문에 피하는 것입니다.
코드 컨트롤을 사용하여 파일을 배포하는 것보다 훨씬 쉽지만 git 또는 mercurial 또는 다른 버전 제어 시스템을 설정하려는 경우 변경 사항을 관리하는 좋은 방법입니다.
/ etc / bashrc에있는 시스템 전체의 .bashrc를 편집 할 수 있습니다.
그러나 Git에 익숙하다면 "도트 파일"을위한 저장소를 만드는 것을 고려해야한다. 무료 Github 리포지토리를 사용하여 그렇게 할 수 있습니다. 이런 방식으로 도트 파일을 추적하면 많은 장점이 있습니다.
다른 사람들이 지적했듯이 심볼릭 링크를 사용 하여이 작업을 수행 할 수 있지만 두 사용자가 파일에 액세스하고 파일을 편집 할 수 있도록 권한을 적절히 변경하는 것이 중요합니다.
에 대한 기존 항목 .bashrc
을 모두 제거하십시오 user2
.
rm /Users/user2/.bashrc
심볼릭 링크 user1
의 .bashrc
에 user2
의 사용자 디렉토리 :
ln -s /Users/user1/.bashrc /Users/user2/.bashrc
두 사용자가 파일을 수정할 수 있도록 권한을 변경하십시오.
chmod +a "user2 allow read,write,execute" /Users/user2/.bashrc
하나는 다른 하나에 대한 상징적 인 링크가되어야합니다.
user.2로 terminal.app에서
cd $HOME; ln -s ../user1/.bashrc