목차
시작 화면

시작 화면에서 맨 아래줄만 읽어보자. ubuntu@ip-172-31-24-185:~$ 라고 표시 되어있다.
@ 앞에 있는 값이 ubuntu 는 사용자 이름이다. 윈도우 운영체제에서도 처음 시작할 때, 여러 사용자를 만들어서 사용할 수 있는것 처럼 리눅스에서도 여러 사용자를 만들어 사용할 수 있다. 그 중에서 기본 사용자의 이름을 ubuntu 로 지정해 준것이다.
- @ 뒤에 있는 값인 ip-172-31-24-185 는 호스트의 이름, 즉 컴퓨터의 이름을 의미한다. 기본 값으로 우리가 대여한 해당 컴퓨터의 IP 주소로 이름이 지어진다.
- ~ : 현재 들어와있는 경로를 의미한다. ~ 라는 경로는 사용자의 홈 디렉토리를 의미한다.
- $ : 사용자의 명령 입력을 기다린다는 표시이다.
리눅스 환경에서는 각 사용자에게 할당된 디렉토리가 있다. 그 디렉토리를 홈 디렉토리 라고 부른다.
홈 디렉토리의 경로는 /home/{사용자명} 이다. 사용자의 이름이 ubuntu 인 경우 /home/ubuntu 가 홈 디렉토리인 것이다.
이 때, 홈 디렉토리의 경로를 간결하게 표현하기 위해 ~ 로 표현한다.
기본 조작법 및 파일과 디렉토리
ctrl + 방향키
ctrl + 방향키로 space 로 띄어진 단어 단위로 커서를 이동시킬 수 있다.

ctrl + c
리눅스에서 ctrl + c 는 Esc 와 비슷한 작업 중단, 작업 취소 역할을 한다. 실행 중인 프로그램을 종료할 때도 ctrl + c 를 사용하고,
특정 작업을 중단할 때도 ctrl + c 를 이용한다.
명령어를 입력 중에 ctrl + c 를 이용해 작업을 취소하면 ^C 라는 표시가 남는다.

clear
clear 를 입력하면 터미널 화면을 깔끔하게 지워준다.
복사하기 / 붙여넣기
윈도우 환경에서 조작하는 터미널에서는 복사/붙여넣기가 ctrl + c, ctrl + v 로 동작하지 않는다.
- 복사하기 : Ctrl + Insert
- 붙여넣기 : Shift + Insert
우분투 리눅스의 기본 디렉토리 구조
리눅스에서 파일(file), 디렉토리(directory)의 의미
윈도우나 맥에서 얘기하는 파일(file) 과 폴더(folder)의 개념이 리눅스에서는 조금 다르다.
- 리눅스에서는 폴더(folder)라고 부르지 않고, 디렉토리(directory)라고 부른다.
윈도우에서의 폴더(folder)와 리눅스에서의 디렉토리directory)는 완전히 같은 개념이라고 생각해도 된다. - 리눅스에서는 모든 것을 파일(file)로 간주한다.
윈도우에서는 파일(file)과 폴더(folder)가 별개의 개념이었지만, 리눅스에서는 모든 것을 파일(file)로 간주한다.- 일반 파일 : 텍스트, 동영상 파일 등
- 디렉토리 파일 : 윈도우에서의 폴더와 같은 개념
리눅스의 기본 디렉토리 구조

- 리눅스의 최상위에 있는 디렉토리( / )를 보고 루트 디렉토리라고 한다.
- 루트 디렉토리 안에 리눅스에 관련된 모든 파일들을 담고있다.
- 루트 디렉토리를 보고 최상위 디렉토리라고도 부른다.
- 리눅스에서 경로를 표현할 때는 슬래시 ( / )를 활용하여 경로를 간단하게 표현한다.
- ex) 루트 디렉토리에 있는, var 폴더 안에 있는, log 폴더 → /var/log
- 리눅스에는 기본적으로 구성되어 있는 파일들이 존재한다.
- /bin, /opt, /boot 등
디렉토리 조회, 이동 명령어
현재 디렉토리 경로 조회 ( pwd : print working directory )
pwd : 리눅스 환경에서 현재 내가 위치한 경로를 조회한다.

디렉토리 이동 ( cd )
cd 이동할 경로 : 지정한 경로로 경로를 이동한다.

cd .. : 현재 디렉토리 경로에서 상위 디렉토리 (..) 로 이동
현재 디렉토리 내부에 있는 파일 조회 ( ls )
ls : 현재 디렉토리 내부의 파일을 조회한다.

ls -l : 현재 디렉토리 파일 조회(ls) + 자세한 정보 조회 (-l)
맨 왼쪽 정보에서 d 로 시작하는 파일을 디렉토리를 의미하고 - 로 시작하는 파일은 일반 파일을 의미한다.

숨김 파일 조회 (ls -a)
윈도우나 맥에서 숨김 파일이 존재하듯 리눅스에서도 숨김 파일이 존재한다.
리눅스에서는 ( . ) 으로 시작하는 파일명을 가진 파일은 자동으로 숨김 파일로 인식해 처리된다.
ls -a : 숨김 파일 조회

리눅스 명령어들의 공통적인 패턴 - 옵션(Option)
위에서 ls 라는 명령어 뒤에 -l , -a 와 같은 문자를 덧붙여 사용했다. 여기서 -l , -a 와 같이 하이픈 ( - ) 으로 시작하는 명령어를 리눅스에서는 옵션(Option) 이라고 부른다.
옵션(Option)의 특징
- 옵션(option)은 short option 과 long option 으로 2가지 형태를 가진다.
- 일반적으로 short option 은 하이픈 한 개 ( - ) 로 시작하고, long option 은 하이픈 두 개 ( -- ) 로 시작한다.
- 여러 옵션을 함께 사용할 수 있다.
- 하나의 명령어에서 여러 옵션을 함께 쓸 수 있다. ( ls -l -a )
- short option 과 long option 을 같이 쓸 수 있다. ( ls -l --all )
- 옵션끼리는 순서가 상관없다. ( ls -a -l = ls -l -a )
- short option 은 묶어서 한 번에 쓸 수 있다. ( ls -a -l = ls -al = ls -la )
- 모든 옵션은 명령어마다 다르다.
- ls 에서 -a 옵션이 작동한다고 해서, mkdir 명령어에 -a 옵션이 동일하게 동작한다는 보장이 없다.
옵션은 명령어마다 다르게 구성되어 있다.
- ls 에서 -a 옵션이 작동한다고 해서, mkdir 명령어에 -a 옵션이 동일하게 동작한다는 보장이 없다.
상대 경로, 절대 경로란?
- 절대 경로 : 루트 디렉토리를 기준으로 파일 위치를 표현한다.
- 경로가 반드시 / 로 시작한다.
- 상대 경로 : 현재 디렉토리를 기준으로 파일 위치를 표현한다.
- 경로가 / 이외의 문자로 시작한다.
- . 이 현재 디렉토리 경로를 의미한다.
- .. 이 상위 디렉토리 경로를 의미한다.
예시
- cd /log
- 루트 디렉토리( / ) 에 있는 log 디렉토리로 접근
- cd log
- 현재 디렉토리에 있는 log 디렉토리로 접근
- cd ./log
- 현재 디렉토리 ( . ) 에 있는 log 디렉토리로 접근
- cd ../log
- 상위 디렉토리 ( .. ) 에 있는 log 디렉토리로 접근
파일 및 디렉토리 생성 / 삭제 ( touch, mkdir, rm )
일반 파일 생성 (빈 파일 생성)
touch [파일명] : 파일명으로 빈 파일 생성
디렉토리 생성
mkdir [디렉토리명] : 디렉토리명 으로 디렉토리 생성
파일 삭제
rm [파일명] : 파일명 이름의 파일 삭제
디렉토리 삭제
rm -r [디렉토리명] : 디렉토리명 이름의 디렉토리 삭제
-r ( = --recursive ) : -r 옵션이 있어야 디렉토리를 삭제할 수 있다. 디렉토리 내부 파일까지 삭제 한다.
파일 & 디렉토리 삭제
rm -rf [파일명] : 파일이든 디렉토리든 삭제한다.
- -f : 강제 삭제 (엑세스 권한이 없는 파일도 강제로 삭제하는 옵션). 편의상 이 옵션을 추가해서 삭제 명령어를 입력하는 경우가 많다.
파일 및 디렉토리 복사 / 이동 / 이름 변경 ( cp, mv )
파일 복사
cp [복사할 파일] [복사할 위치 or 복사할 파일명]
연습) 현재 디렉토리의 a.txt 파일을 ./box 경로로 복사

연습2) a.txt 파일을 현재 경로에 b.txt 파일로 이름을 바꿔 복사

연습3) a.txt 파일을 ./box 경로에 b.txt 파일로 이름을 바꿔 복사

디렉토리 복사
cp -r [복사할 디렉토리] [복사할 위치 or 복사할 디렉토리명]
디렉토리를 복사할 때, -r 옵션을 넣지 않으면 에러가 발생한다.
연습4) box 디렉토리를 현재 경로에 box2 디렉토리로 이름을 바꿔 복사

파일 및 디렉토리 이동
mv [이동할 파일] [이동할 위치]
연습) 현재 디렉토리에 있는 a.txt 파일을 ./box 디렉토리로 이동

파일 및 디렉토리 이름 변경
mv [이름 바꿀 파일] [변경할 파일명] : mv 명령어는 이름을 변경할 때도 사용된다.
연습2)box 라는 파일(디렉토리)을 new-box 라는 이름으로 변경

파일 작성/조회 할 때 자주 사용하는 명령어
텍스트 에디터 ( vim )
윈도우나 맥에서 파일에 코드를 작성할 때, vscode, IntelliJ 와 같은 프로그램을 활용했을 것이다.
이런 프로그램을 보고 텍스트 에디터(Text Editor) 라고 부른다.
리눅스에서도 코드를 작성해야 하는 경우가 있는데, 리눅스 환경에서 최적화된 텍스트 에디터( vim, nano, emac 등등 ) 를 주로 사용한다. 아래에서 vim 에디터 의 기본 사용법을 알아보자.
파일 생성 ( + vim 열기 )
$ vi app.txt
app.txt 라는 파일을 생성하고 vim 에디터를 연다.
app.txt 파일이 존재한다면 app.txt 를 vim 에디터로 연다.

app.txt 를 생성하고 vim 에디터를 처음 열었을 때, COMMAND 모드로 설정되어 있어 텍스트를 입력할 수 없다.
INSERT 모드로 들어가야 텍스트를 입력할 수 있다.

키보드로 i 를 눌러 INSERT 모드로 전환

텍스트를 입력 후 Esc 를 누르면 다시 COMMAND 모드로 전환된다.

:wq 를 입력하면 저장 후 vim 을 종료한다.

수정한 텍스트가 없어서 vim 만 종료하고 싶다면 :q 입력하면 된다.
파일을 수정 중 저장하지 않고 종료하려면 :q! 를 입력하여 강제 종료하면 된다.
파일을 수정 중 비정상 종료 되었을 때
기존 app.txt 파일을 열어서 텍스트를 일부 수정 중 터미널 창을 새로고침하여 다시 접속 한 뒤 vim 으로 app.txt 를 열어보자.

s아래와 같은 메시지가 뜬다

- (R)ecover : r 버튼을 누르고 Enter 를 누르면 이전에 편집한 내용을 복구한 뒤, 이어서 파일을 수정할 수 있다.
- (D)elete it : d 버튼을 누르면 이전에 편집한 내용을 복구하지 않고, 기존 파일에서 수정할 수 있게 된다.
- (Q)uit : q 버튼을 누르면 아무 작업도 하지 않고 그냥 vim 을 종료한다.
하지만 이 메시지를 다시 띄우지 않도록 하려면 .swp 라는 확장자를 가진 파일을 지워줘야 한다.
이 파일은 vim 에서 편집 중이던 작업 내용을 임시 저장해서 비정상 종료 시 복구할 수 있도록 한다.
vim 으로 파일을 다시 수정 후 .swp 파일을 지워주도록 한다. .swp 파일은 숨김 파일이므로 ls -a 로 조회해야 한다.

이 외의 vim 명령어는 아래의 링크를 통해 필요할 때마다 알아보자.
Vim Cheat Sheet
Tip 특정 범위를 지정하기 위해 다음과 같은 문자들을 사용할 수 있습니다. e.g. :.,$d - 현재 행 부터 끝까지 :.,1d - 현재 행 부터 처음까지 :10,1d - 10 번째 행 부터 처음까지
vim.rtorr.com
파일에 작성된 내용 보기 ( vim, cat )
파일에 작성된 내용 보는 방법
- vim 활용 : vim 으로 해당 파일을 열어 작성된 내용을 확인한다. 특히 텍스트의 양이 많은 파일을 볼 때 vim 을 활용한다.
- cat 명령어 활용 : cat 명령어는 파일 내용을 출력한다. 텍스트의 양이 적은 파일을 확인할 때 사용한다.
텍스트 양이 많은 파일을 읽을 때, 자주 사용하는 편의 기능 (vim)
- 파일 내용의 맨 끝을 보고 싶은 경우
- Command 모드에서 G ( Shift + g ) 입력하기
- 파일의 내용의 맨 처음을 보고 싶을 경우
- Command 모드에서 gg 입력하기
- 한 페이지씩 스크롤 내리기
- Command 모드에서 Ctrl + f 입력하기 (forward)
- 한 페이지씩 스크롤 올리기
- Command 모드에서 Ctrl + b 입력하기 (bacckward)
'리눅스 > 리눅스 입문' 카테고리의 다른 글
| [리눅스 입문] 백엔드 서버를 운영할 때 자주 사용하는 명령어 (0) | 2025.10.06 |
|---|---|
| [리눅스 입문] 표준 출력(stdout), 표준 에러 출력(stderr), 리다이렉션 (0) | 2025.10.03 |
| [리눅스 입문] 패키지 매니저 (apt) (0) | 2025.10.01 |
| [리눅스 입문] 리눅스 권한 문제 (Permission Denied) (0) | 2025.09.30 |
| [리눅스 입문] AWS EC2 를 이용한 리눅스 실습환경 구축 (0) | 2025.09.28 |