Linux Shell
2026. 1. 2. 18:37ㆍ📚 Linux
🐧 리눅스(Linux) & 쉘(Shell) 기초
1. 운영체제(OS)와 리눅스 개요
🔹 운영체제 (Operating System)
- 정의: 하드웨어를 관리하는 프로그램 (사용자와 하드웨어 사이의 중개자).
- 역할:
- 하드웨어 자원 관리 (Base: C언어).
- 컴퓨팅 시스템을 사용자가 사용할 수 있게 지원.
- 프로그램 간 충돌 방지 및 파일 시스템 관리.
- 컴퓨팅 시스템 구성:
CPU+메모리+저장장치+페리페럴(네트워크, 입출력 장치, 프린터 등).
🔹 리눅스 (Linux)
- 특징: 서버 및 임베디드 OS 시장 지배.
- 커널(Kernel): 리눅스는 OS 자체가 아니라 OS의 핵심 소스코드인 '커널'이다.
OS=App+Shell+Kernel- 리눅스 배포판: 리눅스 커널에 App과 Shell을 추가하여 만든 완전한 운영체제.
- 임베디드 시스템:
- 특정 목적을 위해 만들어진 컴퓨팅 시스템.
- 리눅스는 커스터마이징이 용이하여 임베디드 OS로 적합함.
2. 개발 환경 구축
🔹 환경 구성 요소
- Ubuntu (우분투): 리눅스 배포판 중 가장 널리 쓰임. 높은 안정성과 보안성(오픈소스).
- 버전:
ubuntu-22.04.5-desktop-amd64.iso(호환성 문제로 최신 LTS 사용 권장).
- 버전:
- VirtualBox: 가상화 소프트웨어. 윈도우 환경 내에서 우분투를 설치하여 사용.
- MobaXterm: 원격 접속 도구.
🔹 우분투 패키지 관리 시스템
- 관리 도구: 각 도구끼리 독립적으로 관리됨.
- APT: Binary 또는 소스코드 형태로 배포.
- Gnome Software (우분투 소프트웨어): Binary 형태로 배포.
- 추천 사용법:
- GUI용 App (크롬, VSCode 등): 우분투 소프트웨어 사용.
- Linux 전용 App: APT 명령어 사용.
3. 쉘 (Shell)
🔹 개념
- 정의: 시스템 사용자(User)와 커널(Kernel) 간의 인터페이스(Interface)를 제공하는 프로그램.
- 종류:
- CLI Shell: 글자(Command) 기반 인터페이스.
- GUI Shell: 그래픽(Graphic) 기반 인터페이스.
- 환경별 쉘:
- 우분투: GNOME 3 (GUI) + Bash (CLI)
- 라즈베리파이: LXDE (GUI) + Bash (CLI)
4. 쉘 명령어 (Shell Command)
⌨️ 단축키 및 제어
| 단축키 | 기능 |
|---|---|
Ctrl + Alt + t |
터미널 창 열기 |
Ctrl + Shift + w |
터미널 창 닫기 |
Ctrl + Insert |
복사 |
Shift + Insert |
붙여넣기 |
Ctrl + S |
화면 출력 Stop (멈춤, 저장 아님) |
Ctrl + Q |
화면 출력 Start (Ctrl+S 해제) |
📂 디렉토리 이동 및 탐색
$ exit: 터미널 종료.pwd: 현재 디렉토리 경로 확인.clear: 화면 지우기.ls: 현재 디렉토리 목록 출력.ls -al: 숨김 파일 포함 상세 보기.cd [경로]: 디렉토리 이동.cd ..: 상위 디렉토리로 이동.cd ~: 사용자 홈(Home) 디렉토리로 이동.cd -: 바로 직전 디렉토리로 이동.
5. 리눅스 파일 시스템
🔹 특징
- Root(
/): 윈도우(C:\)와 달리 리눅스는 최상위 경로인/(Root)에서 모든 관리가 시작됨. - 포맷 형식: ext4, ntfs, fat32 등.
🔹 파일 및 디렉토리 관리 명령어
| 명령어 | 설명 | 예시 |
|---|---|---|
| touch | 파일 생성 | touch test.txt |
| mkdir | 디렉토리 생성 | mkdir workspacemkdir -p a/b/c (하위 경로 한번에 생성) |
| rm | 파일 삭제 | rm test.txt |
| rmdir | 디렉토리 삭제 | rmdir workspace (빈 폴더만 가능) |
| rm -r | 디렉토리 전체 삭제 | rm -r workspace (내부 파일 포함 삭제) |
| mv | 이동 / 이름 변경 | mv file.txt ./dest (이동)mv file.txt new.txt (이름 변경) |
| cp | 복사 | cp file.txt ./backup |
| cp -r | 디렉토리 복사 | cp -r folder ./backup |
🔹 주요 디렉토리 구조 (/ 하위)
- bin: 기본 명령어 포함
- boot: 부팅 관련 파일
- dev: 디바이스 파일
- etc: 설정 파일
- home: 사용자 홈 디렉토리
- media / mnt: 마운트 포인트
- root: 루트 사용자 홈
- sbin: 시스템 관리자 명령어
- sys / tmp / usr / var: 시스템, 임시 파일, 사용자 프로그램, 로그 등
'📚 Linux' 카테고리의 다른 글
| [Linux] Build System 이해 (0) | 2026.01.12 |
|---|---|
| [Raspberry pi] sensor (1) | 2026.01.10 |
| 라즈베리파이 & 임베디드 기초 (0) | 2026.01.10 |
| [Linux] 원격접속 / 사용자와 파일 권한 (0) | 2026.01.05 |
| [Linux] vi / plugin (0) | 2026.01.05 |