2012-01-21 1 views
1

최근 서버에서 코드를 업데이트 한 일부 소스 코드를 읽었습니다. 대신에 그냥이가 myfile를 업데이트 작성 :파일 및 심볼릭 링크 제거와 파일 덮어 쓰기

rm myfile 
ln -s myfile.inactive myfile 

차이점은 무엇입니까 :이

mv myfile.inactive myfile 

있었다

? 왜 그것을 두 번째 방법으로하고 싶습니까?

myfile은 실행 파일 일 수도 있고 현재 실행중인 프로세스 일 수도 있습니다.

답변

2

첫 번째 버전은 myfile.inactive의 이름을 myfile으로 바꿉니다. 이 명령 다음에 더 이상 myfile.inactive이 없습니다.

두 번째는 myfile.inactive에 대한 심볼릭 링크를 만듭니다. 따라서이 파일은 여전히 ​​존재합니다. 파일을 (rm myfile) 제거하면 심볼릭 링크 만 제거됩니다. myfile을 변경하면 myfile.inactive에서도 변경됩니다. 이 버전은 사용중인 버전을 쉽게 변경할 수 있습니다. 예 : myfile.debug, myfile.live, myfile.version1, myfile.version2 ... 원하는 파일을 "활성화"하기 위해 파일의 심볼릭 링크를 변경하기 만하면됩니다.

+0

'myfile'이 현재 실행중인 프로세스 인 경우, OS가 실행 파일의 일부분을 읽어야 할 수도 있기 때문에'rm myfile'은 좋은 생각이 아닙니다. – olibre