
사용자가 키보드로 문자열 명령을 입력하고 컴퓨터가 처리한 결과를 화면에서 확인하는 상호작용이다.
명령행 인터페이스는 시스템 자원을 덜 소모하고 효율적으로 시스템을 관리할 수 있다. 특히 서비스를 빠르고 안정적으로 제공하는 일 이더 중요한 서버 컴퓨터에서는 그래픽 사용자 인터페이스(GUI)보다 명령행 인터페이스를 선호한다. 서버 서비스에 꼭 필요한 패키지만 제공하는 우분투 서버도 명령행으로 제어한다.
그러므로 우분투 데스크톱을 사용하더라도 명령행 인터페이스를 익혀야 한다.
Bash 셸에서 HelloBash라는 텍스트를 입력해보자.
HelloBash 문자열 입력
echo HelloBash 문자열 입력
셸 명령 옵션
어떤 명령들은 세부 기능을 선택할 수 있도록 옵션을 제공한다.
- 옵션은 기호
--나-로 시작하며 영문 대/소문자로 입력한다.
일반적으로--로 시작하는 옵션은 이름으로 의미를 알기 쉽지만 여러 문자를 입력해야하며,-로 시작하는 축약형 옵션은 짧게 입력할 수 있어 사용에는 편리하지만 어느정도 암기가 필요하다.
예를 들어 사용자를 추가하는useradd명령은 사용법을 알려주는--help와-h옵션을 모두 지원한다.useradd --help useradd -h
- 여러 옵션을 붙여 쓰는 것도 가능하다.
예를 들어 파일 목록을 화면에 보여주는ls명령은 숨김 파일까지 모두 표시하는-a옵션과 파일 정보를 함께 출력하는-l옵션을 제공하는데, 두 옵션을 동시에 사용해서 적용할 수 있다.#옵션을 붙여 쓰는 경우 순서와 상관없이 명령을 처리한다. ls -al ls -la
시스템을 시작하고 종료하는 명령어는 다음과 같다.
| 명령 | 설명 |
|---|---|
| logout | 셸 사용을 종료하고 로그인 대기 상태로 돌아간다. |
| printenv | 설정된 모든 환경변수를 출력한다. |
| export | 환경변수를 등록한다. |
| unset | 등록한 환경변수를 삭제한다. |
| shutdown | 시스템을 종료한다. |
| reboot | 시스템을 다시 시작한다. |
우분투 데스크톱 : 터미널 앱 실행. 한글 입출력 가능, 명령어 logout 실행 시 터미널 종료

우분투 서버 : 기본 콘솔 환경. 계정 로그인 시 활용 가능. 한글 입출력 불가능. 명령어 logout 실행 시 첫화면으로 돌아가 로그인 대기

printenvprintenv는 현재 설정된 모든 환경변수를 출력한다.

이 중 핵심 내용만 몇 가지 정리하였다.
| 변수명 | 설명 |
|---|---|
| SHELL | 현재 로그인 한 셸 정보 |
| PWD | 현재 작업 디렉터리 경로 |
| LOGNAME | 로그인 한 사용자 이름 |
| HOME | 사용자 홈 디렉토리 경로 |
| LANG | 로케일 설정 |
| PATH | 실행할 명령을 찾는 경로 |

[변수명]=[값]의 형식으로 입력하여 셸에서 사용할 변수를 정의한다.
이 때, 변수 이름, 등호, 값 사이에 공백이 없어야한다.
변수를 사용할 때는 변수이름 앞에 $를 붙여야 한다.
export사용자가 실행하는 명령은 셸의 자식 프로세스로 동작하므로, 방금 등록한 VAR 변수는 자식 프로세스에서 동작할 수 없어 사용에 제약이 있다. 환경변수를 조회해도 해당 변수는 찾아볼 수 없다.
export 명령은 변수를 환경변수로 내보낸다. VAR을 export 명령으로 등록 후 환경변수를 확인하면 VAR 변수가 등록됨을 확인할 수 있다.
export VAR=1

❗
export로 내보낸 환경변수는 로그인 상태에서만 유지된다.
터미널을 닫거나 로그아웃 이후 환경변수는 모두 초기화된다. 환경변수를 유지하려면 환경 설정 파일에 등록해야 한다.
현재 로그인 한 사용자에 해당하는 환경변수는 홈 디렉터리의 배시 환경 설정 파일.bashsrc에export명령으로 등록할 수 있다.
시스템 전체 등록 시/etc/environment에 등록하면 된다.
unsetunset 명령은 환경변수를 삭제한다.
unset VAR
shutdown 명령은 시스템을 종료한다. 우분투 서버, 우분투 데스크톱 터미널 모두에서 동일하게 동작한다.
shutdown은 루트권한이 필요하므로 앞에 sudo 명령을 붙여야 한다.
sudo shutdown -h now
shutdown [옵션][시간] 형식으로 입력한다.-h는 명령을 실행한 이후 전원을 차단하는 옵션이다.now는 지금 즉시 명령을 실행한다. 15 를 입력하면 된다.sudo shutdown -h 15
03:30을 입력하면 된다.sudo shutdown -h 03:30
-c를 사용한다.sudo shutdown -c
-r을 사용하거나 reboot 명령어를 사용한다.sudo shutdown -r now
sudo reboot #shutdown -r과 동일한 동작