리눅스 팁 · 3 min read · Nov 12, 2025
리눅스 명령줄 탐색 팁과 요령 - 1부

리눅스에서 명령줄을 사용하기 시작했다면, 그것이 OS의 가장 강력하고 유용한 기능 중 하나라는 것을 아는 것이 중요합니다. 학습 곡선은 주제에 얼마나 깊이 들어가고 싶은지에 따라 가파를 수도 있고 아닐 수도 있습니다. 그러나 전문 지식 수준에 관계없이 항상 유용한 리눅스 명령줄 팁/요령이 있습니다.
이 기사 시리즈에서는 이러한 팁/요령 몇 가지를 논의할 것이며, 여러분의 명령줄 경험이 더욱 즐거워지기를 바랍니다.
리눅스 명령줄 팁/요령
리눅스의 명령줄 기본 사항, 즉 루트 및 홈 디렉토리가 무엇인지, 환경 변수가 무엇인지, 디렉토리를 탐색하는 방법 등을 알고 있다고 가정합니다. 또한, 팁/요령은 관련 개념의 방법과 이유와 함께 제공될 것입니다(적용 가능한 경우).
두 디렉토리 간 쉽게 전환하기 - 빠른 팁
명령줄에서 두 디렉토리 간을 여러 번 전환해야 하는 작업을 하고 있다고 가정해 보겠습니다. 이 두 디렉토리는 각각 /home/과 /usr/ 아래에 완전히 다른 브랜치에 위치해 있습니다. 그럴 경우 어떻게 하시겠습니까?
가장 간단한 옵션은 이러한 디렉토리의 전체 경로를 입력하여 전환하는 것입니다. 이 접근 방식 자체에는 문제가 없지만, 매우 시간이 많이 소요됩니다. 또 다른 옵션은 두 개의 별도 터미널을 열고 작업을 계속하는 것입니다. 그러나 이 접근 방식도 편리하지 않으며, 우아해 보이지도 않습니다.
이 문제에 대한 쉬운 해결책이 있다는 것을 알게 되어 기쁠 것입니다. 먼저 두 디렉토리 간을 수동으로 전환한 다음(각각의 경로를 cd 명령에 전달하여), 이후의 전환은 cd - 명령을 사용하여 수행할 수 있습니다.
예를 들어:
저는 다음 디렉토리에 있습니다:
$ pwd
/home/himanshu/Downloads그리고 나서 /usr/ 브랜치의 다른 디렉토리로 전환했습니다:
cd /usr/lib/이제 다음 명령을 사용하여 쉽게 전환할 수 있습니다:
cd -다음은 cd - 명령이 작동하는 모습을 보여주는 스크린샷입니다.

여기서 언급할 중요한 점은, 이 모든 과정 중에 세 번째 디렉토리로 전환하면, cd 명령은 새 디렉토리와 전환된 디렉토리에서 작동한다는 것입니다.
두 디렉토리 간 쉽게 전환하기 - 관련 세부사항
cd - 명령이 어떻게 작동하는지 알고 싶어하는 호기심 많은 분들을 위해 설명하겠습니다: 우리가 모두 아는 바와 같이, cd 명령은 경로를 인수로 요구합니다. 이제 하이픈(-)이 인수로 전달되면, 이는 현재 OLDPWD 환경 변수가 포함하고 있는 값으로 대체됩니다.

이제 명확해졌듯이, OLDPWD 환경 변수는 이전 작업 디렉토리의 경로를 저장합니다. 이 설명은 cd 명령의 매뉴얼 페이지에 있지만, 안타깝게도 시스템에 사전 설치되어 있지 않을 가능성이 높습니다(최소한 우분투에는 없습니다).
그러나 설치하는 것은 큰 문제가 아니며, 다음 명령을 실행하면 됩니다:
sudo apt-get install manpages-posix
그런 다음:
man cd
매뉴얼 페이지가 열리면, 다음과 같이 명확하게 나와 있습니다:
- 하이픈이 피연산자로 사용될 때, 이는 다음과 동등합니다:
cd "$OLDPWD" && pwd말할 필요도 없이, OLDPWD 변수를 설정하는 것은 cd 명령입니다. 따라서 디렉토리를 변경할 때마다 이전 작업 디렉토리가 이 변수에 저장됩니다. 여기서 또 다른 중요한 점은, 새로운 셸 인스턴스가 시작될 때(수동으로 또는 스크립트를 통해) ‘이전 작업 디렉토리’가 없다는 것입니다.
이것은 cd 명령이 이 변수를 설정하기 때문입니다. 따라서 적어도 한 번 cd 명령을 실행하기 전까지는 OLDPWD 환경 변수가 어떤 값도 포함하지 않습니다.
계속해서, 직관적이지 않을 수 있지만, cd - 및 cd $OLDWPD 명령은 모든 상황에서 동일한 결과를 생성하지 않습니다. 예를 들어, 새로운 셸이 방금 시작된 경우입니다.
위의 스크린샷에서 볼 수 있듯이, cd - 명령은 OLDPWD 변수가 설정되지 않았다고 불평했지만, cd $OLDPWD 명령은 오류를 발생시키지 않았습니다. 사실, 사용자의 홈 디렉토리로 현재 작업 디렉토리를 변경했습니다.
이는 OLDPWD 변수가 현재 설정되지 않았기 때문에, $OLDPWD는 빈 문자열에 불과하기 때문입니다. 따라서 cd $OLDPWD 명령은 그냥 cd를 실행하는 것과 같습니다. 기본적으로는 홈 디렉토리로 이동합니다.
마지막으로, cd - 명령이 생성하는 출력을 억제하는 것이 바람직한 상황을 경험한 적도 있습니다. 즉, 셸 스크립트를 작성하는 경우와 같이, cd - 명령이 일반적인 디렉토리 경로를 출력하지 않기를 원하는 경우가 있을 수 있습니다. 그런 상황에서는 다음과 같이 명령을 사용할 수 있습니다:
cd - &>/dev/null
위 명령은 파일 설명자 2 (STDERR)와 설명자 1 (STDOUT)을 /dev/null로 리디렉션합니다. 이는 명령이 생성하는 모든 오류도 억제된다는 것을 의미합니다. 그러나 여전히 일반적인 $? 기술을 사용하여 명령의 성공 또는 실패를 확인할 수 있습니다 - 명령 echo $?는 오류가 있으면 ‘1’을, 그렇지 않으면 ‘0’을 출력합니다.
대안으로, cd - 명령이 오류 발생 시 출력을 생성하는 것이 괜찮다면, 대신 다음 명령을 사용할 수 있습니다:
cd - > /dev/null
이 명령은 파일 설명자 1 (STDOUT)만 /dev/null로 리디렉션합니다.
결론
안타깝게도, 우리는 여기서 하나의 명령줄 관련 팁만 다룰 수 있었지만, 좋은 점은 cd - 명령에 대한 많은 심층적인 내용을 논의할 수 있었다는 것입니다. 여러분은 이 튜토리얼을 철저히 읽고, 여기서 논의한 모든 내용을 리눅스 박스의 명령줄 터미널에서 테스트해 보시기 바랍니다. 또한, 명령의 매뉴얼 페이지를 확인하고, 거기에 문서화된 모든 기능을 시도해 보세요.
문제가 발생하거나 의문이 있는 경우, 아래 댓글로 공유해 주시기 바랍니다. 한편, 두 번째 부분을 기다려 주시기 바랍니다. 그곳에서는 여기서와 같은 방식으로 더 유용한 명령줄 관련 팁/요령을 논의할 것입니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.