리눅스 파일의 특징
파일(File, 관련 있는 정보들의 집합)
: 리눅스 시스템에서는 모든 정보와 장치가 파일 단위로 구성되어있습니다.
① 일반 파일 ( Regular File )
- 데이터를 저장하는 데 주로 사용합니다.
- 각종 텍스트 파일, 실행 파일, 이미지 파일 등 리눅스에서 사용하는 대부분의 파일은 일반 파일에 해당합니다.
- 실행 파일(명령어)이나, 데이터 파일, 이미지 파일은 바이너리(0과 1)형태로 데이터가 저장되어 바이너리 파일이라고도 합니다.
*바이너리(binary file) = 이진 파일
② 디렉토리 파일 ( Directory )
- 파일을 효율적으로 관리하기 위해 생성하는 파일로 윈도우의 폴더와 비슷한 개념입니다.
- 디렉토리에 속하는 파일의 이름과 inode정보를 가지고 있는 파일입니다.
*inode : 파일이나 디렉토리는 그에 해당하는 하나의 inode를 가지고 있으며,
그 파일에 대한 모든 정보를 가지고 있고 한 inode는 64byte로 이루어집니다.
③ 링크 파일 ( Symbolic link )
- 바로가기 아이콘과 비슷한 역할을 합니다.
- 원본파일은 실제 다른 곳에 있고 원본 파일을 가리키는 역할만 하는 특수 파일입니다.
④ 장치 파일
- 리눅스에서는 하드디스크나 키보드 같은 각종 장치도 파일로 취급합니다.
- 리눅스 시스템에 연결된 장치들을 관리하기 위한 특수 파일입니다.
리눅스 파일 시스템
- 리눅스 시스템 내의 많은 파일들을 효과적으로 관리하기 위해 디렉토리를 계층적으로 구성하고
구성된 파일과 디렉토리의 집합을 파일 시스템(File System)이라고 합니다.
*시스템 : 체계적인 방법이나 조직, 또는 제도
- 아래와 같이, 파일 시스템 계층구조 표준(FHS, Filesystem Hierachy Standard)에 의해 디렉토리 구조를 정의합니다.
최상위 루트 (root) 디렉토리
- "/"로 표시하며 모든 디렉토리의 상위 디렉토리
하위 디렉토리 & 서브(Sub) 디렉토리
- 디렉토리 아래 위치한 디렉토리
상위 디렉토리 & 부모 디렉토리
- ".."으로 표시하며 루트 디렉토리를 제외한 모든 디렉토리에는 부모 디렉토리가 있습니다.
작업 디렉토리(Working Directory)
- 현재 위치한 디렉토리라고도 하며, "."으로 표시합니다.
파일과 디렉토리 이름의 규칙
- 파일 이름은 최대 255자
- 파일과 디렉토리 이름에는 경로 명의 구분자로 사용하는 "/"사용 불가
- 파일 접근이 쉽도록 알파벳, 숫자, 하이픈, 밑줄, 점만을 사용해야함
- 알파벳은 대소문자를 구별하며, "."으로 시작하는 파일은 숨김파일
** 윈도우 - 대소문자 구분X
리눅스 - 대소문자 구분O
절대경로와 상대경로
절대경로
절대경로는 디렉토리를 이동하거나 또는 파일을 실행하거나 할 때 쓰는 경로입니다.
위에 보신것과 같이 절대경로는 우리가 흔히 써왔던 방식입니다.
절대경로는 공통적으로, 슬래시(/)로 디렉토리 사이를 구분합니다.
(*윈도우에서는 역슬래시(\)로 구분합니다.)
또한 슬래시로, 디렉토리를 하나하나 전부 표시해서 경로를 표시합니다.
처음부터 끝까지의 주소를 모두 적어주는 방법인 것입니다.
※정리※
① 최상위 디렉토리 '/'부터 시작하는 위치
② 루트('/')디렉토리부터 시작하여 특정 파일이나 디렉토리의 위치까지 이동하면서 거치는
모든 중간 디렉토리의 이름을 나열하여 표시
③ 특정 위치를 가리키는 절대 경로명은 항상 동일
상대경로
상대경로는 지금의 위치를 상대적으로 판단해서 가는 경로라고 보시면 됩니다.
위에 보신것과 같이 ../라는 기호를 통해 바로 전의 디렉토리로 이동을 할 수 있습니다.
상대경로는 간단히 ../라는 기호만을 통해 이동할 수 있습니다.
※정리※
① 현재 작업하고 있는 디렉토리에서의 상대적인 위치
② '.' 현재 디렉토리 '..' 상위 디렉토리
③ '/' 이외에 문자로 시작
④ 상대 경로 명은 현재 디렉토리가 어디냐에 따라 달라짐
'서버 > Linux' 카테고리의 다른 글
[Linux] 기본 명령어 (2) (0) | 2017.09.14 |
---|---|
[Linux] 기본 명령어 (1) (0) | 2017.09.14 |
[Linux] Bash Shell 명령어 기능 (0) | 2017.09.13 |
[Linux] 리눅스의 구조 / 프롬프트 구조 (0) | 2017.09.13 |
[Linux] 운영체제 (0) | 2017.09.11 |