[6] 리눅스의 특징과 명령어
리눅스(Linux)의 특징
리눅스는 1991년 리누스 토발즈가 만든 운영 체제로 현재 전 세계에서 가장 많이 사용되는 운영 체제입니다. 리눅스는 무료로 사용할 수 있고, 소스 코드가 공개되어 있기 때문에 누구나 사용하고 개선할 수 있습니다. 이러한 특징 때문에 서버, 데스크톱, 모바일, IoT 등 다양한 분야에서 사용되고 있습니다. 특히, 클라우드 환경에서는 정말 예외적인 경우를 제외하고는 대부분 리눅스 운영 체제를 사용하고 있습니다. 이렇게 리눅스가 많이 사용되는 이유는 여러 가지가 있지만, 가장 큰 이유 중 하나는 바로 도커 때문입니다.
여기에서는 리눅스 운영 체제의 기본적인 사용 방법을 알아보겠습니다. 리눅스 운영 체제는 우분투(Ubuntu), SUSE, CentOS 등 다양한 종류가 있는데 이 중에서도 우분투는 가장 많이 사용되는 운영 체제 중 하나입니다. 이 책에서 리눅스 환경을 사용할 때 모든 것은 우분투를 기준으로 설명합니다.
리눅스의 기본 명령어
리눅스 운영 체제는 터미널을 사용해 명령어를 입력하는 방식입니다. 터미널은 리눅스에서 사용하는 명령어를 입력하고 실행할 수 있는 프로그램으로 이를 사용하려면 터미널을 실행하는 프로그램이 필요합니다. 리눅스에서는 터미널을 실행하는 프로그램을 쉘(Shell)이라고 부릅니다. 쉘은 다양한 종류가 있지만, 가장 많이 사용되는 쉘은 bash 쉘입니다. bash 쉘은 리눅스에서 기본으로 제공되는 쉘로 리눅스를 처음 접하는 사용자라면 bash 쉘을 사용하는 것이 좋습니다.
터미널에서는 다양한 명령어를 사용할 수 있습니다. 여기에서는 리눅스에서 가장 많이 사용되는 명령어를 알아보겠습니다. 리눅스 명령어는 다음과 같은 형식으로 사용합니다.
$ 명령어 [옵션] [인자]
여기에서 $
는 터미널에서 명령어를 입력할 수 있는 상태이고, 명령어는
터미널에서 실행할 수 있는 프로그램입니다. 예를 들어 ls
명령어는 입력된
경로에 있는 파일과 디렉토리의 목록을 출력하는 것으로 다음과 같이
사용합니다.
$ ls /home/ubuntu
ls
명령어는 옵션과 인자를 사용할 수 있습니다. 옵션은 명령어의 실행
방식을 변경하는 역할을 합니다. 예를 들어 ls
명령어는 -l
옵션을
사용하면 파일과 디렉토리의 상세 정보를 출력합니다. -l
옵션은 다음과
같이 사용합니다.
$ ls -l /home/ubuntu
이외에도 필수적으로 알아 두어야 할 명령어를 정리해 보면 다음과 같습니다.
pwd
: 현재 디렉토리의 경로를 출력합니다.$ pwd
cd
: 디렉토리를 이동합니다.$ cd
mkdir
: 디렉토리를 생성합니다.$ mkdir
rm
: 파일을 삭제합니다.$ rm
cp
: 파일을 복사합니다.$ cp
mv
: 파일을 이동합니다.$ mv
cat
: 파일 내용을 출력합니다.$ cat
grep
: 파일에서 특정 문자열을 검색합니다.$ grep
find
: 파일을 검색합니다.$ find
chmod
: 파일의 권한을 변경합니다.$ chmod
chown
: 파일의 소유자를 변경합니다.$ chown
curl
: 파일을 다운로드하거나 웹 서버에 요청을 보냅니다.$ curl
각 명령어의 옵션과 자세한 사용 방법은 터미널에서 man
명령어를 사용하면
됩니다. man
명령어를 사용해 ls
명령어의 설명을 확인할 수 있습니다.
$ man ls
실행 결과
LS(1) General Commands Manual LS(1)
NAME
ls – list directory contents
SYNOPSIS
ls [-@ABCFGHILOPRSTUWabcdefghiklmnopqrstuvwxy1%,] [--color=when] [-D format] [file ...]
DESCRIPTION
For each operand that names a file of a type other than directory, ls displays its name as
well as any requested, associated information. For each operand that names a file of type
directory, ls displays the names of files contained within that directory, as well as any
requested, associated information.
If no operands are given, the contents of the current directory are displayed. If more than
one operand is given, non-directory operands are displayed first; directory and non-directory
operands are sorted separately and in lexicographical order.
:
화면을 위 아래로 이동하면서 내용을 읽을 수 있고, q
를 누르면 종료할 수
있습니다.
[TIP] `less` 프로그램
man
페이지를 볼 때 사용되는 프로그램은less
라는 프로그램입니다.less
는 터미널에서 텍스트 파일을 읽을 때 사용하고,man
페이지를 읽을 때도 사용됩니다.less
는man
페이지를 읽을 때 사용하는 것 외에도 터미널에서 텍스트 파일을 읽을 때 사용할 수 있습니다. 예를 들어less readme.txt
와 같이 파일의 내용을 읽을 수 있습니다.이외에도 간단한 파일을 편집할 수 있는 도구인
vi
나nano
같은 도구의 사용법도 익혀두는 것이 좋습니다. 리눅스는 터미널에서 명령어를 입력해 사용하므로 터미널에서 파일을 편집해야 하는 일이 종종 발생합니다. 따라서vi
나nano
의 사용법을 미리 익혀두면 편리합니다.필수적이지는 않지만, 리눅스와 관련해서 알아두면 좋은 주제 몇 가지를 소개하고, 1장을 마무리하겠습니다. 어려운 내용이 많기 때문에 클라우드와 리눅스에 어느 정도 익숙해진 후에 다음의 주제를 살펴보는 것을 추천합니다.
- 파일 시스템
- 프로세스와 cgroups
- 사용자와 사용자 그룹