>  기사  >  시스템 튜토리얼  >  Linux 시스템에서 명령줄 도구 사용에 대한 팁(2)

Linux 시스템에서 명령줄 도구 사용에 대한 팁(2)

WBOY
WBOY앞으로
2024-02-09 16:40:331055검색

이 기사 시리즈의 첫 번째 부분에서는 Linux의 명령줄 탐색에 중점을 두고 cd – 명령의 사용을 탐색하여 몇 가지 관련 사항/개념을 논의했습니다. 이제 Linux 명령줄에서 더 빠른 탐색 환경을 위해 pushd 및 popd 명령을 사용하는 방법을 자세히 살펴보겠습니다.

Linux 시스템에서 명령줄 도구 사용에 대한 팁(2)

시작하기 전에, 다음에 언급되는 모든 지침과 명령은 Ubuntu 14.04 및 Bash 쉘(4.3.11)에서 테스트되었음을 ​​언급할 가치가 있습니다.

pushd 및 popd 명령 기본

pushd 및 popd 명령의 역할을 더 잘 이해하기 위해 먼저 스택 개념에 대해 논의하겠습니다. 부엌 조리대에 빈 공간이 있고 그 위에 접시 세트를 놓고 싶다고 상상해 보세요. 무엇을 하시나요? 간단합니다. 하나씩 위에 올려보세요.

그래서 전체 과정이 끝나면 도마 위에 있는 첫 번째 접시가 더미의 마지막 접시가 되고, 손에 있는 마지막 접시가 더미의 첫 번째 접시가 됩니다. 이제 접시가 필요할 때 더미 맨 위에 있는 접시를 선택하여 사용하고, 필요할 때 다음 접시를 선택하면 됩니다.

pushd와 popd 명령은 비슷한 개념입니다. Linux 시스템에는 나중에 사용할 수 있도록 디렉터리 경로를 스택할 수 있는 디렉터리 스택이 있습니다. dirs 명령을 사용하면 언제든지 스택의 내용을 빠르게 볼 수 있습니다.

아래 예는 명령줄 터미널을 시작한 직후 내 시스템에서 dirs 명령을 사용한 출력을 보여줍니다.

으아악

출력의 물결표(~)는 현재 디렉터리 스택에 사용자의 홈 디렉터리만 포함되어 있음을 나타냅니다.

계속해서 pushd 및 popd 명령을 사용하여 디렉터리 경로를 저장하고 삭제하세요. pushd를 사용하는 것은 매우 쉽습니다. 디렉터리 스택에 저장할 경로를 이 명령에 대한 인수로 전달하기만 하면 됩니다. 예를 들면 다음과 같습니다.

으아악

위 명령이 하는 일은 현재 작업 디렉터리를 인수로 전달한 디렉터리로 변경하고 디렉터리 스택에 경로를 추가하는 것입니다. 사용자 편의를 위해 pushd 명령은 출력에 디렉터리 스택의 내용을 생성합니다. 따라서 위 명령을 실행하면 다음과 같은 출력이 생성됩니다.
~/다운로드 ~
출력에는 이제 스택에 두 개의 디렉터리 경로가 있음이 표시됩니다. 하나는 사용자의 홈 디렉터리이고 다른 하나는 사용자의 다운로드 디렉터리입니다. 메인 디렉터리가 아래에, 새로 추가된 다운로드 디렉터리가 위에 순서대로 저장됩니다.

pushd의 출력이 올바른지 확인하려면 dirs 명령을 사용할 수도 있습니다.

으아악

따라서 dirs 명령도 동일한 출력을 생성하는 것을 볼 수 있습니다.

pushd 명령을 다시 사용해 보겠습니다:

으아악

/usr/lib ~/다운로드 ~

~/데스크탑 /usr/lib ~/다운로드 ~

따라서 디렉터리 스택에는 이제 총 4개의 디렉터리 경로가 포함됩니다. 홈 디렉터리(~)는 맨 아래에 있고 사용자의 데스크톱 디렉터리는 맨 위에 있습니다.

스택의 헤드가 현재 디렉터리라는 점을 기억하세요. 이는 현재 작업 디렉터리가 ~/Desktop임을 의미합니다.

이제 /usr/lib 디렉토리로 돌아가고 싶다고 가정하면 popd 명령을 실행하기만 하면 됩니다.

으아악

popd 명령은 현재 디렉터리를 /usr/lib로 변경할 뿐만 아니라 명령 출력에서 ​​볼 수 있듯이 디렉터리 스택에서 ~/Desktop도 제거합니다. 이런 방식으로 popd 명령을 사용하면 디렉토리를 역순으로 탐색할 수 있습니다.

일부 고급 사용법

이제 pushd 및 popd 명령의 기본 사항을 논의했으므로 이러한 명령과 관련된 다른 세부 사항에 대해 논의해 보겠습니다. 첫째, 이러한 명령을 사용하면 디렉터리 스택을 조작할 수도 있습니다. 예를 들어 디렉터리 스택이 다음과 같다고 가정해 보겠습니다.

으아악

이제 요구 사항은 스택의 디렉터리 경로 순서를 변경하고, 최상위 요소(~/Desktop)가 맨 아래에 배치되고, 나머지 요소는 각각 한 위치 위로 이동하는 것입니다. 이는 다음 명령을 사용하여 달성할 수 있습니다:

으아악

디렉터리 스택에서 위 명령의 결과:

으아악

디렉터리 스택의 요소 순서가 변경되어 이제 우리가 원하는 것과 동일하다는 것을 알 수 있습니다. 물론 디렉터리 스택 요소를 원하는 만큼 이동할 수 있습니다. 예를 들어, 다음 명령은 두 번 위로 이동합니다.

으아악

음수 인덱스 값을 사용할 수도 있습니다:

으아악

마찬가지로 이 기술을 popd 명령과 함께 사용하면 현재 작업 디렉터리를 떠나지 않고도 디렉터리 스택에서 모든 항목을 제거할 수 있습니다. 예를 들어 popd를 사용하여 맨 위에서 세 번째 항목(현재 ~/Downloads)을 제거하려면 다음 명령을 실행합니다.

으아악

스택 인덱스의 초기 값은 0이므로 2를 사용하여 세 번째 항목에 액세스한다는 점을 기억하세요.

이제 디렉터리 스택에는 다음이 포함됩니다.

으아악

항목이 삭제되었는지 확인하세요.

如果由于某些原因,你发现你很难记住元素在目录堆栈中的位置以及它们的索引,你则可以对在 dirs 命令中使用 -v 选项。这里有一个例子:

$ dirs -v
0 /usr/lib
1 ~
2 ~/Desktop

你可能已经猜到了,左边的数字是索引,接下来跟的是这个索引对应的目录路径。

注意: 在 dir 中使用 -c 选项清除目录堆栈。

现在让我们简要地讨论一下 popd 和 pushd 命令的实际用法。虽然它们第一眼看起来可能有点复杂,但是这些命令在编写 shell 脚本时会派上用场 – 你不需要记住你从哪里来;只要执行一下 popd,你就能回到你来的目录。

经验丰富的脚本编写者通常以以下方式使用这些命令:

popd >/dev/null 2>&1

上述命令确保 popd 保持静默(不产生任何输出)。同样,你也可以静默 pushd。

pushd 和 popd 命令也被 Linux 服务器管理员使用,他们通常在几个相同的目录之间移动。 在这里介绍了一些其他有用的使用场景。

总结

我同意 pushd 和 popd 的概念不是很直接。但是,它需要的只是一点练习 – 是的,你需要多实践。花一些时间在这些命令上,你就会开始喜欢它们,特别是当它们提供了方便时。

위 내용은 Linux 시스템에서 명령줄 도구 사용에 대한 팁(2)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lxlinux.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제