더북(TheBook)

우리는 윈도우, macOS 같은 운영체제에서 웹 브라우저, 워드 프로세서, 스프레드시트, 게임 등의 애플리케이션을 실행하며 컴퓨터를 사용한다. 대부분의 애플리케이션은 사용자가 필요로 하는 여러 가지 일련의 기능을 이미 갖고 있으므로, 그 자체로 자기 완결적이며 다른 애플리케이션에 의존할 필요가 없다. 가끔 애플리케이션을 오가며 내용을 복사하고 붙여넣는 경우가 있지만, 그 외에는 애플리케이션의 사용이 대체로 독립적이다.

그러나 리눅스 명령행은 그렇지 않다. 리눅스에서는 수십 내지 수백 가지 기능을 갖춘 커다란 애플리케이션 대신, 단 몇 가지 기능만을 가진 작은 크기의 여러 가지 명령을 사용한다. 예를 들면 cat 명령은 파일의 내용을 화면에 출력하는 명령이고 ls는 디렉터리 속 파일의 목록을 출력하는 명령이며, mv는 파일명을 변경하는 명령이다. 각 명령은 간단하지만 확실한 목적을 갖는다.

만약 조금 더 복잡한 작업이 필요하다면 어떻게 해야 할까? 그렇더라도 전혀 문제가 되지 않는다. 리눅스에서는 명령을 결합하는 방식으로 여러 가지 기능을 조합해 우리가 원하는 목적을 달성할 수 있다. 그러나 이런 방식을 잘 사용하려면 컴퓨터 사용에 대한 마인드를 밑바닥부터 바꿔야 한다. 원하는 일을 하기 위해 가장 먼저 생각해야 하는 것이 ‘어떤 애플리케이션을 사용해야 하는가’가 아니라 ‘어떤 명령을 조합해야 하는가’가 돼야 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.