본문 바로가기

IT's Life/Linux

Linux In 명령 : 파일간에 링크 작성


ln 명령을 지우려면 먼저 ext 파일 시스템 ( Linux 파일 시스템)의 작동 방식을 설명해야 합니다. 우리는 파티션 포맷팅이 파일 시스템에 쓰여지고 리눅스가 현재 ext4 파일 시스템을 사용하고 있다고 앞에서 설명했습니다. 회로도를 사용하여 ext4 파일 시스템을 설명하는 경우 그림을 참조 할 수 있습니다.

ext4 파일 시스템의 개략도


ext4 파일 시스템은 파티션을 두 개의 주요 부분 (당분간 슈퍼 블록은 언급하지 않음)으로 나눕니다. 작은 부분은 파일의 inode (입력 노드) 정보를 저장하는 데 사용되고 나머지는 블록 정보를 저장하는 데 사용됩니다. 


inode의 기본 크기는 128 바이트이며 파일 사용 권한 (r, w, x), 파일 소유자 및 그룹, 파일 크기, 파일 상태 변경 시간 (ctime), 파일 마지막 읽기 시간을 기록하는 데 사용됩니다. (atime), 파일의 가장 최근 수정 시간 (mtime) 및 파일의 데이터가 실제로 저장되는 블록 번호입니다. 각 파일은 하나의 inode를 차지해야합니다. 자세히 살펴보면 파일 이름이 파일이있는 디렉토리의 블록에 기록되기 때문에 파일 이름이 inode에 기록되지 않는 것을 알 수 있습니다. 

블록 크기는 1KB, 2KB, 4KB 일 수 있으며 기본값은 4KB입니다. 블록은 실제 데이터 저장에 사용되며 블록이 데이터를 보유 할 수없는 경우 여러 블록을 차지할 수 있습니다. 예를 들어, 10KB 파일을 저장해야하는 경우 3 개의 블록이 필요하지만 마지막 블록을 채울 수는 없지만 다른 파일의 데이터를 넣을 수는 없습니다. 이 3 개의 블록은 연속적이거나 흩어져있을 수 있습니다. 


이를 통해 다음 두 가지 중요한 정보를 알 수 있습니다.

  1. 각 파일은 inode 만 사용하며 파일의 내용은 inode의 레코드로 지정됩니다.
  2. 파일의 내용을 읽으려면 파일 내용이있는 블록 블록을 성공적으로 찾으려면 디렉토리에 기록 된 파일 이름으로 파일의 inode를 찾아야합니다.

Linux 시스템의 기본 파일의 스토리지 상태를 이해 한 후 ln 명령을 배우자. 

ln 명령은 파일에 대한 링크를 작성하는 데 사용되며 Linux 시스템 스토리지 파일의 특성에 따라 링크는 다음 두 가지 유형으로 구분됩니다.

  • 소프트 링크 : Windows 시스템에서 파일 바로 가기 만들기와 유사합니다. 즉, 다른 파일을 가리키는 데 사용되는 특수 파일 만들기이 링크 방법은 디렉토리에도 적용됩니다.
  • 하드 링크 : 파일의 기본 정보는 inode에 저장되며 하드 링크는 파일의 inode에 여러 파일 이름을 할당하는 것을 의미하며, 파일 이름에 따라 파일의 inode를 찾아서 읽을 수 있습니다. 파일의 데이터 정보

ln 명령의 기본 형식은 다음과 같습니다.

[root @ localhost ~] # ln [옵션] 소스 파일 객체 파일

옵션 :

  • -s : 소프트 링크 파일을 만듭니다. "-s"옵션이 추가되지 않으면 하드 링크 파일이 작성됩니다.
  • -f : 강제. 대상 파일이 이미 존재하면 대상 파일을 삭제 한 다음 링크 파일을 작성하십시오.

[예 1] 하드 링크를 만듭니다.

[root @ localhost ~] # touch cangls 

[root @ localhost ~] # ln / root / cangls / tmp # 

하드 링크 파일을 만듭니다 . 대상 파일에 파일 이름이 없습니다. 원래 이름과 동일합니다. 

즉, / tmp / cangls는 하드 링크입니다. 파일


[예 2] 소프트 링크를 만듭니다.

[root @ localhost ~] # touch bols 

[root @ localhost ~] # In -s / root / bols / tmp # 

소프트 링크 파일 생성

여기서 소프트 링크 파일의 소스 파일은 상대 경로가 아닌 절대 경로로 작성되어야합니다 (하드 링크에는 이러한 요구 사항이 없음). 그렇지 않으면 소프트 링크 파일은 오류를보고합니다. 초보자에게는 매우 쉬운 실수입니다.