"mv" 명령의 매개변수 전환

"mv" 명령의 매개변수 전환

당신이 입력하면

mv a.txt b.txt

그런 다음 실수를 했다는 것을 깨닫고 행을 다시 입력하고 매개변수를 전환하는 대신 다음과 같은 결과가 나타납니다.

mv a.txt b.txt --reverse

답변1

나는 GNU에서 그러한 주장을 알지 못하지만 mv, bash를 사용한다면,라인 읽기가 도움이 될 수 있습니다:

shell-transpose-words( M-C-t)

단어 뒤의 점을 이동하면서 점 앞의 단어를 점 뒤의 단어 위로 드래그합니다. 삽입점이 줄 끝에 있는 경우 줄의 마지막 두 단어가 바뀐다. 단어 경계는 shell-forward-word및 와 동일 합니다 shell-backward-word.

그래서:

$ mv bar/baz\ foo foo\ bar/baz
                              ^ cursor here

Esc그런 다음 CtrlT(또는 )을 누르십시오 AltCtrlT. 결과:

$ mv foo\ bar/baz bar/baz\ foo
                              ^ cursor here

답변2

불행하게도 그렇지 않습니다. 그러나 셸의 텍스트 편집 기능을 사용하여 키 입력을 저장할 수 있습니다. 아래에는 ^커서 위치가 표시되어 있습니다.

예: 큰 타격

  • 시작 상황:
    mv a.txt b.txt
                  ^
    
  • Ctrl+를 누르세요w
    mv a.txt 
             ^
    
    "마지막 단어"( b.txt)는 잘라내어 내부 버퍼에 저장됩니다.
  • 커서가 앞에 올 때까지 Ctrl+를 누릅니다 .Lefta.txt
    mv a.txt
       ^
    
  • Ctrl+를 누르세요y
    mv b.txta.txt
            ^
    
    마지막으로 삭제한 단어를 붙여넣으세요.
  • 공백을 삽입하다

여전히 번거롭지만 더 빠릅니다.알아채다터미널 에뮬레이터에서 이러한 키 입력 중 하나라도 삼킨다면 불행하게도 운이 없는 것입니다.

답변3

example이라는 스크립트를 만들어 unmv원하는 위치 $PATH(예 /usr/local/bin: )에 배치할 수 있습니다.

#!/bin/sh
mv "$2" "$1"

그런 다음 실수로 을 입력한 후 입력만으로 변경 사항을 되돌릴 mv a.txt b.txt수 있습니다 .unmv a.txt b.txt

관련 정보