Search

Unix 시스템 정리 (1)

저장장치 이름과 표준 디렉터리 구조

파티션(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)
예: 755rwxr-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