저장장치 이름과 표준 디렉터리 구조
파티션(Partition)
•
하드디스크를 논리적으로 나눈 구역
•
각 파티션마다 파일 시스템 생성 가능
•
윈도우는 C:, D:처럼 드라이브로 표시
•
리눅스는 / 하나만 존재, 나머지 파티션은 특정 디렉터리에 마운트
•
예: /dev/sdb1 → /home에 마운트
저장 장치 이름 (Device Name)
리눅스는 모든 저장 장치를 파일처럼 /dev 안에 관리함.
장치 종류 | 이름 형태 | 예시 |
IDE 디스크 | hd | /dev/hda, /dev/hdb |
SCSI / SATA / NVMe 디스크 | sd | /dev/sda, /dev/sdb1 |
CD/DVD | sr | /dev/sr0 |
•
디스크가 추가되면 a, b, c 순서로 할당
•
파티션은 숫자가 뒤에 붙음 (예: /dev/sda1)
리눅스 표준 디렉터리 구조
디렉터리 | 역할 |
/ | 루트 디렉터리, 모든 경로의 시작점 |
/bin, /sbin | 기본 명령어 실행 파일 (/bin: user, /sbin: system) |
/boot | 부팅에 필요한 커널 파일 (vmlinuz 등) |
/dev | 디바이스 파일 (디스크, 장치 등) |
/etc | 시스템 설정 파일 |
/home | 사용자 홈 디렉터리 |
/lib | 시스템/프로그램 라이브러리 |
/media | USB 등 외부 저장장치 자동 마운트 위치 |
/proc | 커널·프로세스 정보 (가상 파일 시스템) |
/root | root 사용자 홈 |
/usr | 사용자 프로그램 실행 파일 및 라이브러리 |
/var | 로그, 메일, 스풀 등 가변 데이터 저장 |
셸 사용하기
•
명령어 해석기, 명령 행 인터페이스
•
사용자와 커널 사이에서 명령어 해석 및 처리
셸 기능
기능 | 설명 |
명령 해석 | 사용자가 입력한 명령어를 해석하고 실행 |
스크립트 실행 | 셸 스크립트를 이용한 반복 작업 자동화 |
환경 설정 | 환경 변수 및 셸 옵션 설정을 통한 작업 환경 구성 |
셸 종류
셸 종류 | 특징 |
Bash | 가장 널리 사용되는 셸, 강력한 스크립팅 기능 제공 /bin/bash |
Zsh | 향상된 자동완성, 플러그인 지원 |
Fish | 사용자 친화적 UI, 직관적인 사용성 |
셸 명령
구성 요소 | 설명 |
명령어 | 실행 프로그램 이름(who, date, ls, pwd 등) |
옵션 | 명령의 동작 방식을 결정 |
인수 | 명령이 처리할 대상 |
$ {명령어} {옵션} {인수}
예: usermod -L kdhong
Bash
복사
셸 명령의 종류
종류 | 설명 |
알리어스(alias) | 명령의 별칭 |
셸 예약어 | do, while, case 등 예약된 단어 |
함수 | 셸 내부에서 정의하여 실행하는 함수 |
내장 명령(builtin) | 셸 내부 명령 (cd, echo, pwd 등) |
일반 명령(external) | 실행 파일이 존재하는 명령, PATH에 위치하면 이름만으로 실행 가능 |
•
PATH에 현재 디렉터리(.)는 포함되지 않음
•
echo $PATH 를 이용한 검색 경로 확인 가능
alias / type / which / man 명령
명령 | 설명 | 예시 |
alias | 단축 명령 생성 | alias la='ls -A' |
type | 명령의 해석 방식 확인 | type ls |
which | PATH 기반 실행 파일 경로 표시 | which rm |
man | 메뉴얼 페이지 확인 | man passwd |
명령의 연결
•
파이프(pipe)
◦
앞 명령의 출력을 다음 명령의 입력으로 전달
◦
| 사용
◦
ls -l | grep "txt"
•
리다이렉션
◦
< : 파일을 입력으로 사용
◦
> : 출력을 파일에 저장 (덮어쓰기)
◦
>>: 출력을 파일에 추가
•
명령 치환
◦
명령의 출력을 다른 명령의 인수로 사용
◦
$( ) 또는 백틱 ` ` 사용
◦
ls -l $(which passwd)
•
인용부호(quoting)
종류 | 의미 | 특징 |
작은따옴표(') | 문자열 그대로 사용 | 특수문자 해석 X |
큰따옴표(") | 문자열 그룹화 | $, `, \, ! 해석 O |
백슬래시(\) | 특수문자 해석 제거 | 특정 문자 escape |
•
수식 변수 확장
◦
$(( )), $[ ]: 산술 확장
◦
$변수 : 변수 값 확장
파일과 디렉터리
파일 시스템 개요
•
운영체제가 디스크(파티션) 상에서 파일을 구성하는 방식
•
파일과 디렉터리 집합을 구조적으로 관리하는 체계
•
다양한 형태의 파일 시스템 존재
•
리눅스는 전체 파일 시스템을 하나의 트리 구조로 관리
•
루트(/) 하나만 존재하며 모든 경로는 / 아래에 구성됨
ls 명령
ls 기본 기능
•
파일·디렉터리 목록 표시
•
옵션에 따라 속성, 형태, 정렬방식 표시 가능
짧은 옵션 | 긴 옵션 | 기능 |
-a | --all | 숨김 파일 포함 전체 표시 |
-d | --directory | 디렉터리 자체 정보만 표시 |
-F | --classify | 파일 종류를 식별 기호로 표시 (*, /, @ 등) |
-l | --format=long | 상세 정보(권한·소유자·크기·시간) 표시 |
-R | --recursive | 하위 디렉터리까지 재귀적으로 표시 |
-S | --sort=size | 파일 크기 기준 정렬 |
-t | --sort=time | 시간 기준 정렬 |
파일 종류
종류 | 설명 |
정규 파일 | 텍스트, 실행 파일, 이미지 등 일반적 데이터 저장 |
디렉터리 | 파일·디렉터리 정보를 저장하는 특수 파일 |
심볼릭 링크 | 다른 파일을 가리키는 링크(Windows 바로가기 유사) |
장치 파일 | 디스크, 터미널, CD-ROM 등 하드웨어 장치 표현 |
파이프/소켓 파일 | 프로세스 간 통신용 파일 |
주요 탐색 명령
명령 | 기능 |
file | 파일의 종류 확인 |
pwd | 현재 작업 디렉터리의 절대 경로 표시 |
cd | 디렉터리 이동 |
파일과 디렉터리 관리
mkdir 명령
•
디렉터리 생성 명령
•
형식: mkdir [옵션] 디렉터리
옵션 | 의미 |
-p | 필요한 경우 상위 디렉터리까지 생성 |
-m | 디렉터리 생성 시 권한 지정 |
rmdir 명령
•
비어 있는 디렉터리 삭제
•
하위 디렉터리가 존재하면 삭제 불가
•
재귀 삭제는 rm 명령(rm -r) 사용
옵션 | 의미 |
-p | 상위 디렉터리까지 연쇄적으로 삭제 |
cp 명령
•
파일/디렉터리 복사 명령
cp 명령 형태
형식 | 설명 |
cp file1 file2 | 파일 복사(기존 파일 덮어쓰기) |
cp files dir | 여러 파일을 지정 디렉터리에 복사 |
cp -r dir1 dir2 | 디렉터리 전체 복사(재귀) |
mv 명령
•
파일/디렉터리 이름 변경
•
위치 이동
형식 | 설명 |
mv file1 file2 | 파일 이름 변경 |
mv dir1 dir2 | 디렉터리 이름 변경 |
mv files dir | 여러 파일을 디렉터리로 이동 |
rm 명령
•
파일 또는 디렉터리 삭제
옵션 | 의미 |
-r | 디렉터리 전체 삭제 |
-f | 강제 삭제(확인 없음) |
-i | 삭제 시 사용자 확인 요청 |
파일 접근권한
기호 | 의미 |
r | 읽기 |
w | 쓰기 |
x | 실행 |
권한 주체
주체 | 의미 |
u | 소유자(user) |
g | 그룹(group) |
o | 기타(other) |
디렉터리 접근권한
권한 | 의미 |
r | 디렉터리의 파일 목록 보기 |
w | 디렉터리 내 파일 생성·삭제 |
x | 디렉터리 진입 또는 프로그램 실행 |
•
디렉터리를 정상적으로 사용하려면 rwx 권한 모두 필요
chmod 명령
값 | 의미 |
4 | 읽기(r) |
2 | 쓰기(w) |
1 | 실행(x) |
•
예: 755 → rwxr-xr-x
기호 모드
형식 | 의미 |
[ugoa] | 권한 대상 |
[+-=] | 권한 추가/삭제/지정 |
[rwx] | 권한 종류 |
예:
•
chmod u+x file
•
chmod u=rwx,g=rx,o=x file
umask 명령
•
기본 파일/디렉터리 권한 설정
•
기본 마스크에 의해 생성 시 권한이 제한됨
항목 | 설명 |
기본 umask 022 | 파일: 644, 디렉터리: 755 생성 |
옵션 -S | 심볼릭 형태로 출력 |
chown 명령
•
파일/디렉터리 소유자/그룹 변경
•
root 권한 필요
형식 | 의미 |
chown 사용자 파일 | 소유자 변경 |
chown 사용자:그룹 파일 | 소유자·그룹 변경 |
-R | 재귀 적용 |
ln 명령
종류 | 설명 |
하드 링크 | 동일 inode를 참조하는 또 다른 파일 이름 |
심볼릭 링크 | 원본 파일 경로를 가리키는 링크(바로가기 유사) |
ln 명령 형식
형식 | 기능 |
ln 원본 대상 | 하드 링크 생성 |
ln -s 원본 대상 | 심볼릭 링크 생성 |
파일 내용 확인
more, less 명령
명령 | 설명 |
more | 파일을 페이지 단위로 출력 |
less | more 확장판, 스크롤 및 검색 기능 지원 |
head / tail 명령
명령 | 기능 |
head -n | 앞에서부터 n줄 출력 |
tail -n | 뒤에서부터 n줄 출력 |
tail -f | 파일 변경 실시간 출력(로그 모니터링) |
cat 명령
기능 | 설명 |
파일 내용 출력 | cat file |
여러 파일 결합 | cat f1 f2 > newfile |
번호 포함 출력 | cat -n file |