읽기 전에!
macOS 버전에 따라 터미널 일부 명령이 지원되지 않기도 합니다. 본 내용에 나오는 터미널 명령은 버전 별로 작동 여부를 모두 확인하지 않았으니 참고해주세요.
macOS의 숨겨진 기능을 사용하려면 터미널을 써야 합니다. 하지만 일반 사용자는 터미널이 뭔지 아리송하기 마련!
이제부터 맥 사용을 편리하게 해주는 터미널 활용 기술을 소개하려 합니다. macOS 그래픽 인터페이스는 단순하고 직관적입니다. 맥을 사용함에 있어 부족함이 없다는 말이기도 하죠. 하지만 터미널 명령줄(command-line)을 다룰 줄 안다면 그 활용도는 더욱 넓어질 것입니다.
macOS에는 맥 사용을 위한 다양한 기능이 탑재되어 있고 Windows와 유사한 조작 방법으로 어렵지 않게 활용할 수 있습니다. 하지만 어느 정도 맥에 익숙해지면 사용자에 맞게 특화된 기능을 쓰고 싶거나 고급 기능을 쓰고 싶기도 하죠. 그럴 때 유용한 게 응용 프로그램 > 유틸리티 폴더에 있는 [터미널]입니다. [터미널]을 이용하면 일반적으로는 사용할 수 없는 숨겨진 기능이나 평소 쓸 수 없었던 섬세한 설정을 할 수 있습니다.
단, 터미널을 몰라도 맥 사용하는데는 전혀 지장 없습니다. 가끔 맥을 제대로 쓰려면 터미널을 반드시 배워야 하는 것처럼 얘기하는 사람이 있는데요. 굵직한 기능은 macOS 그래픽 인터페이스에 이미 구현되어 있으며 없는 기능도 터미널보다 외부 앱을 쓰는 게 더 편할 수 있습니다.
macOS의 핵심 부분인 커널(Kernel)은 메모리 관리, 입출력 장치 관리 등 하드웨어와 관련된 작업을 수행하며 사용자는 커널에 접근할 수 없습니다. 그러므로 사용자가 명령을 입력하면 이를 해석하여 커널이 이해할 수 있는 명령으로 번역해 줄 매개체가 필요한데요.
커널을 둘러싸고 있는 셸(Shell)은 명령을 해석하여 사용자와 macOS 시스템을 연결시켜 줍니다. 그리고 터미널은 사용자가 명령을 입력하여 셸에 전달하거나 시스템으로부터 결과를 받아 사용자가 알아볼 수 있게 출력해 주는 역할을 합니다.
현대의 모든 컴퓨터 터미널은 셸을 내장하고 있으므로 터미널과 셸이라는 용어를 구분하지 않고 혼용해서 쓰기도 합니다. 기본 명령은 'ls'와 'cd'와 같은 것이 있고 그 종류는 실로 다양합니다. 위 예시에서와 같이 명령은 영문, 숫자로 입력하고 명령과 옵션, 인수 사이에는 공백을 하나 넣어야 합니다
맛보기로 로그인 언어를 변경해 보겠습니다. 맥은 한국어 환경으로 쓰고 싶은데 로그인 화면만 영어로 쓰고 싶은 적은 없었나요? 혹은 로그인 화면에 표시되는 언어와 실제 사용하는 시스템 언어가 다르지만 귀찮아서 그냥 썼던 적은 없었나요? 로그인 화면에 표시되는 언어를 수동으로 변경할 수 있습니다.
응용 프로그램 > 유틸리티 폴더에서 [터미널]을 실행하세요. 그런 다음 다음과 같이 명령을 입력한 뒤 return을 눌러 실행합니다.
sudo languagesetup
이어서 관리자 암호를 입력하고 return을 누르면 사용할 수 있는 언어 목록이 표시됩니다. 여기서 원하는 언어의 번호를 입력하고 다시 return을 누르면 됩니다. 아래 로그인 화면은 5번 중국어로 설정한 뒤 맥을 재시동했을 때 표시된 모습입니다.
macOS에서 사용할 수 있는 명령
터미널에서 사용할 수 있는 명령은 종류도 많고 어느 정도 규칙을 가지고 입력해야 하므로 사실 일반 사용자는 쉽게 사용하기 어렵습니다. 그러므로 부담을 느끼지 않도록 기본적인 터미널 사용 방법부터 쓸만한 명령 위주로 소개할 예정입니다.
숨겨진 기능을 호출하는 터미널 명령은 이전에는 훨씬 더 많았으나 새로운 보안 기능인 시스템 무결성 보호(System Integrity Protection, SIP)가 탑재되면서 시스템의 중요한 부분에는 접근할 수 없도록 바뀌었고, 그 결과 사용할 수 있는 사용자 정의 명령은 대폭 줄었습니다. 그렇다고는 해도 여전히 수많은 숨은 기능이 있습니다.
단, 터미널은 화면을 보면서 마우스를 사용하는 그래픽 사용자 인터페이스 (Graphical User Interface, GUI)에서는 본래 쓸 수 없었던 기능을 쓸 수 있다면 장점이 있지만, 설정 변경 시 예상치 못했던 문제가 발생할 수 있는 위험도 있으므로 명령어를 남발하는 건 좋지 않습니다.
시스템 무결성 보호란?
루트리스(Rootless)라고도 불리는 시스템 무결성 보호(System Integrity Protection)는 OS X 엘 캐피탠에서 처음 탑재된 macOS 보안 기능입니다. 이는 커널의 여러 메커니즘으로 동작하는데 핵심 기능은 시스템 파일과 디렉터리를 수정할 수 없게 보호하는 것입니다.
예를 들면 예전에는 rm -rf / 명령어를 사용하여 시스템 전체를 날릴 수 있었으나, 이제는 관리자나 sudo 명령어를 써도 접근 권한이 없으면 무조건 차단됩니다. 쉽게 말해 일반 사용자 입장에서는 실수 자체를 할 수 없는 상황이 되어 버렸습니다.
심지어 macOS 기본 앱도 루트리스가 적용되고 있으므로 일종의 해킹에 해당하는 코드 인젝션(Code Injection)도 불가능합니다. 애플은 루트 사용자가 시스템 보안에 있어서 충분한 위험 요인이므로 이러한 조치를 취했다고 언급했으며, 시스템 무결성 보호를 받는 대상은 /System, /usr, /sbin, /bin, 기본 설치 앱입니다.
'macOS 터미널 테크닉' 카테고리의 다른 글
macOS 터미널_명령줄, 그래픽 인터페이스로 가져오기_06 (0) | 2022.07.06 |
---|---|
macOS 터미널_파일, 디렉터리 작업_05 (0) | 2022.07.04 |
macOS 터미널_둘러보기_04 (1) | 2022.06.30 |
macOS 터미널_둘러보기_03 (0) | 2022.06.28 |
macOS 터미널_기본 개념_02 (0) | 2022.06.27 |