단일 명령으로 파일을 한 디렉터리에서 다른 디렉터리로 이동한 다음 후자로 cd하는 방법이 있습니까? 비슷 mv /a/file /another/dir && cd _
하지만 두 번째로 디렉터리 경로를 입력하지 않습니다.
답변1
파일을 이동 및 복사하고 다음에서 발생하는 대상 디렉터리로 추적하는 기능이 있습니다.Arch Linux 보드의 스레드:
# Follow copied and moved files to destination directory
cpf() { cp "$@" && goto "$_"; }
mvf() { mv "$@" && goto "$_"; }
goto() { [ -d "$1" ] && cd "$1" || cd "$(dirname "$1")"; }
그런 다음 다음 명령을 실행하여 파일을 {이동, 복사}하고 추적할 수 있습니다.
mvf file /dest/dir/
답변2
당신의 .bashrc
:
cpcd() { cp "$1" "$2" && cd "$2"; }
그것은 바로 내가 한 일이다
cpcd
그런 다음 다음과 같이 사용할 수 있습니다 .cp
cpcd blah dir/
blah를 dir에 복사하고 성공하면 디렉토리를 dir/로 변경합니다.
답변3
다음을 수행하여 앞으로 나아갈 수 있습니다.
mv /a/file /another/dir; cd $_
아니면 거꾸로 할 수도 있습니다:
cd /another/dir; mv /a/file .
당신의 전화.
답변4
이 옵션을 테스트하려면 verbose mv 명령을 사용하여 디렉토리를 추출한 다음 .
cd "$(mv -v file directory | grep -o '/.*/')"