내 문제를 설명하기 위해 내가 한 어리석은 방법은 다음과 같습니다.
cp fileFromMyFriend.txt ~/my_first_subfolder/my_second_subfolder/more_subfolders
cd ~/my_first_subfolder/my_second_subfolder/more_subfolders
이 두 줄을 하나로 결합하는 지름길은 무엇입니까? & 또는 와 같은 연결 기호를 찾고 있지 않습니다.
대신 긴 폴더 경로를 다시 입력하지 않으려고 노력하고 있습니다.
(여기 오기 전에 나는 cp 매뉴얼 페이지를 탐색하고 다른 문구로 질문을 검색했습니다)
답변1
대화형으로 사용하는 경우: 정상적으로 입력하고 첫 번째 명령을 실행합니다. 그런 다음 다음을 입력합니다 ( 또는 + 로 cd
Space M-.입력할 수 있음 ). 키보드 단축키 (M-.Esc .Alt.M-.yank-last-arg
) 이전 명령의 마지막 단어를 삽입합니다.
스크립팅을 위한 경우: 디렉터리 이름을 변수에 넣습니다. 잊지 마요변수를 사용할 때는 큰따옴표를 사용하세요..
target_dir=~/my_first_subfolder/my_second_subfolder/more_subfolders
cp fileFromMyFriend.txt "$target_dir"
cd "$target_dir"
동일한 명령 시퀀스를 자주 사용하는 경우기능. 다음 bash 함수가 호출되고 cp
마지막 매개변수를 변경할 디렉터리로 사용합니다. 마지막 인수가 디렉토리나 디렉토리에 대한 심볼릭 링크가 아닌 경우 마지막 인수를 포함하는 디렉토리로 변경됩니다. 이는 대부분의 용도에 작동 cp
하지만 -t
GNU 옵션에는 작동하지 않습니다 cp
.
cp_cd () {
cp "$@"
if [ -d "${!#}/." ]; then
cd -- "${!#}"
else
cd -- "$(dirname -- "${!#}")"
fi
}
답변2
귀하의 질문에 간단히 답변해 드리겠습니다.Rather I'm trying to avoid retyping my very long folder path.
그것이 당신이 하고 싶은 일이라면, 이렇게 할 수 있습니다:
cp fileFromMyFriend.txt ~/my_first_subfolder/my_second_subfolder/more_subfolders
cd !$
답변3
사용한 최신 파일을 사용하려면 다음 명령을 실행할 수 있습니다.
cd $_ # directory case
vim $_ # file case