강좌
클라우드/리눅스에 관한 강좌입니다.
프로그램 분류

쉘프로그래밍강좌097: popd를 이용하여 디렉토리 기억스택에서 맨 앞의 리스트 삭제하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

쉘프로그래밍강좌097: popd를 이용하여 디렉토리 기억스택에서 맨 앞의 리스트 삭제하기

 

 

 

 

현재 디렉토리 기억스택에 저장되어 있는 리스트는 다음과 같습니다.

 

 

 

 아래와 같이 모두 5개의 리스트가 저장(북마크)되어 있습니다.

 

 

 

 

 

[root@su249 xinetd.d]# dirs

/etc/xinetd.d /etc/mail /var/log /etc ~

[root@su249 xinetd.d]#

 

 

 

 

여기서 popd라고 하면 맨 앞에 저장되어 있는 리스트중 최 상단의 항목 하나를 삭제합니다.

 

 

 

 그리고 삭제한  후에 맨 앞의 디렉토리리스트로 이동하게 됩니다.

 

 

 

 

 

아래의 예에서 popd의 명령결과 맨 앞에 있던 /etc/xinetd.d가 삭제되고 나머지 리스트 가운데 맨 앞의 리스트가 /etc/mail이므로 현재 위치를 /etc/mail로 이동한 것입니다.

 

 

 

 

 

[root@su249 xinetd.d]# popd

/etc/mail /var/log /etc ~

[root@su249 mail]#

 

 

 

 

아래의 예에서 popd의 명령결과 맨 앞에 있던 /etc/mail이 삭제되고 나머지 리스트 가운데 맨 앞의 리스트가 /var/log이므로 현재 위치를 /var/log로 이동한 것입니다.

 

 

 

 

 

[root@su249 mail]# popd

/var/log /etc ~

[root@su249 log]#

 

 

 

 

아래의 예에서 popd의 명령결과 맨 앞에 있던 /var/log가 삭제되고 나머지 리스트 가운데 맨 앞의 리스트가 /etc이므로 현재 위치를 /etc로 이동한 것입니다.

 

 

 

 

 

[root@su249 log]# popd

/etc ~

[root@su249 etc]#

 

 

 

 

아래의 예에서 popd의 명령결과 맨 앞에 있던 /etc가 삭제되고 나머지 리스트 가운데 맨 앞의 리스트가 ~(현재 사용계정의 홈디렉토리)이므로 현재 위치를 /root로 이동한 것입니다.

 

 

 

 

 

[root@su249 etc]# popd

~

[root@su249 ~]#

 

 

 

 

아래의 예에서 popd의 명령결과 맨 앞에 있던 ~가 삭제되고 나머지 리스트 가운데 맨 앞의 리스트로 이동하려고 하였으나 저장된 리스트가 없기 때문에 이동하지 못한 것입니다.

 

 

 

 

 

[root@su249 ~]# popd

-bash: popd: directory stack empty

[root@su249 ~]#

 

 

 

 

, 앞의 예들을 정리하면 다음과 같습니다.

 

 

 

 

 

popd라는 명령어를 실행하면 현재 디렉토리 저장스택에 기억되어 있는 디렉토리리스트 가운데 맨 앞(최상단)의 리스트를 삭제하고 나머지 리스트 가운데 맨 앞의 위치로 현재 디렉토리위치를 옮기게 됩니다.

 

 

 

그리고 popd를 실행했을 때 저장되어 있는 리스트가 없다면, 즉 디렉토리 저장스택이 비어있다면 “directory stack empty”라는 메시지와 함께 이동하지 않게 됩니다.

 

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  95 명