문제

최근었습니다 이 일을 하는 동안 인터뷰했다.나는 정직했다고 말했는 방법을 알고 상징적인 링크의 동작을 만드는 방법 중 하나,하지만 이해하지는 못을 사용 하드 링크에서 차이가 어떻게 상징적인 하나입니다.

도움이 되었습니까?

해결책

파일 아래에 파일 시스템 파일은 inodes로 표시됩니다 (또는 여러 개의 inodes가 확실하지 않습니까)

파일 시스템의 파일은 기본적으로 inode 링크입니다.
그런 다음 하드 링크는 동일한 기본 inode에 대한 링크가있는 다른 파일을 만듭니다.

파일을 삭제하면 기본 inode에 대한 하나의 링크가 제거됩니다. inode는 inode에 대한 모든 링크가 삭제 된 경우에만 삭제 (또는 삭제 가능/과도하게 작성) 만 삭제됩니다.

기호 링크는 파일 시스템의 다른 이름에 대한 링크입니다.

하드 링크가 완료되면 링크는 inode에 있습니다. 원래 파일을 삭제하거나 원본 파일을 삭제하면 하드 링크에 영향을 미치지 않습니다. inode의 데이터 변경은 해당 inode를 참조하는 모든 파일에 반영됩니다.

참고 : 하드 링크는 동일한 파일 시스템 내에서만 유효합니다. 기호 링크는 단순히 다른 파일의 이름이므로 파일 시스템을 파일 시스템에 걸릴 수 있습니다.

다른 팁

Linux (ISH) 콘솔을 사용하여 도움이 될 수있는 좋은 직관.

두 파일 만들기 :

$ touch foo; touch bar

그들에 일부 데이터를 입력하십시오.

$ echo "Cat" > foo
$ echo "Dog" > bar

(실제로, 나는 파일이 존재하지 않으면 파일을 생성하기 때문에 처음에 Echo를 사용할 수 있었지만 그것을 신경 쓰지 마십시오.)

그리고 예상대로 :

$cat foo; cat bar
Cat
Dog

단단하고 부드러운 링크를 만들어 봅시다 :

$ ln foo foo-hard
$ ln -s bar bar-soft

방금 무슨 일이 있었는지 보자 :

$ ls -l

foo
foo-hard
bar
bar-soft -> bar

Foo의 이름을 변경하는 것은 중요하지 않습니다.

$ mv foo foo-new
$ cat foo-hard
Cat

foo -hard는 파일의 inode, 내용을 가리 킵니다.

$ mv bar bar-new
$ ls bar-soft
bar-soft
$ cat bar-soft  
cat: bar-soft: No such file or directory

소프트 링크가 이름을 가리키고 내용이 아닌 변경된 이름을 가리키기 때문에 파일의 내용을 찾을 수 없습니다.

마찬가지로, if foo 삭제되고 foo-hard 여전히 내용을 보유하고 있습니다. 만약에 bar 삭제되고 bar-soft 존재하지 않는 파일에 대한 링크 일뿐입니다.

말이 진행됨에 따라 그림은 천 단어의 가치가 있습니다. 다음은 시각화하는 방법입니다.

enter image description here

우리가 그 사진을 얻는 방법은 다음과 같습니다.

  1. 이름을 만듭니다 myfile.txt 파일 시스템에서 새 inode (파일의 메타 데이터가 포함되어 있고 내용이 포함 된 데이터 블록, 즉 텍스트 "Hello, World!")를 가리킨다.

    $ echo 'Hello, World!' > myfile.txt
    
  2. 하드 링크를 만듭니다 my-hard-link 파일에 myfile.txt, "동일한 inode를 가리켜 야하는 파일을 만듭니다. myfile.txt 를 가리키다":

    $ ln myfile.txt my-hard-link
    
  3. 소프트 링크를 만듭니다 my-soft-link 파일에 myfile.txt, "파일을 가리켜 야하는 파일을 만듭니다. myfile.txt":

    $ ln -s myfile.txt my-soft-link
    

이제 무슨 일이 일어날 지보십시오 myfile.txt 삭제 (또는 이동) : my-hard-link 여전히 같은 내용을 가리키므로 영향을받지 않지만 my-soft-link 이제 아무것도 가리 킵니다. 다른 답변은 각각의 장단점에 대해 논의합니다.

하드 링크는 원본 파일이 이동할 때 유용합니다. 예를 들어, 파일을 /bin에서 /usr /bin 또는 /usr /local /bin으로 이동합니다. /bin의 파일에 대한 모든 Symlink는 이것에 의해 손상되지만 파일의 inode에 직접 링크 인 하드 링크는 신경 쓰지 않을 것입니다.

하드 링크는 디렉토리 항목 만 가져 가므로 디스크 공간이 적을 수 있지만 Symlink는 지적한 이름을 저장하기 위해 자체 inode가 필요합니다.

하드 링크는 또한 해결하는 데 시간이 덜 걸립니다. Symlinks는 Symlinked 디렉토리에있는 다른 Symlinks를 가리킬 수 있습니다. 그리고 이들 중 일부는 NFS 또는 기타 고도가 높은 파일 시스템에있을 수 있으므로 네트워크 트래픽을 해결할 수 있습니다. 항상 동일한 파일 시스템에있는 하드 링크는 항상 단일 조회로 해결되며 네트워크 대기 시간을 절대로 포함하지 않습니다 (NFS 파일 시스템의 하드 링크 인 경우 NFS 서버는 해상도를 수행 할 수 없습니다. 클라이언트 시스템). 때때로 이것은 중요합니다. 나에게는 그렇지 않지만 이것이 중요한 고성능 시스템을 상상할 수 있습니다.

또한 MMAP (2)와 같은 것들이 열린 것 (2)과 같은 기능을 하드 링크와 동일한 기능을 사용하여 파일의 inode를 활성화시켜 파일이 링크되지 않더라도 (2) ED를 사용하지 않더라도 inode는 프로세스에 계속 액세스 할 수 있도록 남아 있습니다. 프로세스가 닫히면 파일이 실제로 사라집니다. 이를 통해 훨씬 안전한 임시 파일이 가능합니다 (원자 적으로 열려 있고 링크되지 않은 경우, 내가 기억하지 못하는 POSIX API가있을 수 있습니다. 그렇다면 실제로 안전한 임시 파일이있을 수 있습니다). 누구도 액세스 할 수없는 데이터. 글쎄, 그것은 그것이 사실이었고, /Proc은 모든 사람들에게 파일 설명자를 볼 수있는 능력을 주었지만 그것은 또 다른 이야기입니다.

말하자면, 프로세스 A에서 열려있는 파일을 복구하지만 파일 시스템에서 inninded는 하드 링크를 사용하여 inode 링크를 재현하여 개방 된 프로세스가 닫히거나 사라질 때 파일이 사라지지 않도록 회전합니다.

하드 링크와 상징적 링크의 차이점을 보는 간단한 방법은 간단한 예를 통해입니다. 파일에 대한 하드 링크는 파일이 저장된 위치 또는 해당 파일의 inode를 가리 킵니다. 기호 링크는 실제 파일 자체를 가리 킵니다.

따라서 "a"라는 파일이 있고 하드 링크 "b"와 기호 링크 "c"를 만들면 모두 "a"를 참조하십시오.

echo "111" > a
ln a b
ln -s a c

"A", "B"및 "C"의 출력은 다음과 같습니다.

cat a --> 111
cat b --> 111
cat c --> 111

이제 파일 "A"를 제거하고 "A", "B"및 "C"의 출력에 어떤 일이 발생하는지 보자.

rm a
cat a --> No such file or directory
cat b --> 111
cat c --> No such file or directory

그래서 무슨 일이 있었나요?

파일 "C"는 "A"자체를 파일로 가리키기 때문에 파일 "A"가 삭제되면 파일 "C"는 실제로 삭제됩니다.

그러나 "b"파일은 "a"파일의 저장 장소 또는 inode를 가리 킵니다. 따라서 파일 "a"가 삭제되면 더 이상 inode를 가리킬 수 없지만 파일 "B"가 수행되므로 더 이상 하드 링크가 더 이상 가리키지 않을 때까지 inode는 "A"에 속하는 내용이 계속 저장됩니다.

소프트 링크:

소프트 또는 상징은 원본 파일에 대한 단축 컷입니다 .... 원본을 삭제하면 바로 가기가 실패하고 바로 가기 만 삭제하면 원본에 아무것도 일어나지 않습니다.

소프트 링크 구문: ln -s Pathof_Target_file link

출력 : link -> ./Target_file

증거: readlink link 또한 ls -l link 출력 첫 글자가 표시됩니다 lrwxrwxrwx ~처럼 파일이 소프트 링크임을 나타냅니다.

링크 삭제 : unlink link

메모: 원하는 경우, 소프트 링크는 현재 DIR에서 다른 곳으로 이동 한 후에도 작동 할 수 있습니다. 소프트 링크를 만드는 동안 상대 경로가 아닌 절대 경로를 제공하십시오. ie

하드 링크 :

하드 링크는 미러 사본 또는 동일한 파일에 대한 여러 경로입니다. File1에 무언가를하고 파일 2에 나타납니다. 하나를 삭제하면 여전히 다른 하나를 유지합니다.

inode (또는 파일)는 모든 (하드) 링크 또는 (동일한 파일) inode의 모든 경로가 삭제 된 경우에만 삭제됩니다.

하드 링크가 완료되면 링크에는 원본 파일의 inode가 있습니다. 원래 파일을 삭제하거나 원본 파일을 삭제하면 하드 링크에 영향을 미치지 않습니다. inode의 데이터 변경은 해당 inode를 참조하는 모든 파일에 반영됩니다.

하드 링크 구문: ln Target_file link

산출: 이름 링크가있는 파일은 TargetFile과 동일한 inode 번호로 작성됩니다.

증거: ls -i link Target_file (그들의 inodes 확인)

링크 삭제 : rm -f link (일반 파일처럼 링크 삭제)

메모: 기호 링크는 단순히 다른 파일의 이름이므로 파일 시스템을 파일 시스템에 걸릴 수 있습니다. 하드 링크는 동일한 파일 시스템 내에서만 유효합니다.

기호 링크에는 일부 기능이 있습니다. 하드 링크가 누락되었습니다.

  • 파일 내용의 하드 링크 지점. 소프트 링크는 파일 이름을 가리 킵니다.
  • 하드 링크의 크기는 컨텐츠의 크기이고 소프트 링크에는 파일 이름 크기가 있습니다.
  • 하드 링크는 동일한 inode를 공유합니다. 소프트 링크는 그렇지 않습니다.
  • 하드 링크는 파일 시스템을 교차 할 수 없습니다. 소프트 링크.
  • 하드 링크를 사용하는 동안 상징적 링크가 어디에 있는지 즉시 알고 있으므로 동일한 inode를 공유하는 파일을 찾으려면 전체 파일 시스템을 탐색해야합니다.

    # find / -inum 517333

    /home/bobbin/sync.sh
    /root/synchro
    
  • 하드 링크는 디렉토리를 가리킬 수 없습니다.

하드 링크에는 두 가지 제한 사항이 있습니다.

  • 디렉토리는 단단하게 연결할 수 없습니다. Linux는이를 통해 디렉토리의 acyclic 트리 구조를 유지할 수 없습니다.
  • 파일 시스템에서 하드 링크를 만들 수 없습니다. 다른 파일 시스템마다 독립적 인 inode 테이블이 있기 때문에 두 파일 모두 동일한 파일 시스템에 있어야합니다 (다른 파일 시스템의 두 파일이지만 동일한 inode 번호는 다릅니다).

기호 링크 링크 링크 경로 이름. 이것은 시스템의 파일 트리의 어느 곳에도있을 수 있으며 링크가 만들어지면 존재할 필요조차 없습니다. 대상 경로는 상대적이거나 절대적 일 수 있습니다.

하드 링크는 inode에 대한 추가 포인터이므로 대상과 동일한 볼륨에만 존재할 수 있습니다. 파일에 대한 추가 하드 링크는 파일을 참조하는 데 사용되는 "원본"이름과 구별 할 수 없습니다.

Wikipedia를 지적 할 것입니다.

몇 가지 요점 :

  • 하드 링크와 달리 Symlinks는 파일 시스템 (대부분)을 교차 할 수 있습니다.
  • Symlinks는 디렉토리를 가리킬 수 있습니다.
  • 하드 링크는 파일을 가리키고 하나 이상의 이름으로 동일한 파일을 참조 할 수 있습니다.
  • 링크가 하나 이상있는 한 데이터를 사용할 수 있습니다.

하드 링크는 증분 백업을 수행 할 때 매우 유용합니다. 보다 rsnapshot, 예를 들어. 아이디어는 하드 링크를 사용하여 복사하는 것입니다.

  • 백업 번호 n을 n + 1로 복사하십시오
  • 백업 n -1에서 n을 복사하십시오
  • ...
  • 백업 0을 백업 1로 복사합니다
  • 변경된 파일로 백업 0을 업데이트하십시오.

새로운 백업은 변경되지 않은 파일에 대한 동일한 inodes 세트를 가리키기 때문에 새로운 백업은 변경 사항과는 별도로 추가 공간을 차지하지 않습니다.

나는 Nick의 질문을 추가합니다 : 언제 하드 링크 유용하거나 필요합니까? 상징적 링크가 작업을 수행하지 않을 내 마음에 오는 유일한 응용 프로그램은 Chrooted 환경에서 시스템 파일의 사본을 제공하는 것입니다.

Hard link vs Soft link

하드 링크 대 소프트 링크는이 이미지에서 쉽게 설명 할 수 있습니다.

또한:

  1. 하드 링크의 성능 읽기는 상징적 링크보다 낫습니다 (미세 성능)
  2. 기호 링크는 복사, 버전 제어, ..etc를 할 수 있습니다. 다른 말로, 그들은 실제 파일입니다. 다른 한편으로, 하드 링크는 약간 낮은 수준이며 상징적 링크와 비교할 때 하드 링크를 하드 링크로 작업 할 수있는 수단을 제공하는 도구가 줄어들 것입니다.

당신이 무엇을 생각하는 평범한"파일"은 실제로 두 가지 별도의 것:의 데이터는 파일 및 디렉토리 항목입니다.을 만들 때 하드 링크에 대한 파일에 당신은 실제로 두 번째 디렉토리 항목을 참조하는 동일한 데이터이다.모두 디렉토리 항목은 정확히 동일한 기능을각 사용할 수 있다면 파일을 열어서 읽습니다.그래서 정말 없는"파일 플러스 하드 링크",당신은"파일을 데이터로 두 디렉토리 항목에".당신이 무슨 생각으로 파일을 삭제하면 실제로 삭제하는 디렉토리 항목을 때 마지막으로 디렉토리 항목에 대한 데이터를 삭제한 다음,데이터 자체는 삭제됩니다.일반 파일이 있는 디렉터리를 하나만,항목을 삭제하는 디렉토리 항목은 데이터를 삭제합니다.(하는 동안 파일을 열 OS 를 만듭니다 임시 파일에 대한 링크를,그래서 심지어를 삭제할 때 모든 디렉토리 항목이 데이터 사라지지만 한 빨리 파일을 닫).

예를 들어,파일 만들기 A.txt 한,하드 링크 B.txt 고 삭제 A.txt.를 만들 때 A.txt 일부 데이터가 생성되었고,디렉토리 항목 A.txt.를 만들 때 하드 링크,다른 디렉토리 항목 B.txt 만든을 가리키는 정확한 데이터이다.를 삭제할 때 A.txt 에,당신은 여전히 모든 데이터는 단일 디렉토리 항목 B.txt 정확히 있었다면 파일을 만들고 B.txt 에서 첫 번째 장소입니다.

부드러운 링크는(거의)일반 파일을 제외하고,지 않는다는 데이터가 포함되어 있지만 경로의 또 다른 디렉터리입니다.할 경우 파일을 삭제하는 소프트 링크를 참조하여,다음 소프트 링크를 포함하지 않는 경로로 포인트를 디렉토리 항목은 이제 더 이상그것은 깨어집니다.을 삭제하시는 경우 소프트 링크,그것을 삭제하는 것과 같은 다른 파일은 영향을 받지 않습니다.

에서 MSDN,

상징적 링크

기호 링크는 다른 파일 시스템 객체를 가리키는 파일 시스템 객체입니다. 지적되는 물체를 대상이라고합니다.

기호 링크는 사용자에게 투명합니다. 링크는 일반 파일 또는 디렉토리로 나타나며 사용자 또는 응용 프로그램이 정확히 동일한 방식으로 수행 할 수 있습니다.

기호 링크는 UNIX 운영 체제와의 마이그레이션 및 응용 프로그램 호환성을 돕기 위해 설계되었습니다. Microsoft는 UNIX 링크와 같은 기능에 대한 기호 링크를 구현했습니다.

상징적 링크는 절대적이거나 상대적 링크 일 수 있습니다. 절대 링크는 경로 이름의 각 부분을 지정하는 링크입니다. 상대 링크는 상대 - 링크 지정자가 지정된 경로에있는 위치에 비해 결정됩니다.

절대 상징적 링크의 예

X: "C:\alpha\beta\absLink\gamma\file"
Link: "absLink" maps to "\\machineB\share"
Modified Path: "\\machineB\share\gamma\file"

상대적인 상징적 링크의 예

X: C:\alpha\beta\link\gamma\file
Link: "link" maps to "..\..\theta"
Modified Path: "C:\alpha\beta\..\..\theta\gamma\file"
Final Path: "C:\theta\gamma\file"

하드 링크

하드 링크 하나 이상의 경로가 단일 파일을 참조하는 파일의 파일 시스템 표현입니다. 같은 볼륨으로.

Windows에서 하드 링크를 만들려면 링크를 작성할 위치로 이동 하여이 명령을 입력하십시오.

mklink /H Link_name target_path

생성 된 순서에 관계없이 하드 링크를 삭제할 수 있습니다. 또한 하드 링크를 만들 수 없습니다

  • 참조는 다른 지역 드라이브에 있습니다
  • 참조에는 네트워크 드라이브가 포함됩니다. 다시 말해, 참조 중 하나는 네트워크 드라이브입니다.
  • 생성 할 수있는 하드 링크는 대상과 같은 경로에 있습니다.

접합

NTFS는 Junction이라는 다른 링크 유형을 지원합니다. MSDN은 다음과 같이 정의합니다.

교차점 (소프트 링크라고도 함)은 참조하는 저장 객체가 별도의 디렉토리이며, 정션은 같은 컴퓨터의 다른 로컬 볼륨. 그렇지 않으면 접합부는 하드 링크와 동일하게 작동합니다.

하드 링크 섹션과 정션 섹션의 굵은 부분은 둘 사이의 기본 차이를 보여줍니다.

명령 Windows에서 정션을 만들려면 링크를 작성할 위치로 이동 한 다음 다음을 입력하십시오.

mklink /J link_name target_path

간단히, 하드 링크 : 파일에 새 이름을 추가하는 것입니다. 즉, 파일의 이름이 동시에 많은 이름을 가질 수 있습니다. 모든 이름은 서로 동일하며 선호하는 사람은 아무도 없습니다. 하드 링크는 모든 내용을 복사하는 것이 아닙니다. 파일의 파일과 새 파일을 만드는 것은 아닙니다.

Symbolic Link (Symlink) : 다른 파일에 대한 파일 포인터입니다. 상징적 링크가 기존 파일을 가리키면 나중에 삭제되는 기존 파일을 가리키면 기호 링크가 더 이상 파일 이름을 밝히지 않더라도 동일한 파일 이름을 계속 가리 킵니다.

디렉토리 항목은 링크를 연결합니다.

struct dentry{
    ino_t ino;
    char  name[256];
}

INO는 inode의 수이고 이름은 파일 이름, inode 구조는 다음과 같습니다.

struct inode{
      link_t nlink; 
      ...
}

예를 들어 파일 /1을 생성하고 디렉토리 항목은 다음과 같습니다.

struct dentry{
     ino_t ino; /* such as 15 */
     char  name[256]; /* "1" */
} 

inode struct는 아마도 다음과 같습니다.

   struct inode{ /* inode number 15 */
         link_t nlink; /* nlink = 1 */
         ...
    }

그런 다음 하드 링크 ( /100 일 수 있음)를 만듭니다. 디렉토리 항목은 다음과 같습니다.

  struct dentry{
     ino_t ino; /* 15 */
     char  name[256]; /* 100 */
  }

inode struct는 아마도 다음과 같습니다.

   struct inode{ /* inode numebr 15 */
         link_t nlink; /* nlink = 2 */
         ...
    }

그런 다음 파일 1에 대한 상징적 링크 ( /200)를 작성하고 디렉토리 항목은 다음과 같습니다.

  struct dentry{
        ino_t ino; /* such as 16 */
        char  name[256]; /* "200" */
  }

inode struct는 아마도 다음과 같습니다.

   struct inode{ /* inode number 15 */ 
         link_t nlink; /* nlink = 2 */
         ...
    }

   struct inode{ /* inode number 16 */
         link_t nlink; /* nlink = 1 */
         ...
    } /* the data of inode 16 maybe /1 or 1 */

위의 모든 답변에 추가하면 하드 링크 및 SoftLink 파일을 찾는 데 차이가 다음과 같이 이해 될 수 있습니다.

파일이 있습니다 f6 내 현재 디렉토리와 이름이 지정된 디렉토리에서 t2.

이름이 지정된 파일입니다 f1 그리고 ./t2/f2 상징적 링크입니다 f6.

이름이 지정된 파일입니다 f7 그리고 ./t2/f8 하드 링크입니다 f6.

소프트와 하드 링크를 찾으려면 사용할 수 있습니다.

$ find -L . -samefile f6 

> ./f1
> ./f6
> ./f7
> ./t2/f2
> ./t2/f8

하드 링크 만 찾기 위해 사용할 수 있습니다.

$ find . -xdev -samefile f6

> ./f6
> ./f7
> ./t2/f8

동일한 파일 시스템에서 하드 링크를 만들 수 있으므로 모든 하드 링크를 검색 할 수 있습니다. -L 사용 된 옵션 (와 함께 -xdev 옵션) 동일한 파일 시스템/마운트 포인트에서. 불필요한 검색을 다른 마운트 포인트로 저장합니다.

따라서 하드 링크를 검색하는 것이 다소 빠르며 SoftLinks를 검색합니다 (내가 틀렸거나 명확하지 않은 경우 수정하십시오).

기호 링크는 하드 링크와 유사한 방식으로 파일에 다른 이름을 부여합니다. 그러나 상징적 인 링크가 남아 있더라도 파일을 삭제할 수 있습니다.

방금 일반적인 시나리오 인 소프트웨어 설치에서 하드 링크를 이해하는 쉬운 방법을 찾았습니다.

어느 날 폴더에 소프트웨어를 다운로드했습니다 Downloads 설치 용. 내가 한 후 sudo make install, 일부 실행 파일이있었습니다 cp로컬 빈 폴더에 ED. 여기, cp 생성 하드 링크. 나는 소프트웨어에 만족했지만 곧 Downloads 장기적으로는 좋은 곳이 아닙니다. 그래서 나 mv소프트웨어 폴더를 ed source 예배 규칙서. 글쎄, 나는 Windows와 같은 대상 링크에 대해 걱정하지 않고도 이전과 같이 소프트웨어를 실행할 수 있습니다. 이것은 의미합니다 하드 링크 직접 inode 및 기타 파일을 찾습니다.

이 대답을 말할 때 파일 내 말은 위치에서 메모리

모든 저장된 데이터에 저장된 메모리를 사용하여 데이터 구조라고는 inode 모든 아이노드는 inodenumber.아이노드 번호 액세스하는 데 사용되는 inode.모두 열심히 연결하는 파일이 다를 수 있습지로 이 같은 inode 번호입니다.이후 모든 하드 링크가 동일한 inodenumber(차례로스 같은 inode),그들의 모든 지점이 동일한 물리적 메모리입니다.

심볼릭 링크 특별한 종류의 파일입니다.때문에 그것은 또한 파일은 파일 이름 및 아이노드 번호이다.위에서 말했듯이 아이노드 번호 acceses inode 는 데이터입니다.이제 어떻게 상징적 인 링크를 특별하는 inodenumbers 에서 심볼릭 링크에 액세스할 수 있는 그는 inode 는 지점"경로를"다른 파일입니다.더 구체적으로 아이노드 번호에서 심볼릭 링크 acceses 그는 inode 점은 또 다른 하드 링크가 있습니다.

우리가 이동,복사,삭제한 파일에 우리는 함께 하드의 파일이 아닙니다.때 우리는 파일을 삭제 우리는 삭제로 암호화의 파일입니다.우리는지 닦은 물리 메모리입니다.는 경우 모든 하드하는 파일은 다음 삭제하지 않을 것이 가능하여 저장된 데이터에 액세스 할 수 있지만 여전히 존재할 수 있는 메모리에

사용에 대한 나의 두 센트 :

부드러운 링크는 긴 경로 이름을 단축하는 데 사용될 수 있습니다.

ln -s /long/folder/name/on/long/path/file.txt /short/file.txt

변경 사항 /short/file.txt 원본 파일에 적용됩니다.

딱딱한 링크는 큰 파일 주위를 이동하는 데 사용될 수 있습니다.

$ ls -lh /myapp/dev/
total 10G
-rw-r--r-- 2 root root 10G May 22 12:09 application.bin

ln /myapp/dev/application.bin /myapp/prd/application.bin

다른 폴더에 대한 인스턴트 복사 및 원본 파일 (on /myapp/dev) 파일을 터치하지 않고 이동하거나 삭제할 수 있습니다. /myapp/prd

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top