파일의 절대 경로에서 가장 깊은 디렉토리로 CD를 이동하는 가장 쉬운 방법은 무엇입니까?

파일의 절대 경로에서 가장 깊은 디렉토리로 CD를 이동하는 가장 쉬운 방법은 무엇입니까?

예를 들어 내 클립보드에 다음이 있을 수 있습니다.

/Users/matt/widgets/file.txt

디렉토리를 다음으로 변경하고 싶습니다.

/Users/matt/widgets

cd작동하지 않습니다:

$ cd /Users/matt/widgets/file.txt
bash: cd: /Users/matt/widgets/file.txt: Not a directory

이 일을 더 쉽게 하기 위해 어떤 간단한(즉, 입력하기 쉬운) 변경을 할 수 있습니까?

답변1

후속 실행을 더 쉽게 하기 위해 작업을 미리 로드하는 데 동의하는 경우 함수를 만들 수 있습니다(귀하에게 의미 있는 이름 지정).

function cdfile { cd -- "$(dirname $1)"; }

이러한 정의를 ~/.bashrc파일에 저장하십시오. 그런 다음 원하는 파일 경로가 있을 때마다 다음을 cd수행할 수 있습니다.

cdfile <paste path>

답변2

디렉터리 이름 사용:

cd "$(dirname /Users/matt/widgets/file.txt)"

답변3

cd $(dirname /Users/matt/widgets/file.txt)

관련 정보