기계적 인조 인간

리눅스에서 푸시 및 팝 명령

Monster Truck Toys Cars Rc Adventures 2016 Crazy MonsterTruck Offroad Kinderfilm

Monster Truck Toys Cars Rc Adventures 2016 Crazy MonsterTruck Offroad Kinderfilm

차례:

Anonim

pushd popd 는 디렉토리 스택으로 작업하고 Linux 및 기타 Unix 계열 운영 체제에서 현재 작업 디렉토리를 변경할 수있는 명령입니다. pushd popd 는 매우 강력하고 유용한 명령이지만 과소 평가되어 거의 사용되지 않습니다.

이 튜토리얼에서는 pushd popd 명령을 사용하여 시스템의 디렉토리 트리를 탐색하는 방법을 보여줍니다.

디렉토리 스택

디렉토리 스택은 이전에 탐색 한 디렉토리 목록입니다. 디렉토리 스택의 내용은 dirs 명령을 사용하여 볼 수 있습니다. pushd 명령을 사용하여 디렉토리로 변경하면 디렉토리에 디렉토리가 추가되고 popd 명령으로 제거됩니다.

현재 작업 디렉토리는 항상 디렉토리 스택의 맨 위에 있습니다. 현재 작업 디렉토리는 사용자가 현재 작업중인 디렉토리 (폴더)입니다. 명령 행과 상호 작용할 때마다 디렉토리 내에서 작업합니다.

pwd 명령을 사용하면 현재있는 디렉토리를 찾을 수 있습니다.

파일 시스템을 탐색 할 때 Tab 키를 사용하여 디렉토리 이름을 자동 완성하십시오. 디렉토리 이름 끝에 슬래시를 추가하는 것은 선택 사항입니다.

pushd , popd dirs 는 쉘 내장이며 동작은 쉘마다 약간 다를 수 있습니다. 우리는 Bash 내장 버전의 명령을 다룰 것입니다.

pushd 명령

pushd 명령의 구문은 다음과 같습니다.

pushd

예를 들어, 현재 디렉토리를 디렉토리 스택의 맨 위에 저장하고 /var/www 변경하려면 다음을 입력하십시오.

~$ pushd /var/www

성공하면 위의 명령은 디렉토리 스택을 인쇄합니다. ~ pushd 명령을 실행 한 디렉토리입니다. 물결표 기호 ~ 는 홈 디렉토리를 의미합니다.

/var/www ~

pushd 먼저 현재 작업 디렉토리를 스택 맨 위에 저장 한 다음 주어진 디렉토리로 이동합니다. 현재 디렉토리는 항상 스택의 맨 위에 있어야하므로 일단 변경하면 새 현재 디렉토리는 스택의 맨 위로 이동하지만 스택에는 저장되지 않습니다. 저장하려면 pushd 해야합니다. cd 를 사용하여 다른 디렉토리로 변경하면 스택의 최상위 항목이 손실됩니다.

스택에 다른 디렉토리를 추가하자:

/var/www$ pushd /opt

/opt /var/www ~

디렉토리에 대한 기본 변경을 억제하려면 -n 옵션을 사용하십시오. 예를 들어 /usr/local 디렉토리를 스택에 추가하지만 변경하지 않으려면 다음을 입력하십시오.

/opt$ pushd -n /usr/local

현재 디렉토리 (항상 맨 위에 있음)가 변경되지 않기 때문에 /usr/local 디렉토리는 스택 맨 위에서 두 번째로 추가됩니다.

/opt /usr/local /var/www ~

푸시는 스택의 Nth 디렉토리로 이동할 수있는 +N -N 두 가지 옵션을 허용합니다. +N 옵션은 스택 목록의 Nth 요소 (왼쪽에서 오른쪽으로 0부터 시작)로 변경됩니다. -N 을 사용하면 카운트 방향은 오른쪽에서 왼쪽입니다.

옵션을 더 잘 설명하기 위해 현재 디렉토리 스택을 인쇄 해 봅시다:

/opt$ dirs -l -v

결과는 디렉토리 스택의 색인화 된 목록을 표시합니다.

0 /opt 1 /usr/local 2 /var/www 3 /home/linuxize

위에서 아래로 (또는 왼쪽에서 오른쪽으로) 계산할 때 디렉토리의 색인은 2 입니다.

pushd +2

아래에서 위로 계산할 때 /var/www 디렉토리의 색인은 1 입니다.

pushd -1.

인수없이 사용하면 pushd 는 최상위 두 디렉토리를 토글하고 새 최상위 디렉토리를 현재 디렉토리로 만듭니다. 이것은 cd - 명령을 사용할 때와 동일합니다.

popd 명령

popd 명령은 다음과 같은 형식을 취합니다.

popd

인수없이 사용하면 popd 는 스택에서 최상위 디렉토리를 제거하고 새 최상위 디렉토리로 이동합니다.

다음 디렉토리 스택이 있다고 가정 해 봅시다.

/opt /usr/local /var/www /etc/nginx ~

/opt$ popd

출력에 새 디렉토리 스택이 표시됩니다.

/usr/local /var/www /etc/nginx ~

-n 옵션은 기본 디렉토리 변경을 억제하고 스택에서 두 번째 항목을 제거합니다.

/opt$ popd -n

/usr/local /etc/nginx ~

pushd 와 마찬가지로, popd 는 스택의 Nth 디렉토리를 제거하는 데 사용할 수있는 +N -N 옵션도 허용합니다.

/opt$ popd +1

/usr/local ~

결론

일반적으로 cd 명령을 사용하여 한 디렉토리에서 다른 디렉토리로 이동합니다. 그러나 명령 행에서 많은 시간을 pushd popd 명령은 생산성과 효율성을 향상시킵니다.

bash 터미널