>  기사  >  운영 및 유지보수  >  Linux에서 소프트 링크와 하드 링크 사이에 차이가 있습니까?

Linux에서 소프트 링크와 하드 링크 사이에 차이가 있습니까?

青灯夜游
青灯夜游원래의
2021-11-22 18:13:1718009검색

Linux에서는 소프트 링크와 하드 링크의 차이점이 있습니다. 1. 소프트 링크는 경로 형태로 존재하고, 하드 링크는 파일 복사본 형태로 존재합니다. 2. 소프트 링크는 파일 시스템을 넘나들 수 있습니다. 그러나 하드 링크는 불가능합니다. 3. 소프트 링크 링크는 디렉토리에 링크할 수 있지만 하드 링크는 그렇지 않습니다.

Linux에서 소프트 링크와 하드 링크 사이에 차이가 있습니까?

이 튜토리얼의 운영 환경: CentOS 6 시스템, Dell G3 컴퓨터.

ln은 Linux에서 또 다른 매우 중요한 명령입니다. 그 기능은 다른 위치에 있는 특정 파일에 대한 동기화된 링크를 설정하는 것입니다. 동일한 파일을 필요한 디렉토리에 배치해야 합니다. 파일을 고정된 디렉토리에 넣은 다음 ln 명령을 사용하여 디스크 공간을 반복적으로 차지하지 않고 다른 디렉토리에 연결하면 됩니다.

1. 명령 형식:

 ln [参数][源文件或目录][目标文件或目录]

2. 명령 기능:

리눅스 파일 시스템에는 파일의 별칭으로 생각할 수 있는 소위 링크가 있으며 링크는 하드 링크와 심볼릭 링크 링크의 두 가지 유형으로 나눌 수 있습니다) , 하드 링크는 파일이 여러 이름을 가질 수 있음을 의미하는 반면, 소프트 링크는 내용이 다른 파일의 위치를 ​​가리키는 특수 파일을 생성합니다. 하드 링크는 동일한 파일 시스템에 존재하지만 소프트 링크는 다른 파일 시스템에 걸쳐 있을 수 있습니다.

소프트 링크:

  • 소프트 링크, 경로 형태로 존재합니다. Windows 운영 체제의 바로 가기와 유사합니다

  • 소프트 링크는 파일 시스템을 넘을 수 있지만 하드 링크는 넘을 수 없습니다.

  • 소프트 링크는 존재하지 않는 파일 이름에 연결할 수 있습니다.

  • 소프트 링크는 디렉터리에 연결할 수 있습니다. 링크

하드 링크:

  • 파일의 복사본으로 존재하는 하드 링크입니다. 하지만 실제 공간을 차지하지는 않습니다.

  • 디렉토리에 대한 하드 링크 생성은 허용되지 않습니다.

  • 하드 링크는 동일한 파일 시스템에서만 생성할 수 있습니다.

여기서 주목해야 할 두 가지 사항이 있습니다.

먼저, ln 명령은 모든 링크를 유지합니다. 파일의 동기화, 즉 어디를 변경하더라도 다른 파일은 동일하게 변경됩니다.

두 번째, ln 링크는 소프트 링크와 하드 링크로 구분됩니다. ln –s 소스 파일 대상 파일입니다. 선택한 위치에 파일의 미러 이미지만 생성되며 디스크 공간을 차지하지 않습니다. 하드 링크 ln 소스 파일 대상 파일은 매개변수 -s가 없으면 선택한 위치에 파일이 생성됩니다. 소프트 링크이든 하드 링크이든 소스 파일과 동일한 크기이면 파일은 동기적으로 계속 변경됩니다.

ln 명령은 파일이나 디렉터리를 연결하는 데 사용됩니다. 둘 이상의 파일이나 디렉터리를 동시에 지정하고 최종 대상이 기존 디렉터리인 경우 이전에 지정한 모든 파일이나 디렉터리가 해당 디렉터리에 복사됩니다. 여러 파일이나 디렉터리를 동시에 지정하고 최종 대상이 기존 디렉터리가 아닌 경우 오류 메시지가 나타납니다.

3. 명령 매개변수:

필수 매개변수:

-b 삭제, 이전에 설정된 링크 덮어쓰기

-d 슈퍼 사용자가 디렉토리에 대한 하드 링크를 만들 수 있도록 허용

-f 강제 실행

-i 대화형 모드, 파일이 있는지 묻는 메시지 표시 존재합니다. 사용자가 재정의하는지 여부

-n은 기호 링크를 일반 디렉터리로 처리합니다.

-s 소프트 링크(기호 링크)

-v는 자세한 처리를 표시합니다.

매개변수 선택:

-S “-Sb8ab65fe09a549cd95f80e5880056bc5"

-V "-V858096932a0a93455d1bfffba1d356de" 또는 "--version-control=858096932a0a93455d1bfffba1d356de"

--help 도움말 정보 표시

--version 버전 정보를 표시합니다

4. 사용 예:

예 1: 파일에 대한 소프트 링크 만들기

소프트 링크 만들기의 상대 경로 문제를 더 자세히 설명하기 위해 먼저 여러 개의 더 깊은 폴더를 만듭니다

mkdir -p /app/a{1..3}/b{c..f}

대략적인 계층 구조는 아래에서 볼 수 있습니다. , app 디렉토리와 etc 디렉토리는 모두 루트 디렉토리 아래에 있습니다.

루트 디렉토리에 app/a1/bc에 대한 소프트웨어를 만든다고 가정합니다. 루트 디렉터리 링크가 있는 경우 소프트 링크는 다음과 같이 작성해야 합니다.

ln -s ../../../magedu/ZD/2g/login.bat /app/a1/bc/softlink1

많은 학생들이 대상 경로의 상대 경로를 작성하는 방법에 대해 혼란스러워합니다. 파일이나 폴더를 가리키는 상대 경로는 소프트 링크가 있는 폴더를 기반으로 해야 합니다. 링크의 위치는 이 파일과 어떻게 관련되어 있습니까? 그가 시스템으로 이동하는 경로를 표시하십시오.

이 예에서 소프트 링크가 있는 디렉토리는 루트 디렉토리의 app/a1/bc입니다. 그러면 이 bc 폴더가 기본 폴더입니다. 여기서 한 단계 위로 올라가서 a1로 돌아갑니다. /, 그리고 한 단계 올라가서 app 폴더에 또 다른 ../가 있습니다. magedu는 루트 디렉터리에 있기 때문에 루트 디렉터리로 한 단계, 즉 세 개의 ../가 있습니다. 디렉토리는 이를 표현하는 방법을 알고 있습니다. 다음 단계는 소스 파일을 가리키는 절대 지점을 순차적으로 붙여넣는 것입니다. 다중 레이어 디렉터리를 생성하는 방법을 알고 있다면 얕은 디렉터리에 대해 말할 필요가 없습니다.

생성한 링크에 문제가 있는지 확인하는 방법은? 소프트링크 디렉터리로 이동하여 ls를 실행하여 소프트링크 이름이 있는 파일이 연한 파란색인지 확인하세요.

관련 추천: "Linux 비디오 튜토리얼"

위 내용은 Linux에서 소프트 링크와 하드 링크 사이에 차이가 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.