![원격 서버와 로컬 디렉터리를 재동기화하기 위한 별칭을 만듭니다. 나쁜 습관인가요?](https://rvso.com/image/1482476/%EC%9B%90%EA%B2%A9%20%EC%84%9C%EB%B2%84%EC%99%80%20%EB%A1%9C%EC%BB%AC%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EB%A5%BC%20%EC%9E%AC%EB%8F%99%EA%B8%B0%ED%99%94%ED%95%98%EA%B8%B0%20%EC%9C%84%ED%95%9C%20%EB%B3%84%EC%B9%AD%EC%9D%84%20%EB%A7%8C%EB%93%AD%EB%8B%88%EB%8B%A4.%20%EB%82%98%EC%81%9C%20%EC%8A%B5%EA%B4%80%EC%9D%B8%EA%B0%80%EC%9A%94%3F.png)
면책조항: 저는 슈퍼유저가 아닙니다.
질문: 저는 서버를 내 컴퓨터의 개발 디렉토리와 동기화하고 싶을 때마다 이 괴물 같은 글을 쓰고 있습니다.
rsync -chavzP --stats user@host:/remote/ ~/local/
매번 입력할 필요가 없도록 .zshrc 등에 별칭을 만드는 것이 나쁜 습관입니까? 사용자 이름과 호스트 이름은 항상 까다롭고 숫자로 채워져 있습니다. 나는 대부분의 시간 동안 그것을 찾아보아야만 한다는 것을 안다. 형식이 좋지 않은 경우 시간을 절약하기 위해 취해야 할 다른 접근 방식은 무엇입니까?
답변1
몇 년 전 처음 Bash 셸을 사용하기 시작했을 때 별칭에 의존하게 되어 쉘 별칭이 정의되지 않은 다른 시스템에서 길을 잃을 경우를 대비해 별칭을 정의하는 것을 꺼려했습니다.
귀하의 명령과 같은 복잡한 명령을 반복하기 위해 이전에 입력한 명령에 대해 쉘 기록을 거꾸로 검색할 수 있는 Bash의 기능을 rsync
사용했습니다 .Ctrl-R
그러나 이것은 신뢰할 수 없으며 몇 년 후에 별칭을 사용하지 않는 것은 단지 어리석은 일이라는 결론에 도달했습니다. 이는 수십 년 전에 발명되었습니다(C 셸을 만든 Bill Joy에게 감사드립니다 † ). 그 이유는 아주 타당한 이유가 있습니다. 긴 명령을 입력하려면 시간과 노력이 필요하기 때문입니다.
대부분의 사람들은 긴 명령을 쉽게 기억하지 못합니다. 특히 산발적으로만 사용하는 경우 위 rsync
명령은 인수도 필요하지 않으므로 별칭에 대한 완벽한 사용 사례입니다(이 경우 쉘 함수가 사용됩니다). .
또한 유사한 명령을 사용해야 하는 경우 셸 시작 파일에 별칭을 저장하면 외부 소스에서 명령의 세부 정보를 조회할 필요가 없으므로 시간이 절약됩니다.
요즘에는 사용자가 새 시스템이나 다른 시스템을 사용할 때 검색할 수 있도록 사용자 정의 셸 별칭, 함수, 구성 파일 및 스크립트를 서버에 저장하는 것이 일반적입니다. 일부는 Dropbox를 사용하고 다른 일부는 GitHub를 사용하고 다른 일부는 자신의 개인 웹 공간에 업로드합니다. 이렇게 하면 쉘 사용자 정의를 항상 사용할 수 있습니다.
결론/TLDR
이러한 별칭을 사용하는 것은 좋은 습관이며, 시간과 입력 시간을 절약해 줍니다. 이것이 별칭이 만들어진 이유입니다. 이를 쉘 시작 파일에 저장하면 .zshrc
항상 사용할 수 있으며 Unix 쉘 사용자에게는 모범 사례로 간주됩니다.
또한보십시오
별칭을 적용할 시기, 스크립팅할 시기, 함수 작성 시기
참조
†Bill Joy가 자신의 별칭에 대해 말한 내용은 다음과 같습니다.C 쉘 소개:
이 메커니즘을 사용하면 입력하는 명령을 단순화하거나, 명령에 기본 인수를 제공하거나, 명령 및 해당 인수에 대한 변환을 수행할 수 있습니다.