오늘 코드베이스에서 이 줄을 발견했는데 ln -fs /tmp/Cargo.lock .
, 저는 -fs
에 있습니다 man ln
. 그것은 무엇을 합니까?
PS 이 프로젝트는 docker 컨테이너 내에서 이 명령을 실행합니다.
또한 주어진 명령과 동일한 디렉터리 경로에 파일을 생성하고 실행하여 로컬 컴퓨터에서 이 명령을 시도했습니다.
답변1
표준 Unix 도구 및 명령줄 옵션을 구문 분석하는 표준 방법을 사용하는 도구를 사용하면 여러 단일 문자 옵션을 단일 옵션 문자열로 결합할 수 있습니다(개별 옵션이 옵션 인수를 사용하지 않는 한) 1 .
유틸리티 -f
와 -s
옵션이 ln
정의되는 방식(인수 없는 옵션)으로 인해 명령은 ln -fs
와 동일합니다 ln -f -s
.
유틸리티 -f
와 옵션은 매뉴얼(참고자료 참조)에 별도로 설명되어 있지만 간단히 말해서-s
ln
ln(1)
man ln
-f
연결을 허용하려면 기존 대상 경로 이름을 강제로 제거하세요.
-s
하드 링크 대신 심볼릭 링크를 만듭니다.
(위 내용은 에서 가져온 것입니다.POSIX 사양ln
)
1 명령줄 유틸리티에 대한 POSIX 가이드입니다. "가이드 14"를 참조하세요.유틸리티 구문 가이드.