커맨드 라인 또는 CLI(Command Line Interface)는 컴퓨터에게 실행할 명령(커맨드)을 입력하는 공간입니다. 우리가 흔히 알고 있는 터미널(Terminal)과 동일한 개념으로 두 가지 용어는 호환해서 사용할 수 있습니다.
이 글은 Command Line for Beginners, FreeCodeCamp의 일부를 번역 및 정리한 글입니다.
대부분의 컴퓨터 운영 체제는 CLI와 GUI(Graphic User Interface)를 제공하며 다음과 같은 차이점이 존재합니다.
- CLI: 컴퓨터가 작업을 수행할 수 있는 커맨드를 텍스트로 입력하는 인터페이스입니다.
- GUI: 그래픽 사용자 인터페이스를 의미하며, 사용자가 화면을 보고 클릭하면 해당하는 작업이 실행됩니다.
터미널을 사용하는 이유
앞서 살펴본 것처럼 대부분의 운영체제는 GUI라는 간편한 인터페이스를 제공합니다. 화면에서 아이콘을 클릭하면, 폴더가 열리거나 파일이 실행되는 아주 간편한 인터페이스입니다. 그렇다면 굳이 복잡한 터미널을 사용해야 할까요?
- 효율성 때문입니다. GUI에서는 여러 번의 클릭이 필요한 작업을 CLI에서는 하나의 커맨드로 처리할 수 있습니다. 따라서 CLI에 익숙해지면 더 빠르게 작업을 수행할 수 있습니다.
- CLI를 통해 작업을 더 쉽게 자동화할 수 있기 때문입니다. 특정 작업을 수행하는 스크립트를 짠 다음, 원하는 때에 자동으로 실행되도록 할 수 있습니다.
- 때로는 CLI를 통해서만 컴퓨터와 상호작용할 수 있기 때문입니다. 예를 들어, 클라우드 플랫폼 서버와 통신하는 경우 GUI를 사용할 수 없는 경우가 많습니다. 이 때는 CLI 커맨드를 사용해야만 합니다.
다양한 셸의 종류들
셸(shell)은 CLI 역할을 하는 프로그램을 의미합니다. 각 셸은 서로 다른 문법과 특성을 갖고 있습니다. 맥이나 리눅스의 경우에는 Bash라는 기본 셸을 지원하며, Zsh는 Bash를 개선한 셸입니다. 윈도우는 기본적으로 Powrshell을 지원합니다.
기본 커맨드 사용 방법
CLI의 개념과 사용 이유에 대해 알아봤으니 이제 몇 가지 간단한 커맨드를 알아보도록 하겠습니다.
echo
: 터미널에 전달하는 파라미터가 출력됩니다.pwd
: 현재 작업 디렉토리가 출력됩니다.ls
: 현재 디렉토리의 콘텐츠 목록이 출력됩니다.ls -a
: 현재 디렉토리의 숨겨진 파일과 디렉토리가 출력됩니다.ls -al
: 현재 디렉토리의 모든 파일과 디렉토리가 출력됩니다(숨김 파일 포함).
cd
: 디렉토리 위치를 변경할 수 있습니다.cd Desktop
: 데스크톱 디렉토리로 이동합니다.cd ..
: 상위 디렉토리로 이동합니다.cd
: 홈 디렉토리로 이동합니다.
mkdir
: 새로운 디렉토리를 생성합니다.mkdir test
: test라는 이름의 디렉토리를 생성합니다.
rmdir
: 디렉토리를 삭제합니다.rmdir test
: test 디렉토리를 삭제합니다.
touch
: 새로운 파일을 생성합니다.touch test.txt
: test.txt 파일을 생성합니다.
rm
: 파일을 삭제합니다.rm test.txt
: test.txt 파일을 삭제합니다.
cp
: 디렉토리 또는 파일을 복사합니다. 다음과 같이 두 가지 파라미터를 받습니다.cp test.txt testCopy.txt
: test.txt 파일을 복사하여 testCopy.txt에 복사합니다.cp test.txt ./testFolder/testCopy.txt
: test.txt 파일을 복사하여 testFolder 디렉토리에 testCopy.txt로 복사합니다.
mv
: 디렉토리 또는 파일을 이동합니다.mv test.txt ./testFolder/
: testFolder로 test.txt 파일을 이동합니다.mv test.txt /.testFolder/testCopy.txt
: 해당 디렉토리로 파일을 이동하며 이름을 testCopy.txt로 바꿉니다.
head
head test.txt
: test.txt 파일의 첫 부분을 출력합니다.
tail
tail test.txt
: test.txt 파일의 가장 마지막 부분을 출력합니다.
--help
: 특정 커맨드를 사용하는 방법을 출력합니다.cd --help
: cd 커맨드와 사용 방법이 출력됩니다.
man
: 특정 커맨드와 관련된 상세 도움말을 출력합니다.man cd
: cd 커맨드와 관련된 상세 정보가 출력됩니다.man bash
: bash 셸에 관련된 모든 도움말이 출력됩니다.
마치며
터미널을 처음 접하면 친절하지 않은 인터페이스에 당황스러울 수도 있습니다. 그러나 커맨드 라인은 시간을 갖고 연습하며 학습할 필요가 있는 효율적이며 자동화를 위한 강력한 도구입니다! 터미널에 관한 자세한 학습은 이곳의 유튜브 재생목록을 참고해보셔도 좋을 거 같습니다.
반응형