리눅스 터미널 소개

소개

리눅스 기본 원리를 가르치는 시리즈 중 첫 번째인 이 튜토리얼은 터미널과 리눅스 명령줄을 시작하는 방법, 그리고 명령을 실행하는 방법을 다룹니다. 리눅스에 처음 접하시는 분들은 터미널에 익숙해져야 합니다. 터미널은 리눅스 서버와 상호 작용하는 표준 방법입니다.

이 튜토리얼을 최대한 활용하고 싶다면 Linux 서버에 연결하고 사용해야 합니다. 아직 Linux 서버가 없다면 이 링크를 따라 빠르게 생성할 수 있습니다: 디지털오션 도로플릿 만들기 방법. 이 튜토리얼은 Ubuntu 22.04 서버를 기준으로 작성되었지만 일반적인 원칙은 다른 Linux 배포판에도 적용됩니다.

이제 터미널 에뮬레이터가 무엇인지 알아보겠습니다.

터미널 에뮬레이터

A terminal emulator is a program that allows the use of the terminal in a graphical environment. As most people use an OS with a graphical user interface (GUI) for their day-to-day computer needs, the use of a terminal emulator is a necessity for most Linux server users.

다음은 운영 체제별로 일반적으로 사용되는 무료 터미널 에뮬레이터입니다:

  • 맥 OS X: 터미널 (기본), iTerm 2
  • 윈도우: ConEmu, Windows Terminal, PuTTy
  • 리눅스: Gnome 터미널, Konsole, XTerm

각 터미널 에뮬레이터에는 고유한 기능 집합이 있습니다. 일반적으로 현대적인 터미널 에뮬레이터가 탭으로 구성된 창과 텍스트 강조 기능을 지원할 것으로 예상됩니다.

리눅스 시스템에서 은 사용자의 명령과 스크립트 파일을 해석하고 서버의 운영 체제에게 그것들을 처리하도록 지시하는 명령 줄 인터페이스입니다. 널리 사용되는 여러 셸이 있으며, 예를 들어 본-어게인 셸 (bash)과 Z 셸 (zsh) 등이 있습니다. 각 셸은 명령의 해석 방식과 관련된 고유한 기능 집합과 복잡성을 갖고 있지만, 입력 및 출력 리다이렉션, 변수 및 조건 테스트 등의 기능을 모두 제공합니다.

이 튜토리얼은 대부분의 리눅스 배포판, 우분투, 페도라 및 RHEL을 포함한 대부분의 리눅스 배포판의 기본 셸인 본-어게인 셸(bash)를 사용하여 작성되었습니다.

명령 프롬프트

서버에 처음 로그인하면 일반적으로 하루의 메시지 (MOTD)를 받게됩니다. 이는 일반적으로 서버가 실행중인 Linux 배포판의 버전과 같은 여러 가지 정보를 포함하는 정보 메시지입니다. MOTD 이후에는 명령 프롬프트 또는 셸 프롬프트로 이동됩니다. 여기서 서버에 명령을 입력할 수 있습니다.

명령 프롬프트에서 제공되는 정보는 사용자에 의해 사용자 정의될 수 있지만, 여기에는 기본 Ubuntu 20.04 명령 프롬프트의 예가 있습니다:

sammy@webapp:~$

명령 프롬프트 구성을 설명하겠습니다:

  • sammy: 현재 사용자의 사용자 이름
  • webapp: 서버의 호스트 이름
  • ~: 현재 디렉터리. 기본 셸인 bash에서는 ~ 또는 틸데는 현재 사용자의 홈 디렉터리 경로로 확장되는 특수 문자입니다. 이 경우 /home/sammy를 나타냅니다.
  • $: 프롬프트 기호. 이는 명령 프롬프트의 끝을 나타내며 그 뒤에는 사용자의 키보드 입력이 나타납니다

여기에 root로 로그인하고 /var/log 디렉터리에 있는 경우 명령 프롬프트가 어떻게 보일지에 대한 예시가 있습니다:

root@webapp:/var/log#

참고로 명령 프롬프트를 끝내는 기호는 #이며 이는 root에 대한 표준 프롬프트 심볼입니다. Linux에서 root 사용자는 슈퍼유저 계정으로, 시스템 전역의 관리 기능을 수행할 수 있는 특별한 사용자 계정입니다. 이는 어떠한 제약도 없이 서버에서 어떠한 작업이든 수행할 수 있는 권한을 갖고 있는 사용자입니다.

명령 실행

명령은 실행 가능한 파일의 이름을 지정하여 명령 프롬프트에서 발급될 수 있으며, 이 파일은 이진 프로그램 또는 스크립트가 될 수 있습니다. OS와 함께 설치된 많은 표준 Linux 명령 및 유틸리티가 있으며, 이를 통해 파일 시스템을 탐색하고 소프트웨어 패키지를 설치하고 시스템 및 응용 프로그램을 구성할 수 있습니다.

실행중인 명령의 인스턴스는 프로세스로 알려져 있습니다. 명령이 전경에서 실행될 때, 이는 명령이 기본적으로 실행되는 방식으로 사용자는 프로세스가 완료될 때까지 기다려야하며, 그 후에 명령 프롬프트로 돌아가 추가적인 명령을 발행할 수 있습니다.

중요한 점은 Linux에서 파일 및 디렉토리 이름, 명령, 인수 및 옵션을 포함하여 거의 모든 것이 대소문자를 구분한다는 것입니다. 예상대로 작동하지 않을 경우, 명령어의 철자와 대소문자를 다시 한 번 확인하십시오!

여기에 명령 실행의 기본을 다루는 몇 가지 예제가 있습니다.

참고: 이미 Linux 서버에 연결되어 있지 않은 경우 지금 로그인하는 것이 좋습니다. Linux 서버가 있지만 연결에 문제가 있는 경우 다음 링크를 따르십시오: SSH를 사용하여 드롭렛에 연결하는 방법.

인수나 옵션이 없는 경우

인수나 옵션이 없이 명령을 실행하려면 명령의 이름을 입력하고 Enter 키를 누르십시오.

이렇게 명령을 실행하면 각 명령마다 기본 동작이 표시됩니다. 예를 들어, 인수가 없이 cd 명령을 실행하면 현재 사용자의 홈 디렉터리로 돌아갑니다. 현재 디렉터리의 파일과 디렉터리 목록을 출력하는 ls 명령입니다. 인수 없이 ip 명령을 실행하면 ip 명령을 사용하는 방법을 보여주는 메시지가 표시됩니다.

현재 디렉터리의 파일과 디렉터리 목록을 표시하려면 인수 없이 ls 명령을 실행해보세요(아무 것도 없을 수 있음):

  1. ls

인수를 사용하는 경우

많은 명령은 인수 또는 매개 변수를 받아들이며, 명령의 동작에 영향을 줄 수 있습니다. 예를 들어, cd 명령을 사용하는 가장 일반적인 방법은 변경할 디렉터리를 지정하는 단일 인수를 전달하는 것입니다. 예를 들어, 많은 표준 명령이 설치된 /usr/bin 디렉터리로 변경하려면 다음 명령을 사용합니다:

cd /usr/bin

cd 구성 요소는 명령이고, 첫 번째 인수는 명령 뒤에 따릅니다. 명령 프롬프트의 현재 경로가 어떻게 업데이트되었는지 주목하세요.

새로운 현재 디렉터리에 있는 파일을 보려면 ls 명령을 실행해보세요.

ls
Output
… grub-mkrescue sdiff zgrep grub-mkstandalone sed zipdetails grub-mount see zless grub-ntldr-img select-editor zmore grub-render-label semver znew grub-script-check sensible-browser

옵션 사용

대부분의 명령은 명령의 동작을 수정하는 옵션을 받아들입니다. 옵션은 명령 뒤에 따라오며, 단일 - 문자 뒤에 하나 이상의 옵션이 옵니다. 일부 다중 단어 옵션은 --으로 시작할 수 있으며, 플래그 텍스트가 뒤에 옵니다.

옵션이 작동하는 예를 살펴보기 위해 ls 명령을 살펴보겠습니다. 다음은 ls를 사용할 때 유용한 일반적인 옵션 몇 가지입니다:

  • -l: “긴 목록”을 출력합니다. 이는 권한, 소유권, 파일 크기 및 타임스탬프와 같은 추가 세부 정보를 포함합니다.
  • -a: 디렉터리의 파일을 모두 나열합니다. 이는 숨겨진 파일도 포함합니다 (점으로 시작하는 파일)

ls-l 플래그를 함께 사용하려면 다음 명령을 사용하십시오:

  1. ls -l

이 명령은 이전과 동일한 파일을 나열하지만 각 파일에 대한 추가 정보가 포함됩니다.

이전에 언급했듯이 옵션은 종종 함께 그룹화될 수 있습니다. -l-a 옵션을 함께 사용하려면 ls -l -a를 실행하거나 이 명령과 같이 결합할 수 있습니다:

  1. ls -la

이 명령에서는 -a 옵션으로 인해 숨겨진 ... 디렉터리가 나열에 포함됩니다.

옵션과 인수와 함께

명령을 실행할 때 옵션과 인수는 거의 항상 결합될 수 있습니다.

예를 들어, 다음 ls 명령으로 현재 디렉터리에 관계없이 /home의 내용을 확인할 수 있습니다:

ls -la /home

ls는 명령이고, -la는 옵션입니다. /home은 나열할 파일이나 디렉터리를 나타내는 인수입니다. 이 명령은 /home 디렉터리의 자세한 목록을 출력해야 합니다. 이 디렉터리에는 서버의 모든 일반 사용자의 홈 디렉터리가 포함되어 있어야 합니다.

환경 변수

환경 변수는 명령 및 프로세스 실행 방법을 변경하는 데 사용되는 이름이 지정된 값입니다. 서버에 처음으로 로그인할 때 몇 가지 구성 파일에 따라 여러 환경 변수가 기본적으로 설정됩니다.

모든 환경 변수 보기

특정 터미널 세션에 설정된 모든 환경 변수를 보려면 env 명령을 실행하세요:

env

출력이 많이 나올 것입니다. PATH 항목을 찾아보세요:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

PATH 환경 변수는 명령이 발행될 때 셸이 실행 가능 프로그램 또는 스크립트를 찾을 디렉토리 목록으로 콜론으로 구분된 목록입니다. 예를 들어, env 명령은 /usr/bin에 위치해 있으며 전체 경로를 지정하지 않고도 실행할 수 있습니다. 왜냐하면 해당 경로가 PATH 환경 변수에 있기 때문입니다.

변수의 값 보기

환경 변수의 값은 변수 이름 앞에 $를 붙여서 검색할 수 있습니다. 이는 참조된 변수를 해당 값으로 확장합니다.

예를 들어, PATH 변수의 값을 출력하려면 다음과 같이 echo 명령을 사용할 수 있습니다:

echo $PATH

또는 기본적으로 사용자 홈 디렉토리로 설정된 HOME 변수를 사용하여 다음과 같이 홈 디렉토리로 변경할 수 있습니다:

cd $HOME

설정되지 않은 환경 변수에 액세스하려고 하면 아무것도 확장되지 않고 빈 문자열로 확장됩니다.

환경 변수 설정하기

이제 환경 변수를 볼 수 있는 방법을 알았으므로, 설정하는 방법을 배워야 합니다.

환경 변수를 설정하려면, 변수 이름으로 시작한 후에 즉시 = 기호가 나오고 그 뒤에 원하는 값을 입력하면 됩니다:

VAR=value

기존 변수를 설정하면 원래 값이 덮어씌워집니다. 변수가 처음에 존재하지 않았으면 생성됩니다.

Bash에는 자식 프로세스에서 상속될 환경 변수를 내보내는 export라는 명령이 포함되어 있습니다. 이를 통해 현재 세션에서 내보낸 환경 변수를 참조하는 스크립트를 사용할 수 있습니다.

변수를 설정할 때 기존 변수를 참조할 수도 있습니다. 예를 들어, 만약 /opt/app/bin에 어플리케이션을 설치했다면, 다음 명령어로 해당 디렉토리를 PATH 환경 변수의 끝에 추가할 수 있습니다:

export PATH=$PATH:/opt/app/bin

이제 echo를 사용하여 /opt/app/binPATH 변수의 끝에 추가되었는지 확인하십시오:

echo $PATH

이 방법으로 환경 변수를 설정하는 것은 현재 세션에만 해당됩니다. 즉, 로그아웃하거나 다른 세션으로 변경하면 환경에 대한 변경 사항이 유지되지 않습니다. 환경 변수를 영구적으로 변경하는 방법이 있지만, 이것은 나중에 다룰 예정입니다.

결론

리눅스 터미널(그리고 몇 가지 명령어)에 대해 배우기 시작했으므로, 리눅스 명령어의 지식을 확장하는 좋은 기반을 갖게 될 것입니다. 이 시리즈의 다음 튜토리얼을 읽어서 파일 및 그들의 권한을 탐색, 보기 및 편집하는 방법을 배우세요.

Source:
https://www.digitalocean.com/community/tutorials/an-introduction-to-the-linux-terminal