Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

ln 명령을 사용하여 Linux 심볼릭 링크를 만드는 방법

이 자습서에서는 ln 명령을 사용하여 Linux에서 "소프트 링크"라고도 하는 심볼릭 링크(심볼릭 링크)를 만드는 방법을 설명합니다.

Windows 운영 체제를 사용하여 백그라운드에서 Linux를 시작하는 경우 바로 가기 개념에 익숙할 것입니다. – 실제 데이터가 포함되지 않고 액세스하려는 실제 파일 또는 폴더에 대한 링크가 포함된 파일.

그것들은 단순히 당신의 편의를 위해(중첩된 폴더를 클릭하는 시간을 절약하기 위해) 또는 출력을 리디렉션하기 위해 존재할 수 있습니다(파일을 출력하는 하드 코딩된 디렉토리가 있는 프로그램이 있고 다른 곳으로 보내고자 함).

Linux의 소프트 링크(Symlink)는 본질적으로 동일한 목적을 수행합니다.

하드 링크 대 소프트 링크

  • 소프트 링크 (심볼릭 링크 또는 심볼릭 링크라고도 함) ) 파일 시스템에서 다른 파일 또는 폴더의 위치를 ​​나타냅니다.
    • 따라서 파일이 소프트 링크 to가 삭제되면 존재하지 않는 파일을 가리키는 소프트 링크는 의미가 없습니다.
    • 소프트 링크는 링크된 파일 위치에 대한 참조일 뿐이므로 다른 파일 시스템에 존재할 수 있습니다.
    • 링크와 링크 간에 권한이 공유되지 않습니다.
  • 하드 링크 링크된 파일의 미러 복사본입니다. 두 복사본 모두 저장 장치의 동일한 데이터를 참조합니다.
      • 따라서 하드 링크된 파일을 삭제해도 데이터가 제거되지 않습니다. 데이터에 대한 다른 "하드 링크"는 여전히 파일 시스템에 파일로 존재합니다.
        • 파일 시스템은 얼마나 많은 참조 디스크의 파일에 있습니다. 모든 하드 링크가 삭제되면 해당 개수는 0(영)이 됩니다. 카운트가 0에 도달하면 파일이 삭제됩니다. 다른 파일을 저장하는 데 사용할 수 있도록 데이터 공간이 할당 해제됩니다.
      • 동일한 데이터에 대한 두 개의 참조이므로 동일한 파일 시스템에 있어야 합니다.
      • 권한은 공유됩니다. 연결 및 연결은 모두 두 위치에서 참조되는 디스크의 동일한 파일입니다.

구문

ln [OPTIONS] SOURCE_PATH LINK_PATH

참고:

  • 파일과 폴더를 모두 SOURCE_PATH로 사용할 수 있습니다.
  • LINK_PATH에 소프트 라이크가 생성됩니다.

옵션

다음 옵션을 ln에 전달할 수 있습니다. 명령:

<일>
-F 제안된 링크(link_name)가 이미 존재하고 디렉토리인 경우 링크가 발생할 수 있도록 제거하십시오. -F 옵션은 -f 또는 -i 옵션과 함께 사용해야 합니다. 아무 것도 지정하지 않으면 -f가 암시됩니다. -F 옵션은 -s 옵션이 지정되지 않은 경우 작동하지 않습니다.
-h link_name 또는 link_dirname이 심볼릭 링크인 경우 이를 따르지 마십시오. 이것은 디렉토리를 가리킬 수 있는 심볼릭 링크를 대체하기 위해 -f 옵션과 함께 가장 유용합니다.
-f 제안된 링크(link_name)가 이미 존재하는 경우 링크가 발생할 수 있도록 링크를 해제합니다. (-f 옵션은 이전의 -i 옵션보다 우선합니다.)
-i 제안된 링크가 존재하는 경우 ln이 표준 오류에 대한 프롬프트를 작성하도록 합니다. 표준 입력의 응답이 문자 y 또는 Y로 시작하는 경우 링크가 발생할 수 있도록 제안된 링크의 링크를 해제합니다. 그렇지 않으면 링크를 시도하지 마십시오. (-i 옵션은 이전의 -f 옵션보다 우선합니다.)
-n 다른 ln 구현과의 호환성을 위해 -h와 동일합니다.
-s 심볼릭 링크를 생성합니다.
-v ln이 처리되는 동안 파일을 표시하여 장황하게 표시합니다.

ls에 대한 이러한 옵션 및 전체 세부정보 명령은 다음을 실행하여 사용자 설명서에서 찾을 수 있습니다.

man ls

예시

간단한 심볼릭 링크(symlink 줄여서) 파일을 만들 수 있습니다.

touch test_file.txt

그런 다음 소프트 링크를 만들 수 있습니다. 그것에:

ln -s test_file.txt link_to_test_file

다음을 실행하여 링크를 확인할 수 있습니다.

ls -l

다음과 같이 출력됩니다.

-rw-r--r--  1 user  staff        0  2 Jan 01:31 test_file.txt
lrwxr-xr-x  1 user  staff        9  2 Jan 01:32 link_to_test_file -> test_file.txt

참고:

  • 첫 번째 열의 문자는 파일 또는 폴더 유형 및 권한을 나타냅니다.
  • 다음 숫자는 포함된 파일 수입니다.
  • 사용자/직원은 파일 또는 폴더에 대한 권한이 있는 사용자/그룹입니다.
  • 파일 크기, 수정 날짜 및 이름 다음에
  • 다음을 참조하십시오.l 행의 시작 부분에? 즉, 링크
  • 또한 다음을 볼 수 있습니다. -> 파일이 test_file.txt에 링크되어 있음을 보여주는 끝에 비트
  • S오, 확실히 링크입니다

결론

대부분의 시스템에 로그인하면 사용자의 홈 디렉토리로 바로 이동합니다. 디렉토리의 경로를 입력하는 대신 그날에 작업하고 싶습니다(예:배포 중인 웹 앱의 파일을 호스팅하는 디렉토리에서). 일반적으로 가장 먼저 할 일은 소프트 해당 폴더에 대한 링크를 사용하면 해당 폴더로 다시 이동할 때마다 전체 경로를 입력할 필요가 없습니다.

매우 유용합니다.

Linux가 처음이신가요? 몇 가지 코드를 학습하여 바로 사용하세요!