커맨드 라인을 배우기 위해 리눅스 배포판이 필요합니까, 아니면 OS X이면 충분합니까?


12

커맨드 라인 사용법을 배우겠습니다. 구체적으로, 나는 "리눅스 커맨드 라인 : 완전한 소개" 책을 사용할 것이다 . 이제 책을 살펴 보려면 Linux 배포판을 사용해야합니까, 아니면 OS X이면 충분합니까?

Linux 배포판이 필요한 경우 VM을 통해 Linux 배포판을 사용하는 것으로 충분합니까, 아니면 기본적으로 설치해야합니까?


8
VM이 아닌 물리적 하드웨어에 OS를 설치해야하는 유일한 이유는 성능 때문입니다. 기본 절차 만 배우려고한다면 문제가되지 않을 것입니다. VM에서 Arch와 같은 것을 실행하는 것이 좋습니다.
Bratchley


4
명령 줄은 사용자와 시스템 사이의 링크 일뿐입니다. 배쉬 셸 구문은 동일 할 수 있지만 시스템 특정 부분을 처리해야 할 경우 차이점이 있습니다. 예를 들어, OS X에는 /proc파일 시스템이 /Volumes없으며 USB 드라이브는 /media/usernameUbuntu와 다르게 나타나는 경향이 있습니다. CentOS는 다른 dhclient.conf파일을 가지고 있습니다. 기타 등등
Sergiy Kolodyazhnyy

4
제안 된 교차 사이트 복제는 MacBooks의 가상화 성능에 대한 매우 다른 질문 입니다. 질문은 교차 게시되지 않습니다.
Michael Homer

2
@ Utku 나는 몇 가지 개념을 분리하는 것이 도움이 될 것이라고 생각합니다. 명령 줄 사용과 사용하는 운영 체제. 명령 줄을 알고 싶다면 Linux, BSD 또는 Windows뿐만 아니라 OS X도 약간의 노력으로 작동합니다. UNIX 또는 Linux를 알고 싶다면 명령 행은 그 일부에 지나지 않으며 OS와 상호 작용하는 인터페이스 일뿐입니다. 나는 당신이 가고있는 것을 명확히하면 배우기가 더 쉬워 질 것이라고 생각합니다 :)
rickcnagy

답변:


33

VM에서 Linux를 실행하는 것이 좋습니다. 모든 소프트웨어는 무료로 다운로드 할 수 있으며 VM에서 실행하는 것과 명령 줄을 학습하기 위해 기본적으로 실행하는 것 사이에는 실질적인 차이가 없습니다.

또한 Linux 명령 행은 대부분 bash Unix로 구성되며 BSD Unix와는 매우 다릅니다 (OS X는 BSD Unix의 성공 임). BSD Unix와 GNU Linux에서 인수를 작성하는 데에는 환경 설정에 큰 차이가 있습니다. 당신은 같은 표준 유틸리티에 다른 옵션이 아닌 초보자으로도 자신을 물린 수 ps그리고 tar당신은 두 시스템에서 작동합니다.

책이 Linux에 특화된 경우 OS X를 사용하면 경험이 많을 때 피상적으로 보일 수있는 불일치와 차이점이 정기적으로 발생하지만 학습 할 때 혼동 될 수 있습니다. 쉽게 물건을 유지하십시오.

또한 중요한 파일을 삭제하거나 변경하여 시스템을 중단 할 염려없이 실험 할 수 있습니다.

마지막으로 OS X 터미널에서 VM에 대한 SSH 연결을 설정할 수 있으므로 SSH 키 사용에 익숙해지고 Linux 서버와 아무런 차이가 없다는 생각에 익숙해 질 수 있습니다. 기본 머신, 로컬 VM 또는 AWS 또는 Digital Ocean에서 실행 중입니다. 모두 동일하게 작동합니다!


그건 그렇고, VM과 기본 Linux의 디렉토리 구조가 동일합니까?
Utku

3
예. 귀하의 목적을 위해 기본 설치와 동일합니다.
seumasmac

이것은 가장 안전한 답변이지만 책에 따라 커맨드 라인 북에 대한 소개가 많은 차이점을 보여주지 않을 것이라고 가정합니다. 매뉴얼을 한 눈에 본 후에 나에게 붙어있는 유일한 것은 디렉토리 구조에 대한 설명 일 것입니다.
pllee

1
@Utku 책에 / dev / sda 또는 / dev / hda가 언급되어 있고 설치에서 찾을 수 없으면 / dev / vda를 찾으십시오. 이것이 제가 생각할 수있는 유일한 차이점입니다.
Kimmax

1
VM을 사용할 필요조차 없으며 HD에서 많은 공간을 차지하지 않으려는 경우 라이브 CD를 사용할 수도 있습니다. 플래시 드라이브에서 부팅 할 수도 있으며 CD / 부팅 가능한 플래시 드라이브를 만드는 데 시간이 거의 걸리지 않습니다.
Chris Cirefice

18

OS X은 인증 된 UNIX이므로 POSIX를 준수하므로 명령 줄을 배우기에 충분합니다. Linux 관련 명령 줄을보고 있다면 OS X의 사용자 도구는 BSD에서 파생 된 반면 Linux의 도구는 GNU이며 그 사이에는 약간의 미묘한 차이가 있습니다.

GNU 도구를 배우려면 macports 또는 homebrew를 통해 GNU 사용자 영역을 설치하거나 VM에서 전체 Linux 설치를 수행 할 수 있습니다.


명령 줄에 "일반적인"책이 없다고 생각합니까? 책은 GNU 또는 BSD 도구를 사용합니다. 맞습니까?
Utku

1
쉘에 책이 있다면 (예 :) 책 bash을 실행하는 모든 시스템에 적합합니다. 운영 체제 기능이나 쉘 외부의 특정 도구를 사용하기 시작하면 다릅니다.
teppic

1
@teppic 그러나 쉘 자체 가 얼마나 유용한가 ? AFAIK, 쉘 자체에는 실행할 명령이 없으므로 쓸모가 없습니다. 가장 기본적인 명령조차 lsGNU 또는 BSD에서 가져와야합니다 (잘못되면 수정하십시오). 따라서 이것은 하나의 툴 체인 (또는 환경)을 선택하고 거기에서 명령 줄을 배우기 시작해야한다는 것을 의미한다고 생각합니다. 맞습니까?
Utku

@Utku 명령은 (대부분) 동일하지만 옵션과 출력이 다를 수 있습니다 (GNU는 많은 확장을 구현하기 때문에). BSD와 GNU 도구 사이를 쉽게 이동할 수 있습니다.
casey

@casey OS X에서이 책을 시작했을 수도 있습니다. 그런 다음이 책에서 설명하지 않은 동작이 발생하면 Linux에서 시도하거나 동일한 명령의 BSD 변형을 볼 수 있습니까?
Utku

9

지금까지 좋은 답변이 있지만 기본 OS X 명령 행 도구에서 멀리 떨어져있는 또 다른 이유는 이전 버전이기 때문입니다. 예를 들어 OS X grep는 2004 년 bash부터 2007 년까지입니다! 그 이유 는 Apple이 GPL3에 따라 라이센스가 부여 된 도구의 배송을 거부하기 때문 입니다.

Linux를 올바르게 설치하지 않으려면 최신 버전을 수동으로 설치할 수 있습니다 (MacPorts, Fink 또는 Homebrew와 같은 일부 포트 시스템을 통해).


3

첫 번째 차이점 :

ls * -lah

리눅스에서 작동, 맥에서는 실패 (매개 변수가 먼저 나와야 함). VM을 사용하거나 mac OS 용 책을 받으십시오. 나중에 더 많이 사용할 것과 그 차이를 배워야합니다.


3
당신은 말을해야 ls * -lah리눅스에 작품을 리눅스에서 작동하는 방법을, 그리고는 OS X에이 OS X에서이 OS X에서 작동하는 방법을 작동하는 방식으로 작동 올바른 POSIX (12 유틸리티 규칙 / 12.2 유틸리티 구문 가이드 라인에 따라 / 지침 9) :“모든 옵션은 명령 행에서 피연산자 앞에 와야합니다.” getopt (3)에 설명 된대로 : "… 환경 변수 POSIXLY_CORRECT 가 설정되면 비 옵션 인수가 발생하자마자 옵션 처리가 중지됩니다."
G-Man, 'Reinstate

3

유닉스를 배우는 가장 좋은 방법은 실제로 유닉스와 관련된 일을하는 것입니다. 나는 일반적인 작업 환경 (OS X)에서 자신의 파일과 데이터로 작업 할 수 있도록 책에있는 Linux 관련 예제와 표준 도구의 Mac 버전 사이의 차이점에 직면 할 가치가 있다고 말합니다.

때때로 좌절감을 느끼더라도 그 차이를 극복하는 것은 귀중한 학습 경험이 될 것입니다.

Linux VM을 가지고 연습하는 것 (예 : 잠재적으로 위험한 명령의 경우)도 유용하지만 실제 학습에있어 실제 사용률을 능가하는 것은 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.