Table of Contents
리눅스 파일시스템의 주요 디렉토리
- /bin:
- 모든 사용자에게 제공하는 명령어 바이너리 (cat, ls, cp 등)
- /sbin:
- 필수 시스템 바이너리 (init, ip, mount 등)
- 시스템 관리자 권한으로 실행해야함
- /usr/bin:
- 대부분의 명령과 실행 파일
- /opt:
- 선택 가능한 응용 프로그램 패키지
- /usr/local:
- 로컬 프로그램이나 환경설정 데이터
- /etc:
- 시스템에 필수적인 시작 및 설정 파일
- /var/log:
- 시스템 로그 파일
- /tmp:
- 재부팅 시 삭제 될 수 있는 임시 파일
- /lib
- /procs
- /sys
- /dev
파일 타입
-
크게 일반 파일, 디렉토리, 하드링크, 소프트링크
- 하드링크는 디스크에 저장된 데이터를 직접 가리킴
- 소프트링크는 원본 파일의 이름을 가리키는 링크 (소프트 링크 == 심볼릭 링크)
- 파일의 이름을 가리키기 때문에, 소프트링크 또는 원본 파일을 다른 위치로 옮길 때 참조 관계가 깨지지 않도록 유의해야 한다
- (소프트링크 파일만 따로 위치 이동시킬 때는, 원본 파일을 절대 경로로 참조하는게 낫다. )
- (소프트링크 파일과 원본 파일이 함께 이동할 때는, 원본 파일을 상대 경로로 참조하는게 낫다)
- 아이노드는 정규 파일, 디렉터리 등 파일 시스템에 관한 정보(소유자 그룹, 접근 모드, 파일 형태 등)를 가지고 있다
- 파일시스템 내의 파일들은 고유한 아이노드 넘버를 통해 식별 가능하다
- 파일의 수정은 원본, 하드링크, 소프트링크 어느 곳에 하더라도 다른 파일에 다 같이 적용됨
- 원본 파일의 삭제는 하드링크에는 영향을 주지 않음. 소프트링크는 더 이상 가르킬 원본 파일이 없음
ls -i
ls -ali
ln [하드링크 파일을 만들고 싶은 타겟 파일의 이름] [만들어질 하드링크 파일의 이름]
ln -s [소프트링크 파일을 만들고 싶은 타겟 파일의 이름] [만들어질 소프트링크 파일의 이름]
# 보통 대부분 소프트링크 많이 사용
# 하드링크는 만들어도 표가 별로 안남
stat [파일명] # 파일에 관한 정보 출력
ls
touch
mv