홈 디렉토리 대신 다른 디렉토리로 기본 설정하는 방법


180

Windows 컴퓨터에서 개발 중입니다. 리눅스 커맨드 라인에 필요한 유일한 곳은 Git Bash입니다. 문제는 : 내가 열면 홈 디렉토리에 있습니다. 다음과 같이 디렉토리를 작업 공간으로 변경해야합니다.

cd ../../../d/work_space_for_my_company/project/code_source

이것을 .sh 파일로 감싸서 더 이상 직접 입력 할 필요가 없습니까? 이것은 간단해야하지만 Linux 명령 줄에 대한 지식이 없습니다. 그 .sh 파일을 만드는 방법을 안내해 주시면 감사하겠습니다.


5
아래의 답변은 이것을 영구적으로 수정하는 것이 옳지 만, 이것들이 없어도 매번 이것을 손으로 쓰지 않아야합니다. Git Bash에는 세션간에 지속되는 명령 기록이 포함되어 있으므로 (Windows 콘솔과 달리)이 명령을 다시 입력하는 대신 Ctrl-r을 입력 한 다음 명령의 일부를 반복하여 입력하려는 경우 (예 : Windows 콘솔과 달리). ctrl-r../d명령이 나타나면 enter를 입력하십시오. 일반적으로 명령 기록을 사용하는 방법을 배우는 데 몇 분을 투자하면 다양한 git 명령을 반복 할 때 명령 기록을 많이 사용할 것입니다.
Stephen Hosking

참고로 화살표 키가 작동 하는 WSL bash 대안이 있습니다 C:\Windows\System32\bash.exe -i -c 'cd /mnt/c/Data; exec "${SHELL:-bash}"'(또는 cmder 사용하는 경우 cmd /c "C:\Windows\System32\bash.exe -i -c 'cd /mnt/c/Data; exec "${SHELL:-bash}"'" -new_console:t:Data)-i
KCD

답변:


101

해당 줄을 "cd.sh"파일에 쓴 다음 쉘 프롬프트에서 다음을 수행하십시오.

. ./cd.sh

또는 $HOME/.bashrc파일 에서 별명 또는 함수를 작성할 수 있습니다 .

foo() { cd /d/work_space_for_my_company/project/code_source ; }

디렉토리 이름에 공백 또는 다른 쉘 메타 문자가 포함 된 경우 따옴표가 필요합니다. 필요하지 않더라도 추가하는 것은 아프지 않습니다.

foo() { cd "/d/Work Space/project/code_source" ; }

(필자는 생략 ../../..했습니다.)

편집 : 줄을 추가하면

foo

너의 ~에게 .bashrc 함수 정의 후, 쉘은 그 디렉토리에서 시작됩니다. 또는 나중에 기능을 사용할 필요가없는 경우 cd명령을 직접 사용할 수 있습니다 .bashrc.

이름 foo은 예일 뿐이므로보다 의미있는 이름을 선택해야합니다.


5
@orip이 지적했듯이 cd.bashrc에서 할 수도 있습니다 . 그러나 기능으로 만들면 다른 디렉토리로 변경 한 후 나중에 명령을 다시 사용할 수 있습니다.
Keith Thompson

2
"../../ .."를 설명하기 위해 제공 한 명령은 현재 디렉토리에 상대적인 경로를 지정합니다. "../../../d/work_space_for_my_company/project/code_source"현재 디렉토리에서 3 단계로 올라간 $HOME다음 (d), "d", "work ..."로 내려갑니다. git bash 쉘 환경은 "/d"Windows가 호출하는 것을 참조하고 "D:\"있습니다. 절대 경로 이름 인을 사용하는 "/d/work_space_for_my_company/project/code_source"것이 더 간단하고 $HOME발생하는 위치에 의존하지 않습니다 .
Keith Thompson

2
.bashrc파일 은 어디에서 찾을 수 있습니까 ?
ptamzz

2
@ptamzz : 일반적으로 .bashrc계정이 설정되면 홈 디렉토리에 파일이 생성됩니다. 그렇지 않은 경우 직접 만들 수 있습니다.
키이스 톰슨

1
"cd.sh"는 어디에 있습니까? 그리고 당신이 홈 디렉토리를 말할 때. 현재 앱의 홈 디렉토리에 대해 이야기하고 있습니까?
WowBow

374

보다 Windows-ish 솔루션은 다음과 같습니다. git bash를 시작하는 데 사용하는 Windows 바로 가기를 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭하십시오. "시작"값을 원하는 작업 공간 경로로 변경하십시오.

편집 : 또한 아래 주석에 표시된대로 대상 값에 --cd-to-home 옵션이 포함되어 있지 않은지 확인하십시오.


13
이 솔루션의 유일한 문제점은 홈 디렉토리의 기본 경로를 설정하지 않는다는 것입니다. 경로는 다음과 같이 액세스합니다.~
worc

67
이것은 나를 위해 일했습니다. 또한 시작 명령에서 --cd-to-home 옵션도 제거해야했습니다.
ChinLoong

2
Windows 7 작업 표시 줄에 고정 된 바로 가기가있는 경우 lifehacker.com/5475752/…
manat

11
이것이 가장 간단한 해결책이라고 동의했지만 대상에서 "--cd-to-home"제거를 포함하도록 절대적으로 수정해야합니다. 마지막 변경 사항이 없으면 설정을 수정하지 않은 한 항상 C : \ Users [name] 폴더로 기본 설정됩니다.
Zeus56

2
명확히하기 위해, 바로 가기에서 "Target"이되어야 %WINDIR%\System32\bash.exe하고 "Start In"은 C:\Temp또는 원하는 경로가 되어야합니다 .
demoncodemonkey

45

.bashrc홈 디렉토리 의 파일에 행을 추가하십시오 (없는 경우 파일 작성).

cd ~
touch .bashrc
echo "cd ~/Desktop/repos/" >> .bashrc

5
나는 파티에 늦었다는 것을 알고 있지만 말도 안되는 기능을 중지 해 주셔서 감사합니다! :)
Felipe Gerard

1
이것은 완벽했다. 내쪽으로 갔고 바닥에 .bashrc.local추가 cd ~/Desktop/repos/;했습니다. 매력처럼 일했다! 바닥을 바꾸는 .bashrc것도 효과가 있습니다.
Michael Dimmitt

방금 ~에서 .bashrc 파일을 만들었고 다음에 git Bash를 열 때 .bash_profile과 다른 파일이 없어서 나를 위해 만들었습니다. 그리고 git Bash를 다시 연 후에는 꽃이 없었습니다!
Pini Cheyni

시작 명령에서 --cd-to-home 옵션을 제거하십시오 (Shortcut Properties)
telebog

38

내가 사용 ConEmu (강력 Windows에서 권장) 처럼 망할 놈의 강타를 시작하기 위해 내가 작업이

여기에 이미지 설명을 입력하십시오

하단의 "Startup dir ..."버튼을 참고하십시오. -new_console:d:<path>Git Bash의 시작 명령에 a 를 추가합니다 . 원하는 곳을 가리켜보세요


사용자 지정 작업을 공유해 주셔서 감사합니다. 작동하지 못했습니다. 예를 들어 Google.com을 핑 (ping)하는 등 간단한 Windows 명령을 실행하려면 어떻게해야합니까?
Iman Mohamadi

1
@ImanMohamadi PATH에 변수를 추가하면 스크립트를 만들 수 있습니다. env 변수를 입력하면 p-g구글 등을 핑하는 것과 같은 cmd를 실행할 수 있습니다 .
Juri

23

도움이 될 수 있습니다.

이미지 설명

  1. 자식 bash-> 속성을 ​​마우스 오른쪽 버튼으로 클릭하십시오.
  2. 바로 가기 탭에서-> 시작 필드-> 사용자 정의 경로를 입력하십시오.
  3. Target 필드에 포함되지 않거나 --go-to-homeHOME 변수에 지정된 디렉토리에서 계속 시작 되는지 확인하십시오.

그게 다야.


나는 그것을 시도했지만 경로가 D와 같은 다른 드라이브에있을 때이 작업을하지 않습니다 : \ 프로젝트 \ 테스트
레이

윈도우 10는 자식 bash에 대한 해당 탭이 표시되지 않습니다,하지만 당신은 몇 가지 ** 박쥐 파일에 저장, 코드의이 작은 3 선을 사용하여 해킹 할 수 있습니다. 1. d: 2. cd data 3.git bash당신은 두 번 다음 원하는 위치에서 열립니다 박쥐 파일을 클릭하면
Krish 수출을

1
해당 Target필드를 확인하십시오. 매개 변수가 없습니다. 기본적으로 -go-to-home거기에서 그 작품까지 지워야합니다.
Kurapika

1
그것은 나를 위해 작동합니다 대상 : "C : \ Program Files \ Git \ git-bash.exe"(중요) 시작 : d : / xampp / htdocs /
raftaar1191

1
@ raftaar1191 ( "-cd-to-home"옵션을 제거함)과 동일한 대상으로도 작동하며 "start in"줄을 "C : \ wamp \ www"로 구성했습니다. 매우 유용합니다!
nayfun

10

또한 바로 가기 아이콘의 "시작"설정을 다음과 같이 변경했습니다. %HOMEDRIVE%/xampp/htdocs/


9

명령 줄을 열 때마다이 작업이 수행되기를 원한다고 가정합니다.

echo cd ../../../d/work_space_for_my_company/project/code_source >> ~/.bashrc

이제 쉘을 열면 홈에서 3 개의 디렉토리로 이동하여 code_source로 변경됩니다.

이 코드는 "cd ../../../d/work_space_for_my_company/project/code_source"행을 ".bashrc"파일에 추가합니다. ">>"는 파일이 존재하지 않는 경우 파일을 작성하고 추가합니다. .bashrc 파일은 시작 / 로그인 시간에 명령을 실행하는 데 유용합니다 (예 : 모듈로드 등).


9

(아래 경고를 읽으십시오)

Windows 에서이 작업을 수행하는 정말 간단한 방법은 git bash와 함께 작동하며 원하는 홈 디렉토리를 가리키는 HOME이라는 환경 변수를 만드는 것입니다.

  1. 내 컴퓨터를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오.
  2. 고급 시스템 설정 선택 (위치는 Windows 버전에 따라 다름)
  3. 시스템 속성 내에서 고급 탭을 선택하십시오
  4. 고급 탭에서 환경 변수 (아래쪽 단추)를 선택하십시오.
  5. "시스템 변수"에서 HOME이라는 변수가 있는지 확인하십시오. 그렇다면 변수 이름을 강조 표시하고 편집을 클릭하여 해당 변수를 편집하십시오. 새 변수 이름을 원하는 경로로 만드십시오.
  6. HOME이 아직 없으면 시스템 변수에서 "새로 작성"을 클릭하고 원하는 경로의 값을 가진 HOME이라는 새 변수를 작성하십시오.

환경 변수

참고 : 다른 작업 방식이 변경 될 수 있습니다. 예를 들어, .ssh 구성 파일의 위치가 변경됩니다. 제 경우에는 집이 U : \가되기를 원했습니다. 왜냐하면 프로젝트 작업과 응용 프로그램 설정을하는 주요 장소이기 때문입니다 (즉, 실제로는 "홈"디렉토리입니다).

편집 2017 년 6 월 23 일 :이 답변은 계속해서 우세한 의견을 얻었으며 사람들에게 이것이 효과가있을 수는 있지만 @AnthonyRaymond에 동의하지 않는 것이 좋습니다. 이것은 다른 문제가 발생하더라도 신경 쓰지 않는 임시 수정 또는 수정입니다. 집을 변경해도 하드 드라이브 삭제와 같은 적극적인 피해는 발생하지 않지만 나중에 교묘 한 성가심을 유발할 수 있습니다. 도로에서 성가신 문제가 발생하기 시작하면 아마도이 변화를 기억하지 못할 것입니다. 그래서 나중에 머리를 긁을 수 있습니다!


@asalle (주로 사용자 시스템 변수를 편집 할 수 있음을 제안)이 제안한 편집이 Bamsworld fish_ball 및 greg-449가 거부 된 이유를 이해하지 못합니다.
geneorama 2019

이것은 좋은 아이디어가 되기에는 너무 많은 파괴적인 방법입니다. 많은 다른 응용 프로그램과 창에도 영향을 줄 수 있습니다. 권장하지 않습니다
Anthony Raymond

@AnthonyRaymond 내가 언급 한 것처럼 "HOME"을 변경하면 다른 결과를 초래할 수 있지만 반드시 파괴적이라고 말하지는 않습니다. 실제로, HOME을 특정 위치로 사용하거나 다른 응용 프로그램이 HOME을 원하지 않는 위치로 설정 한 경우에 유용 할 수 있습니다. 어쨌든이 대답은 기본 디렉토리가 설정되는 방법에 약간의 도움이된다고 생각합니다.
geneorama

@AnthonyRaymond 동의하지만,이 질문의 맥락에서 특정 프로젝트 (예 :)의 홈 설정 ../../../d/work_space_for_my_company/project/code_source은 나쁜 생각입니다. 그러나 일반적으로 HOME이 필요하지 않은 경우가 있습니다./c/Users/[current user name]/
geneorama

특수 폴더가 다른 위치를 가리 키도록하려면 심볼릭 링크를 만드십시오. technet.microsoft.com/ko-kr/library/cc753194(v=ws.11).aspx HOME 변수를 사용하는 프로그램을 알 수있는 방법이 없습니다.
앤소니 레이몬드

7

Git Bash 애플리케이션 링크를 마우스 오른쪽 단추로 클릭하여 특성으로 이동하고 시작 위치를 시작 위치로 수정하십시오.


5

Windows 10 의 고정 된 시작 메뉴 항목에서

  1. 고정 된 바로 가기의 파일 위치를 엽니 다
  2. 바로 가기 속성을 엽니 다.
    1. 없애다 --cd-to-home인수
    2. 업데이트 Start in경로
  3. 최근에 추가 한 메뉴를 다시 시작하려면 다시 고정

파일 위치 스크린 샷 열기

바로 가기 속성 열기 스크린 샷

바로 가기 속성 업데이트 스크린 샷

최근에 추가 된 screnshot을 통해 고정


이 작업을 수행하는 방법에 대한 다른 모든 답변에 감사드립니다! Win 10 지침을 제공하고 싶었습니다 ...


4

Windows의 경우 : 다음 단계를 수행하십시오.

  1. Windows 홈으로 이동> "Git Bash"애플리케이션을 마우스 오른쪽 버튼으로 클릭하십시오.
  2. 속성> 바로 가기
  3. 이 두 설정을 변경하십시오. (a) 삭제- cd-to-home에서 target (b) "시작 위치"에서 git으로 시작할 폴더 경로를 입력하십시오.

이것은 나를 위해 일했다 :)


3

GIT bash를 열 때 프로젝트 선택 목록 을 원한다면 :

  • ppathgit 프로젝트 경로의 코드 헤더를 편집 하고이 코드를 .bashrc 파일에 넣고 $ HOME 디렉토리에 복사하십시오 (Win Vista / 7에서는 일반적으로 c : \ Users \ $ YOU입니다 )

.

#!/bin/bash
ppath="/d/-projects/-github"
cd $ppath
unset PROJECTS
PROJECTS+=(".")
i=0

echo
echo -e "projects:\n-------------"

for f in *
do
    if [ -d "$f" ]
    then
        PROJECTS+=("$f")
        echo -e $((++i)) "- \e[1m$f\e[0m"
    fi
done


if [ ${#PROJECTS[@]} -gt 1 ]
then
    echo -ne "\nchoose project: "
    read proj
    case "$proj" in
        [0-`expr ${#PROJECTS[@]} - 1`]) cd "${PROJECTS[proj]}" ;;
        *) echo " wrong choice" ;;
    esac
else
    echo "there is no projects"
fi
unset PROJECTS
  • GIT bash chmod + x .bashrc 내 에서이 파일을 실행 파일로 설정하고 싶을 수도 있습니다 (그러나이 파일은 ntfs 파일 시스템에 저장되어 있기 때문에 중복 될 수 있습니다 )

2

CD를 작업 디렉토리의 ~ / .bashrc에 넣을 때 Windows의 Git Bash 단축키가 불평했습니다.

WARNING: Found ~/.bashrc but no ~/.bash_profile, ~/.bash_login or ~/.profile.

This looks like an incorrect setup.
A ~/.bash_profile that loads ~/.bashrc will be created for you.

git 은이 .bash_profile을 만들었습니다.

$ cat ~/.bash_profile
# generated by Git for Windows
test -f ~/.profile && . ~/.profile
test -f ~/.bashrc && . ~/.bashrc

어떤 일을합니까?

또는 .bashrc를 다시 제거하고 cd 명령을 .bash_profile에 넣으십시오.

$ rm ~/.bashrc
$ echo "cd Source/Repos" >~/.bash_profile

$ cat ~/.bash_profile
cd Source/Repos

이 작업이 완료되면 창을 닫고 바탕 화면 바로 가기를 사용하여 다시 열 수 있으며 프롬프트는 현재 위치가 원하는 위치임을 알려줍니다.이 경우는 다음과 같습니다.

Administrator@raptor1 MINGW64 ~/Source/Repos
$

2

이 명령을 입력하면 : echo cd d:/some/path >> ~/.bashrc

cd d:/some/path을에 추가합니다 .bashrc. 는 >>추가 한 후이 존재하지 않는 경우 파일을 생성합니다.


1

반드시 있어야합니다 cd d:/work_space_for_....

없이는 :그것은 나를 위해 작동하지 않습니다


1

Windows 사용자를 위한 또 다른 솔루션 은 Git Bash.lnk 파일을 시작해야하는 디렉토리에 복사하여 시작하는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.