"cd ."(단일 점) 명령이 유용한 상황이 있나요?

"cd ."(단일 점) 명령이 유용한 상황이 있나요?

이론적으로 이는 현재 작업 디렉터리로 변경되므로 중복되어야 합니다. 어쨌든, 이 명령을 실제로 사용할 수 있는 시나리오가 있나요?

답변1

cd .적어도 두 가지 유용한 사례가 즉시 떠오릅니다 .

  • 현재 디렉터리의 inode 번호 업데이트

    우리가 말하자터미널 1당신은 특정 디렉토리와 다른 디렉토리에 있습니다터미널 2디렉터리를 삭제하고 삭제된 디렉터리와 동일한 이름으로 새 디렉터리를 만듭니다. 그런 다음 해당 디렉터리에서 유용한 작업(예: 파일 생성)을 수행할 수 있습니다.터미널 1cd .다음을 수행하여 이 디렉터리의 inode 번호를 업데이트 할 수 있습니다 .

  • 물리적 분석 디렉토리

    디렉터리 이름이 기호 링크인 경우 cd -P .링크 구성 요소를 물리적으로 확인할 수 있습니다. 이 기능은 POSIX에서 직접 제공됩니다. 예, 여기에는 -P옵션이 필요하므로 알몸이 아니지만 cd .그래도...

답변2

또 다른 작은 효과가 있습니다 $OLDPWD.

새 터미널을 시작할 때 cd어딘가에 도착할 때까지 이 변수는 비어 있어야 합니다.

한 가지 가능한 사용법을 생각해 볼 수 있습니다. 그다지 유용하지 않을 수도 있고 약간 순진할 수도 있지만 다음과 같습니다.

cd -로 이동하면 $OLDPWD이를 함께 사용하여 cd .특정 작업 후에 동일한 디렉터리를 앞뒤로 탐색할 수 있습니다.

cd .; for i in {1..100}; do cd -;mkdir "d$i"; cd "d$i"; touch a; done

이것은 스크립트에서 수행하는 작업이 아니지만 명령줄이나 일부 코드 골프에서 직접 수행할 수도 있습니다.

답변3

cd .본질적으로 무작동이지만 이것이 pushd .관련될 수 있는 상황을 볼 수 있습니다.

또한 대화형, 절차적 또는 인수를 통해 대상 디렉터리를 지정하는 스크립트에서 명령은 다음과 같습니다.

cd $destinationpath

로 평가할 수 있다

cd .

변수를 이렇게 할당해야 할까요?

답변4

CMD를 사용하여 빈 파일을 생성하려는 경우에도 유용합니다. 다음 트릭을 사용하세요.

cd . > filename.ext

관련 정보