본문 바로가기

운동하는 개발자/Linux

ln 명령어 파일링크 (리눅스 바로가기만들기)

728x90

리눅스와 서먹서먹하던 시절 파일명에 '->' 가 들어가 있는 걸 보았다
찾아보니 파일링크였으며 위 이미지를 예시로 BlogDemon을 실행 시 실제론 BlogDemon_1_0_1을 실행해 주는 역할이었다

생성 방법은 간단하다

ln -s BlogDemon1_0_1 BlogDemon

ln -s [실행될 파일] [생성할 바로가기 파일명]


자 그럼 이걸 어디에 쓰나 내 경험엔 위 쉘 화면에서 start.sh을 보자면

다음과 같이 BlogDemon을 실행하는 쉘 파일이고 파라미터로 -o fast를 넘겨준다
BlogDemon에게 옵션 값을 주며 편하게 실행할 수 있게 생성되어있다

이때 만약 BlogDemon이 1_0_2 버전이 나온다면?
관리자는 BlogDemon을 삭제하고 ln -s BlogDemon1_0_2 BlogDemon 명령어로 링크를 새로 걸어주면 되고
사용자의 경우엔 버전과 무관하게 start.sh만 실행시키면 되는 것이다

경로도 굳이 같은 디렉터리에 존재할 필요는 없기에 다양하게 응용하여 사용할 수 있다


※ 추가로 파일 링크는 위와 같이 심볼릭 링크 외에 하드 링크가 있는데 -s명령만 제외해주면 된다 
이는 "원본 파일 데이터"를 가리키는 파일이 하나 더 생기는 것으로 복사와 유사하다
다만 하드 링크 파일을 수정하든 원본 파일을 수정하든 "원본 파일 데이터"는 내용이 변경되며
둘 중 하나가 삭제되어도 나머지 파일을 통해 "원본 파일 데이터"는 온전히 보존된다


728x90