[Linux] 리눅스 기본(1)

배창민·2025년 8월 28일
post-thumbnail

리눅스 기본(1)


1) GUI vs CLI

GUI (Graphical User Interface)

  • 아이콘/창/버튼 등 그래픽으로 조작 (Windows, macOS, GNOME/KDE).
  • 직관적·학습 곡선 낮음.

CLI (Command Line Interface)

  • 명령어로 조작 (Windows CMD/PowerShell, macOS/Linux 터미널, Git, Python REPL).
  • 자동화/스크립팅/원격관리에 강력.

2) 쉘(Shell) & 터미널

쉘이란?

  • 사용자 ↔ 커널 사이의 통역기(명령 해석기).
  • 명령 실행, 파일/프로세스/환경변수 관리.

커널(Kernel): 하드웨어 자원(CPU/메모리/디스크/네트워크)을 직접 제어하는 OS의 핵심.

프롬프트 읽기

  • 사용자@호스트: 경로 $ (일반 사용자 $), root는 #.
  • 커맨드 라인 = $ 또는 # 뒤에 입력하는 부분.

커서 이동 (터미널/Readline)

  • 앞/뒤: Ctrl + b / Ctrl + f
  • 처음/끝: Ctrl + a / Ctrl + e

로그인/로그아웃/전원

# 로그아웃(쉘 종료)
exit

# root 전환
sudo su        # /root로
sudo -s        # 현재 홈 유지

# 전원/재부팅 (root)
shutdown -h now
shutdown -r now

# 사용자 전환
su <user>      # 환경 그대로
su - <user>    # 로그인 쉘처럼(환경 포함)

쉘 종류 & 확인

echo $SHELL       # 현재 로그인 쉘
cat /etc/shells   # 사용 가능한 쉘 목록
특징
sh전통 유닉스 기본 쉘
bash가장 보편적, 스크립팅 강력
zsh플러그인/테마 풍부
csh/tcshC 문법 느낌

임시 변경: sh → 돌아가기: exit (여러 번)

터미널

  • 쉘을 담는 그릇(입출력 창). GNOME Terminal, iTerm2 등.

3) 우분투 패키지 관리자: apt

# 패키지 목록 최신화
sudo apt update

# 설치/제거
sudo apt install <pkg> [<pkg>...]
sudo apt remove <pkg>
sudo apt purge <pkg>       # 설정파일까지 제거

# 자동 제거(의존성 잔여물)
sudo apt autoremove

# 검색/목록
apt search <keyword>
apt list

4) Vim(vi) 빠른 사용법

설치

sudo apt install vim

모드

  • 명령모드(기본): 이동/복사/삭제/저장
  • 입력모드: 텍스트 입력 (i, a, o, I, A, O, s 등으로 진입)
  • 입력→명령 전환: Esc

핵심 단축키

입력 전환

의미
i/a/o현재/다음칸/다음줄부터 입력
I/A/O줄 처음/끝/이전줄부터 입력
s문자 1개 지우고 입력

이동

의미
h j k l좌 하 상 우
w다음 단어 처음
0/^/$줄 처음/첫문자/끝
gg/G문서 처음/끝
:nn행으로 이동

복사/붙여넣기/삭제

의미
yy / Nyy현재 줄 / N줄 복사
p / P다음/이전 줄에 붙여넣기
x / dw / dd문자/단어/줄 삭제

되돌리기/검색

의미
uundo
/text ?text아래/위로 검색
n / N다음/이전 결과

치환(명령모드)

:%s/old/new/g       " 전체 치환
:%s/old/new/gi      " 대소문자 무시
:%s/old/new/gc      " 하나씩 확인

종료

:q      " 그냥 종료
:q!     " 저장 안 하고 강종
:wq     " 저장 후 종료

5) 파일시스템 기본

개념

  • 모든 것을 파일로 다루는 구조(문서·이미지·장치·설정 포함).
  • 루트(/)부터 단일 트리 구조.

주요 디렉토리

경로의미(예시)
/루트
/bin필수 실행파일(ls, cp…)
/sbin시스템 관리 실행파일
/etc시스템 설정 파일
/dev장치 파일
/home사용자 홈 디렉토리
/usr일반 앱/라이브러리
/var로그/가변 데이터
/tmp임시 파일

Windows와 비교

기능WindowsLinux
루트C:\/
사용자 홈C:\Users\me/home/me
설정제어판(숨김)/etc
시스템 파일C:\Windows\/bin, /sbin
앱 설치C:\Program Files/usr

6) 경로 & 이동

절대/상대 경로

  • 절대: /부터 시작
  • 상대: 현재 위치 기준 (. 현재, .. 상위)

이동/목록

pwd            # 현재 경로
cd <dir>       # 이동 (홈: cd ~)
ls             # 목록

ls 유용 옵션

ls -lt     # 시간순
ls -lh     # 사람이 읽기 쉬운 용량
ls -lSh    # 크기순(큰→작)
ls -a      # 숨김 포함
ls -R      # 하위까지 재귀

7) 파일/디렉토리 조작

디렉토리 생성

mkdir <dir>
mkdir -p a/b/c    # 중간 경로까지 생성

파일 생성(타임스탬프 갱신)

touch a.txt b.txt

삭제

rm file1 file2
rm -r dir         # 디렉토리 재귀 삭제
rm -ri dir        # 삭제 전 확인
rmdir empty_dir   # 빈 디렉토리만

내용 출력

cat file
cat -n file1 file2   # 행번호 포함

복사

cp src dest          # 파일→파일명 변경
cp file dir/         # 파일→디렉토리
cp -i src dest       # 덮어쓰기 확인
cp -r dir1 dir2      # 디렉토리 복사

이동/이름변경

mv old new           # 이름 변경
mv file1 file2 dir/  # 여러 파일 이동
mv dir ../           # 디렉토리 이동
profile
개발자 희망자

0개의 댓글