[Docker를 위한 Linux 기초] 4. 하드 링크와 소프트 링크
반갑습니다!
이번에는 하드 링크과 소프트 링크에 관련된 내용을 살펴보겠습니다 ^^
하드 링크에 대해서 살펴보기 전에, 해당 파일 또는 디렉토리를 복사하는 명령어인
$ cp 명령어에 대해서 먼저 소개해드리겠습니다 ^^
이 명령어는 해당 파일을 그대로 복사하는 명령어입니다
$ cp 명령어를 이용해서 기존에 존재하는 test.txt 파일을 그대로 복사해서
test2.txt 파일을 만들어줬습니다
$ cat 명령어를 통해 해당 파일의 내용을 조회해보면 내용이 동일한 것을 확인할 수 있겠습니다 ^^
이제 vi 에디터를 이용해서 test.txt 파일의 내용을 일부 수정해주겠습니다 ^^
test 22222라는 문자열을 추가해줬습니다 !
마찬가지로 $ cat 명령어를 이용해서 test.txt와 test2.txt 파일의 내용을 조회해보니,
서로 내용이 다른 것을 확인할 수 있겠습니다 ^^
cp 명령어는 해당 파일을 그대로 복사해서 독립적인 별도의 파일을 만드는 것이므로,
두 파일간의 상관관계는 없기 때문에 어느 한 파일을 수정한다고 해서
나머지 파일에 영향을 끼치거나 하지 않습니다 ^^!
이번에는 $ ln 명령어를 이용해서 하드 링크를 걸어보겠습니다 ^^
test.txt 파일에 대해서 $ ln 명령어를 이용해서 test4.txt 파일을 생성하였습니다 ^^
생성한 직후이므로 두 파일의 내용 모두 동일한 것을 확인할 수 있겠습니다!
vi 에디터를 이용해서 test.txt 파일의 내용에 위와 같이
test 4444라는 임의의 문자열을 추가해 수정하겠습니다 ^^
다시 한 번 test.txt와 test4.txt를 각각 $ cat 명령어로 조회해보니,
test.txt 파일의 수정사항이 test4.txt 파일에도 적용되어 있는 것을 볼 수 있겠습니다 ^^
이와 같이 ln 명령어를 이용하면 파일을 복제하되,
링크가 걸려 있기 때문에 어느 한 파일의 수정 사항이 나머지 파일에도 영향을 끼칩니다 ^^!
이번엔 소프트 링크에 대해서 알아보겠는데요
$ ln 명령어에 -s 옵션을 추가해서 입력해주시면 되겠습니다 ^^
$ ls 명령어로 조회를 해보면 다른 파일들과는 달리 형태가 조금 독특한 것을 볼 수 있겠는데요
sl_text.txt가 해당 파일의 이름인데,
뒤에 -> test.txt 표시가 되어 있습니다 ^^
소프트링크는 일종의 바로가기 같은 느낌입니다
Windows 환경에서 바로가기 아이콘을 만들어 사용해보신 적 있으시죠?
해당 exe 파일 자체를 복제하는 것이 아니라,
exe 파일의 경로를 복사해서 바로 실행할 수 있는 아이콘만 만드는 기능을 하죠 ^^
소프트링크도 이와 같습니다
ln 작업의 대상이 되었던 파일 자체를 복제하는 것이 아니라,
그 파일을 실행할 수 있는 일종의 바로가기 역할로 생겨난 것이죠 ^^
그렇기 때문에 test.txt를 $ rm 명령어를 이용하여 삭제한 뒤
$ ln -s 명령어로 생성한 sl_test.txt 파일에 대해 $ cat 명령어로 조회를 해보려고 하면
위와 같이 No such file or directory라는 오류 메세지가 출력됩니다 ^^
이번 포스트에서는 하드 링크과 소프트 링크에 대해서 알아보았습니다 ^^
다음 포스트에 이어서 나머지 내용들 살펴보겠습니다!