cd를 실행해야하는 이유 아무것도하기 전에?


답변:


32

당신은하지 않습니다.

최소한 그렇게는 아닙니다. 인용 된 문서의 앞줄은 중요합니다.

  • pwdCD를 넣을 때마다 프롬프트를 설정하십시오 .
  • cd .무엇이든하기 전에 항상 수행하십시오 .

이렇게하면 운영자는 현재 변경 사항이 인쇄 될 때마다 중요한 작업을하기 전에 현재 작업 디렉토리를 확인해야합니다. cd .그렇지 않으면 의미가 없습니다.

이 "확인"은 좋은 것이며, 그 형태를 적용해야합니다. 이 테마의 일반적인 (IMHO) 변형은 프롬프트에서 항상 작업 디렉토리를 인쇄하는 것입니다.


11
"당신이 생각하는 디렉토리에 있는지 확인하기 위해 중요한 것을하기 전에 항상 'pwd'를 입력하십시오"라고 생각하는 것이 좋습니다.
Rod MacPherson

4
pwd아무것도하기 전에 그냥하지 않습니까?
Martin Konecny ​​2016 년

15
실제로는 용도가 있습니다. 심볼릭 링크를 통해 디렉토리로 이동 한 후 "current_release"에 대한 심볼릭 링크로 버전을 제어하는 ​​서버 배포 중과 같이 링크가 삭제되고 다른 곳에서 다시 생성 cd .되면 실제 기반이 변경됩니다. 당신이있는 디렉토리.
Stewart

1
" 항상 프롬프트에서 작업 디렉토리를 인쇄하십시오 "+1 그게 내가하는 일입니다.
Paddy Landau

4
기호 링크가 변경되면 @Stewart 불행하게도이하지 않습니다 도움이 cd . 하지만 전에 다른 아무것도. 잘못된 디렉토리에있을 가능성을 줄이지 만 일반적인 문제는 해결하지 못합니다. cd $(readlink -f .)당신이 실제로 거기에 머물고 싶은 것을 사용하여 실제 디렉토리로 전환하지 않는 한 .
scai

18

쉘의 현재 작업 디렉토리가 제거되면 데이터가 유실 될 수 있습니다.

예를 들어

$ pwd
/home/user/test
$ rmdir /home/user/test
$ pwd
/home/user/test
$ some_command | tee command.log
tee: command.log: No such file or directory
<long output>

some_command디스크에 출력이 기록되지 않았습니다.

cd .명령을 실행하기 전에 입력 하면 문제가 나타납니다.

$ pwd
/home/user/test
$ rmdir /home/user/test
$ cd .
$ pwd
.

현재 작업 디렉토리 디렉토리가 제거되고 다시 작성된 경우, 입력 cd .하면 해당 디렉토리에 대한 참조가 "새로 고침"됩니다.

$ ls
foo bar ljz
$ pwd
/home/user/test
$ rmdir /home/user/test
$ mkdir /home/user/test
$ pwd
/home/user/test
$ ls
$ cd .
$ ls 
foo bar ljz

13

현재 디렉토리를 표시하는 것이 더 중요하다고 생각합니다.

모든 Linux 서버에서 /etc/bashrc"W"를 "w"로 변경 하여 프롬프트를 수정합니다 .

 [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "

 [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \w]\\$ "

이것의 효과는 다음과 같습니다.

[root@xt include]#

[root@xt /usr/src/spl-0.6.1/include]# 

이다 PS1bash는 별은?
qdii

내 생각 엔 .. 내가 사용하는 전부 야
ewwhite 2016 년

1
다음 시스템 업그레이드로 변경 사항이 손실 될 수 있습니다.
ott-- 2018 년

2
@ ott-- 당신의 ~/.profile또는 ~/.bash_profile업데이트뿐만 아니라 스틱/etc/skel/.profile
jscott
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.