리눅스로 갈아탄 지 얼마 안 되셨나요? 윈도우를 떠나 우분투(Ubuntu) 같은 오픈소스 운영체제로 이주했다면, 새로운 환경에서 가장 먼저 익혀야 할 것이 바로 파일 관리입니다. 다행히 리눅스는 앱 설치부터 데이터 정리까지 직관적이고 사용하기 쉬운 데스크톱 환경을 제공합니다.
리눅스에서 파일과 폴더를 관리하는 일은 데스크톱 환경이든 명령줄(터미널)이든 어렵지 않습니다. 오히려 상황에 따라서는 터미널에 명령어를 입력하는 쪽이 더 빠를 때도 있습니다. 이번 글에서는 리눅스에서 활용할 수 있는 주요 파일 관리 명령어를 살펴보고, 마우스로 조작하는 GUI 방식과 어떻게 비교되는지 알아보겠습니다.
터미널과 노틸러스(Nautilus)
이 글에서는 우분투 16.04 LTS를 기준으로 리눅스의 파일 관리를 설명합니다. 우분투의 기본 파일 관리자는 노틸러스(Nautilus)이며, 다른 파일 관리자를 추가로 설치할 수도 있습니다(다만 기본 프로그램으로 손쉽게 지정하기는 어렵습니다). 노틸러스를 열려면 유니티 런처(Unity Launcher)의 파일 아이콘을 클릭하기만 하면 됩니다.
터미널은 검은 화면에 프롬프트와 깜빡이는 커서가 떠 있는, 흔히 상상하는 그 모습 그대로입니다. 터미널을 열려면 유니티 버튼을 클릭한 뒤 'terminal'이라고 입력하세요. 검색 결과에 명령줄 앱이 표시되면 클릭해 실행하면 됩니다.
ls 명령어로 파일 목록 확인하기
파일 관리자에서 파일 목록을 보는 것은 매우 간단합니다. 왼쪽 클릭으로 드라이브나 디렉터리를 선택하면 내용이 바로 표시되고, 하위 폴더를 열면 그 안의 내용까지 확인할 수 있습니다.
터미널에서도 마찬가지로 간단합니다. 명령줄을 실행하면 기본적으로 개인 홈(Home) 디렉터리에 위치하게 되는데, 현재 디렉터리의 내용을 보려면 다음 명령어를 입력합니다:
ls
현재 디렉터리의 파일 목록이 출력됩니다. 하위 디렉터리의 내용까지 모두 보고 싶다면 다음과 같이 입력하세요:
ls -R
-R 옵션은 하위 디렉터리와 그 내용을 재귀적으로(recursively) 모두 나열하라는 의미입니다.
특정 디렉터리의 내용만 보고 싶다면 ls [디렉터리 이름] 형식으로 입력하면 됩니다. 예를 들어:
ls /Music
…라고 입력하면 Music 하위 디렉터리의 내용이 표시됩니다.
cd 명령어로 디렉터리 이동하기
파일 관리자에서는 왼쪽 패널의 디렉터리를 클릭해 어떤 파일이 어디에 저장되어 있는지 한눈에 파악할 수 있습니다. 디렉터리를 선택할 때마다 해당 폴더가 열리고, 파일 시스템 계층 구조에서 자신의 위치가 이동합니다.
명령줄에서는 cd 명령어로 같은 작업을 수행합니다. 예를 들어:
cd Documents
…라고 입력하면 Documents 하위 디렉터리로 이동합니다. 원한다면 전체 경로를 지정해 드라이브의 다른 위치에 있는 디렉터리로 바로 이동할 수도 있습니다.
cd /etc/fonts
반대로 상위 디렉터리로 이동하려면, 예를 들어 Documents에서 Home으로 돌아가려면 다음과 같이 입력합니다:
cd ..
또한 cd만 입력하거나 cd ~를 사용하면 어느 위치에서든 홈 디렉터리로 즉시 돌아갈 수 있고, cd /는 최상위(root) 디렉터리로 이동합니다. 이 세 가지를 기억해 두면 탐색이 훨씬 수월해집니다.
파일과 디렉터리 삭제하기
터미널에서 파일 삭제는 놀랄 만큼 간단하지만 그만큼 위험합니다. 확인 절차 없이 명령어를 입력하는 즉시 파일이 영구적으로 사라지며, 복구 소프트웨어를 사용하지 않는 한 되돌릴 수 없습니다.
터미널에서 파일을 삭제하려면 rm 명령어를 사용합니다:
rm myfile
전체 경로를 지정해 삭제할 수도 있습니다:
rm /path/to/myfile
데스크톱 환경에서는 파일을 마우스 오른쪽 버튼으로 클릭하고 삭제 옵션을 선택하면 됩니다(우분투에서는 휴지통으로 이동). 아니면 파일을 선택한 후 키보드의 Delete 키를 눌러도 됩니다. 디렉터리도 마찬가지지만, 삭제 전에 안에 남겨야 할 파일이 없는지 반드시 확인하세요!
터미널에서 빈 디렉터리를 삭제하려면 rmdir 명령어를 사용합니다:
rmdir mydirectory
이 경우에도 전체 경로를 지정해 디렉터리 트리의 다른 위치에 있는 폴더를 삭제할 수 있습니다:
rmdir /path/to/mydirectory
디렉터리와 그 안의 내용까지 모두 삭제하려면 rm -r 명령어를 사용합니다. 역시 확인 메시지가 표시되지 않으므로 신중하게 사용해야 합니다!
mv와 cp로 파일 이동 및 복사하기
터미널에서 파일을 이동하려면 mv 명령어를 사용하면 됩니다. 이동할 파일 이름과 대상 디렉터리를 함께 지정하면 됩니다:
mv myfile /home/mydirectory
GUI에서 같은 작업을 하려면 파일을 오른쪽 클릭한 후 이동(Move To)...을 선택합니다.
이동 대신 복사를 원한다면 cp 명령어를 사용합니다. sudo와 함께 사용하는 예는 다음과 같습니다:
sudo cp myfile /home/mydirectory
디렉터리와 그 내용을 통째로 복사하려면 -r 재귀 옵션을 붙입니다:
sudo cp -r /home/mydirectory /home/otherdirectory
이 명령은 "mydirectory"의 내용을 모두 복사해 "otherdirectory"에 넣습니다.
mkdir로 디렉터리 만들기
터미널에서 새 디렉터리를 만드는 것도 아주 간단합니다. mkdir 명령어("make directory"의 약자)를 사용하면 됩니다.
mkdir newdirectory
…라고 입력하면 현재 위치에 해당 이름의 새 디렉터리가 생성됩니다.
다른 위치에 디렉터리를 만들 수도 있습니다:
mkdir /home/mydirectory/newdirectory
GUI에서는 파일 탐색기 창에서 마우스 오른쪽 버튼을 클릭하고 새 폴더(New Folder)를 선택하면 됩니다.
명령줄 vs 데스크톱, 무엇이 더 좋을까?
컴퓨터의 디렉터리 트리를 탐색하는 것은 자주 사용하는 파일과 폴더를 찾는 기본적인 방법입니다. 여기에 하나 더 알아두면 좋은 것이 있습니다. 바로 바탕화면 링크(윈도우의 '바로 가기'에 해당)를 만드는 방법입니다.
터미널에서는 이런 링크를 클릭해 사용할 수는 없지만, ln -s 명령어로 만들 수는 있습니다:
ln -s /home/mydirectory/newdirectory /home/mydirectory/Desktop
이렇게 하면 "newdirectory" 폴더에서 바탕화면으로 연결되는 링크가 생성되어, 바탕화면에서 바로 열 수 있습니다. 중요한 디렉터리를 찾는 시간을 크게 줄여 줍니다. 파일 관리자에서도 폴더를 오른쪽 클릭한 후 링크 만들기(Make Link)를 선택하면 같은 결과를 얻을 수 있습니다.
여러분은 명령줄과 데스크톱 중 어느 쪽이 더 효율적이고 편리하다고 생각하시나요? 리눅스 명령줄의 유연성과 강력함을 새롭게 발견하셨나요? 댓글로 여러분의 생각을 들려주세요!