리눅스 파일 시스템 탐색하기

CompTIABeginner
지금 연습하기

소개

이 실습에서는 명령줄을 사용하여 리눅스 파일 시스템을 탐색하는 데 필요한 핵심 기술을 배웁니다. 현재 작업 디렉터리를 출력하는 pwd, 디렉터리를 변경하는 cd, 디렉터리 내용을 나열하는 ls와 같은 필수 셸 명령어를 접하게 됩니다. 이러한 명령어들은 모든 리눅스 기반 시스템과 상호작용하는 데 있어 가장 기초가 되는 도구입니다.

실습 전반에 걸쳐 절대 경로와 상대 경로를 모두 사용하여 디렉터리 사이를 이동하는 연습을 하게 됩니다. 또한 홈 디렉터리에 빠르게 접근할 수 있는 물결표 확장 (~) 과 같은 유용한 단축키를 살펴보고, ls -lls -a와 같은 명령어 옵션을 사용하여 파일의 상세 속성과 숨겨진 파일을 확인하는 방법도 배웁니다. 실습을 마칠 때쯤이면 리눅스 셸 환경에서 효율적으로 작업할 수 있는 탄탄한 기초를 갖추게 될 것입니다.

이 실습은 학습과 연습을 돕기 위해 단계별 지침을 제공하는 가이드 실습입니다. 각 단계를 완료하고 실무 경험을 쌓으려면 지침을 주의 깊게 따르십시오. 과거 데이터에 따르면 이 실습은 완료율 95%초급 수준 실습입니다. 학습자들로부터 99%의 긍정적인 평가를 받았습니다.

pwd 와 cd 로 홈 디렉터리 확인하기

이 단계에서는 리눅스 파일 시스템을 탐색하기 위한 두 가지 기본 명령어인 pwdcd를 배웁니다. 먼저 현재 작업 디렉터리를 확인한 다음, 홈 디렉터리로 이동하는 방법을 익히겠습니다.

pwd(print working directory) 명령어는 파일 시스템 계층 구조 내에서 현재 위치가 어디인지 알려줍니다. 이 실습에서 새 터미널 세션을 시작하면 project라는 특정 디렉터리에 위치하게 됩니다. 이를 확인해 봅시다.

터미널에서 pwd 명령어를 실행하세요.

pwd

현재 디렉터리의 절대 경로인 다음과 같은 출력이 표시되어야 합니다.

/home/labex/project

다음으로 cd(change directory) 명령어를 살펴보겠습니다. 이 명령어는 디렉터리 사이를 이동할 수 있게 해줍니다. 리눅스 시스템의 모든 사용자는 개인 파일을 저장하는 기본 위치인 특별한 "홈" 디렉터리를 가지고 있습니다. labex 사용자의 경우 홈 디렉터리는 /home/labex에 위치합니다.

파일 시스템의 어느 위치에서든 홈 디렉터리로 직접 이동할 수 있는 편리한 단축키는 인자 없이 cd만 입력하는 것입니다. 지금 시도해 보세요.

cd

이 명령어는 보통 아무런 출력을 내보내지 않지만, 백그라운드에서 위치를 조용히 변경합니다. 이동이 완료되었는지 확인하려면 pwd 명령어를 다시 사용하세요.

pwd

이제 출력에 홈 디렉터리 경로가 표시됩니다.

/home/labex

이 실습의 나머지 과정은 ~/project 디렉터리 내부에서 진행됩니다. 다시 그곳으로 이동해 보겠습니다. 물결표 문자 (~) 는 홈 디렉터리를 나타내는 특별한 단축키입니다. 따라서 ~/project는 홈 디렉터리에서 시작하여 그 안에 있는 project 디렉터리를 가리키는 경로입니다.

다음 명령어를 실행하여 실습 작업 디렉터리로 돌아갑니다.

cd ~/project

마지막으로 pwd를 한 번 더 실행하여 다음 단계를 위한 올바른 시작 디렉터리로 돌아왔는지 확인합니다.

pwd

처음 시작했던 위치로 돌아왔음을 확인하는 다음 출력이 표시되어야 합니다.

/home/labex/project

이제 pwd를 사용하여 현재 위치를 확인하고, cd를 사용하여 홈 디렉터리로 이동했다가 다시 돌아오는 방법을 성공적으로 익혔습니다. 이는 모든 리눅스 시스템에서 작업하는 데 필수적인 기술입니다.

절대 경로와 물결표 확장을 사용하여 디렉터리 변경하기

이 단계에서는 절대 경로와 물결표 확장을 사용하여 탐색 기술을 확장해 보겠습니다. 이들은 파일 시스템의 어느 곳에서든 단 한 번의 명령으로 원하는 디렉터리로 이동할 수 있게 해주는 강력한 방법입니다.

절대 경로는 루트 디렉터리 (슬래시 / 하나로 표시됨) 에서 시작하는 경로입니다. 이는 디렉터리의 전체 위치를 제공합니다. 시스템 설정 파일이 들어 있는 /etc 디렉터리로 이동하기 위해 절대 경로를 사용해 봅시다.

현재 디렉터리 (~/project) 에서 다음 명령어를 실행하세요.

cd /etc

디렉터리가 성공적으로 변경되었는지 확인하려면 pwd 명령어를 사용합니다.

pwd

출력에 새로운 위치가 표시되어야 합니다.

/etc

이제 물결표 확장에 대해 알아보겠습니다. 물결표 문자 (~) 는 홈 디렉터리를 나타내는 특별한 단축키입니다. 이전 단계에서 보았듯이 cd ~cd /home/labex와 동일합니다. 또한 물결표를 사용하여 다른 사용자의 홈 디렉터리로 이동할 수도 있지만, 이를 위해서는 적절한 권한이 필요합니다.

홈 디렉터리 내의 디렉터리로 이동하여 물결표 확장을 시연해 보겠습니다. 먼저 홈 디렉터리로 이동합니다.

cd ~

pwd로 위치를 확인합니다.

pwd

출력은 다음과 같습니다.

/home/labex

마지막으로, 자신의 홈 디렉터리를 나타내는 물결표 단축키를 사용하여 작업 디렉터리인 ~/project로 돌아갑니다. 이는 프로젝트 파일로 다시 이동하는 매우 일반적이고 효율적인 방법입니다.

cd ~/project

마지막으로 pwd를 실행하여 다음 단계를 위한 올바른 디렉터리에 있는지 확인합니다.

pwd

익숙한 출력이 표시될 것입니다.

/home/labex/project

이제 절대 경로와 다재다능한 물결표 확장을 모두 사용하여 디렉터리를 변경하는 방법을 마스터했으며, 이를 통해 명령줄 탐색 효율성을 크게 높였습니다.

ls 와 ls -a 로 디렉터리 내용 나열하기

이 단계에서는 ls 명령어를 사용하여 디렉터리의 내용을 확인하는 방법을 배웁니다. 또한 리눅스 파일 시스템의 중요한 부분인 숨겨진 파일을 확인하는 방법도 알아봅니다.

먼저 ~/project 디렉터리에 있는지 확인하세요. 목록에 표시할 대상이 있도록 작업용 파일을 몇 개 만들어 보겠습니다. 파일이 존재하지 않으면 빈 파일을 생성하는 touch 명령어를 사용하겠습니다.

터미널에서 다음 명령어를 실행하여 일반 파일 하나와 숨겨진 파일 하나를 생성합니다.

touch sample.txt
touch .hidden_file

이제 기본 ls 명령어로 현재 디렉터리의 내용을 나열해 보세요.

ls

일반 파일만 목록에 표시되는 것을 볼 수 있습니다.

sample.txt

.hidden_file은 표시되지 않는다는 점에 유의하세요. 이는 기본적으로 ls가 이름이 점 (.) 으로 시작하는 파일이나 디렉터리를 보여주지 않기 때문입니다. 이러한 파일들을 "숨겨진" 파일 또는 "도트 파일 (dotfiles)"이라고 하며, 주로 사용자별 설정에 사용됩니다.

숨겨진 파일을 포함한 모든 파일을 보려면 ls와 함께 -a(또는 --all) 옵션을 사용해야 합니다. 지금 시도해 보세요.

ls -a

이번에는 디렉터리의 모든 내용이 출력에 표시됩니다.

.  ..  .hidden_file  sample.txt

이제 출력이 달라졌습니다. 우리가 만든 .hidden_file을 볼 수 있습니다. 또한 두 개의 특별한 항목도 보입니다. .은 현재 디렉터리 자체를 참조하고, ..은 상위 디렉터리 (한 단계 위의 디렉터리) 를 참조합니다. ..을 사용하여 탐색하는 방법은 나중 단계에서 더 자세히 배울 것입니다.

두 출력을 비교해 보면 ls -a가 디렉터리 내용의 전체 목록을 제공한다는 것을 명확히 알 수 있습니다. 이는 설정 파일이나 다른 숨겨진 항목을 찾아야 할 때 매우 중요합니다.

ls -l 명령어로 상세 파일 속성 확인하기

이 단계에서는 파일 이름 이상의 정보를 얻는 방법을 배웁니다. ls 명령어에는 "긴 목록 (long listing)" 형식을 제공하는 강력한 옵션인 -l이 있습니다. 이 옵션은 권한, 소유권, 크기, 수정 날짜와 같은 상세한 파일 속성을 보여줍니다.

이전 단계에서 파일을 생성했던 ~/project 디렉터리에 있는지 확인하세요. 이제 -l 옵션과 함께 ls 명령어를 실행하여 숨겨지지 않은 파일의 상세 정보를 확인해 보겠습니다.

ls -l

출력은 이전보다 훨씬 더 상세해질 것입니다. sample.txt에 대해 다음과 유사한 행이 표시됩니다.

total 0
-rw-r--r-- 1 labex labex 0 Oct 26 10:30 sample.txt

이 행의 각 부분이 무엇을 의미하는지 분석해 보겠습니다.

  • -rw-r--r--: 파일의 권한을 나타냅니다. 첫 번째 문자 (-) 는 일반 파일임을 나타냅니다. 이어지는 문자들은 누가 파일을 읽고, 쓰고, 실행할 수 있는지를 정의합니다.
  • 1: 파일에 대한 하드 링크 수입니다.
  • labex: 파일을 소유한 사용자입니다.
  • labex: 파일을 소유한 그룹입니다.
  • 0: 바이트 단위의 파일 크기입니다. touch로 생성했으므로 비어 있습니다.
  • Oct 26 10:30: 파일이 마지막으로 수정된 날짜와 시간입니다.
  • sample.txt: 파일의 이름입니다.

-a 옵션과 마찬가지로, -l을 함께 사용하여 숨겨진 파일을 포함한 모든 파일의 상세 정보를 볼 수 있습니다. 옵션은 ls -l -a, ls -la, 또는 ls -al로 작성할 수 있으며 모두 동일한 기능을 수행합니다.

한번 시도해 봅시다. 모든 파일의 긴 목록을 확인하는 명령어를 실행하세요.

ls -la

이제 출력에 숨겨진 파일과 특별 디렉터리인 ...이 포함됩니다.

total 8
drwxr-xr-x 2 labex labex 4096 Oct 26 10:35 .
drwxr-xr-x 3 labex labex 4096 Oct 26 10:20 ..
-rw-r--r-- 1 labex labex    0 Oct 26 10:30 .hidden_file
-rw-r--r-- 1 labex labex    0 Oct 26 10:30 sample.txt

...의 경우 권한 문자열이 d로 시작하는 것을 알 수 있습니다. 이는 이들이 일반 파일이 아니라 디렉터리임을 나타냅니다. ls -la를 사용하는 것은 디렉터리 내용과 그 속성에 대한 포괄적인 개요를 얻기 위해 가장 자주 사용하게 될 명령어 중 하나입니다.

상대 경로 (..) 를 사용하여 탐색하고 홈으로 돌아가기

이 마지막 단계에서는 상대 경로를 사용하여 탐색하는 방법을 배웁니다. 루트 (/) 에서 시작하는 절대 경로와 달리, 상대 경로는 현재 작업 디렉터리에서 시작합니다. 이는 종종 근처의 디렉터리로 이동하는 더 빠른 방법이 됩니다. 상대 탐색에서 가장 중요한 도구는 항상 상위 디렉터리 (현재 위치보다 한 단계 위의 디렉터리) 를 나타내는 특별 디렉터리 ..입니다.

먼저 ~/project 디렉터리에 있는지 확인하세요. pwd로 확인할 수 있습니다.

pwd

출력은 /home/labex/project여야 합니다.

이제 상위 디렉터리인 /home/labex로 이동해 보겠습니다. 이를 위해 ..을 인자로 사용하여 cd 명령어를 실행합니다.

cd ..

이 명령어는 셸에 현재 디렉터리의 부모 디렉터리로 변경하도록 지시합니다. pwd로 새로운 위치를 확인하세요.

pwd

이제 홈 디렉터리에 있음을 알 수 있습니다.

/home/labex

..을 연결하여 한 번에 여러 단계를 올라갈 수도 있습니다. 예를 들어, /home/labex에서 cd ../..을 실행하면 루트 디렉터리 (/) 로 이동하게 됩니다.

마지막으로, 시스템의 어느 곳에서든 홈 디렉터리로 돌아가는 가장 빠른 방법을 연습해 봅시다. 첫 번째 단계에서 배웠듯이, 인자 없이 cd 명령어만 실행하면 항상 개인 홈 디렉터리로 돌아갑니다.

먼저 /etc 디렉터리로 이동해 보겠습니다.

cd /etc

이제 /etc에서 단 한 번의 명령으로 홈 디렉터리로 돌아갑니다.

cd

마지막으로 pwd로 위치를 확인합니다.

pwd

출력을 통해 홈으로 돌아왔음을 확인할 수 있습니다.

/home/labex

축하합니다! 이제 리눅스 파일 시스템을 탐색하는 데 가장 필수적인 셸 명령어인 pwd, 절대 및 상대 경로를 사용한 cd, 그리고 디렉터리 내용을 확인하는 ls를 모두 연습했습니다.

요약

이 실습에서는 리눅스 파일 시스템을 탐색하기 위한 기본 셸 명령어를 배웠습니다. pwd를 사용하여 현재 작업 디렉터리를 확인하고 cd를 사용하여 디렉터리를 변경하는 연습을 했습니다. 여기에는 절대 경로, 상위 디렉터리로 이동하기 위한 ..과 같은 상대 경로, 그리고 홈 디렉터리를 위한 물결표 (~) 와 같은 편리한 단축키를 사용하여 위치를 이동하는 과정이 포함되었습니다. 또한 인자 없이 cd를 실행하는 것이 홈으로 돌아가는 빠른 방법임을 확인했습니다.

추가적으로, ls 명령어를 사용하여 디렉터리 내용을 나열하고 검사하는 방법을 살펴보았습니다. 숨겨진 파일을 포함한 모든 파일을 보기 위해 -a 플래그를 사용했고, 상세한 긴 형식의 목록을 표시하기 위해 -l 플래그를 사용했습니다. 이러한 상세 보기는 권한, 소유권, 크기, 수정 날짜와 같은 파일 속성에 대한 중요한 정보를 제공하여 파일을 효과적으로 관리하는 능력을 향상시켜 주었습니다.