반응형
ln 명령어, 링크 만들기
ln
명령어는 파일이나 디렉터리(디렉터리)의 하드 링크(Hard Link) 또는 심볼릭 링크(Symbolic Link, Soft Link)를 생성하는 데 사용됩니다. 링크는 파일 시스템에서 특정 파일이나 디렉터리를 참조할 수 있는 또 다른 이름을 제공합니다.
기본 형식
ln [옵션] 원본_파일 링크_이름
링크의 종류
1. 하드 링크(Hard Link)
- 원본 파일과 동일한 inode 번호를 공유.
- 원본 파일이 삭제되더라도 하드 링크는 여전히 데이터에 접근 가능.
- 동일한 파일 시스템 내에서만 생성 가능.
2. 심볼릭 링크(Symbolic Link, Soft Link)
- 원본 파일의 경로를 참조하는 파일(별칭) 생성.
- 원본 파일이 삭제되면 심볼릭 링크는 깨진 링크(Broken Link)가 됨.
- 파일 시스템 경계를 넘어 생성 가능.
주요 옵션
옵션 | 설명 |
---|---|
-s |
심볼릭 링크 생성 |
-f |
기존 링크나 파일이 있으면 강제로 덮어쓰기 |
-v |
실행 과정을 상세하게 출력 |
-T |
명시적으로 링크 이름을 디렉터리가 아닌 파일로 지정 |
사용 예제
1. 하드 링크 생성
ln original.txt hardlink.txt
original.txt
의 하드 링크hardlink.txt
를 생성.- 두 파일은 동일한 데이터를 참조하며, 둘 중 하나를 수정하면 다른 파일에도 반영.
2. 심볼릭 링크 생성
ln -s /path/to/original.txt symlink.txt
/path/to/original.txt
를 참조하는 심볼릭 링크symlink.txt
를 생성.symlink.txt
는 원본 파일의 경로를 참조하며, 원본 파일이 없어지면 링크가 깨짐.
3. 디렉터리 심볼릭 링크 생성
ln -s /home/user/documents link_to_documents
/home/user/documents
디렉터리를 참조하는 심볼릭 링크link_to_documents
를 생성.
4. 강제로 기존 링크 덮어쓰기
ln -sf original.txt existing_link.txt
- 이미 존재하는
existing_link.txt
를 삭제하고 새로운 링크를 생성.
5. 실행 과정 확인
ln -sv /etc/nginx/sites-available/default default_link
- 심볼릭 링크를 생성하며 실행 과정을 출력:
'default_link' -> '/etc/nginx/sites-available/default'
파일 삭제 시의 동작
하드 링크
- 원본 파일이 삭제되더라도 하드 링크는 여전히 파일 데이터를 참조합니다.
- 파일 데이터는 모든 하드 링크가 삭제된 후에야 제거됩니다.
심볼릭 링크
- 원본 파일이 삭제되면 심볼릭 링크는 깨진 상태가 됩니다.
- 링크 자체를 삭제하려면
rm
명령어를 사용:rm symlink.txt
정리
ln
명령어는 파일과 디렉터리에 하드 링크와 심볼릭 링크를 생성하는 강력한 도구입니다.- 하드 링크는 파일 데이터의 직접적인 복제본을 생성하고, 심볼릭 링크는 경로를 참조합니다.
- 작업 환경에 따라 적합한 링크 방식을 선택하여 효율적인 파일 관리를 할 수 있습니다.
'리눅스 > 리눅스 기초' 카테고리의 다른 글
X 윈도우 시스템 (X Window System) (89) | 2024.12.21 |
---|---|
링크가 유용한 경우 (84) | 2024.12.15 |
less 명령어, 스크롤 표시하기 (101) | 2024.12.13 |
cat 명령어 응용, 인자를 입력하지 않은 경우 등 (108) | 2024.12.12 |
cat 명령어를 사용하여 여러 파일 출력 (141) | 2024.12.11 |