SSH 로그인: 마지막으로 방문한 디렉토리로 자동으로 이동하시겠습니까?

SSH 로그인: 마지막으로 방문한 디렉토리로 자동으로 이동하시겠습니까?

멀티태스킹을 하는 동안 다른 작업을 수행하는 동안 이런저런 이유로(유휴 시간 초과 등) SSH 세션이 종료되는 경우가 있습니다. 터미널로 돌아오면 다시 SSH를 통해 서버에 연결해야 하는 localhost로 돌아가게 됩니다. 서버로 돌아오면 ~기본적으로 항상 홈 디렉터리에 있으며 작업을 계속하려면 마지막에 있었던 디렉터리(기억할 수 있는 경우)로 다시 탐색해야 합니다.

로그인할 때 마지막으로 작업했던 디렉터리로 자동으로 돌아갈 수 있나요?

나는 홈브류 솔루션이 cd디렉터리를 변경하기 위해 별칭을 지정하고 해당 디렉터리를 일부 환경 변수에 저장한 다음 내 .bash_profile.

하지만 이미 Linux에 이와 같은 기능이 있습니까?

답변1

지속성 문제를 해결하는 대신 cd셸 세션을 재개하는 솔루션을 고려해야 합니다.

  • tmux
    • SSH 내에서 실행하여 tmux새 세션을 시작합니다.
    • 연결이 끊어지면 SSH를 다시 ​​연결하고 실행하여 tmux attach세션을 재개합니다.
    • 세션 내에서 tmux을 누른 CtrlB다음 D분리하려면
  • screen
    • SSH 내에서 실행하여 screen새 세션을 시작합니다.
    • 연결이 끊어지면 SSH를 다시 ​​연결하고 실행하여 screen -r세션을 재개합니다.
    • 세션 내에서 screen을 누른 CtrlA다음 D분리하려면
  • mosh
    • moshUDP를 통해 실행되며 네트워크 중단을 방지하도록 설계된 SSH 대체품입니다.

답변2

타사 소프트웨어나 앱이 필요 없으며 내장된 Linux만 사용하면 됩니다.

  1. 로그아웃할 때 로그아웃하기 전에 임시 변수에 $PWD(마지막 디렉터리)를 할당합니다.

에코 $PWD >~/lastdir

  1. 로그인할 때 해당 디렉토리를 ~/.bash_profile에 입력하세요.

CD $(<~/마지막 디렉터리)

답변3

  1. ~/.bash_logout에 아래 명령문을 추가할 수 있습니다.

    echo `pwd` >~/.lastdir
    
  2. (@isaac-Zhao가 제안한대로) ~/.bash_profile에 다음을 추가하십시오.

    cd $(<~/.lastdir)
    

관련 정보