ⓒ Getty Images Bank |
<이미지를 클릭하시면 크게 보실 수 있습니다> |
먼저, 명령 터미널을 열거나 원격 리눅스 서버에 로그인하면 명령 프롬프트가 나타나다. 단순한 $일 수도 있고, 한 디렉토리에서 다른 디렉토리로 이동할 때 변경되는 [george@system ~]$와 같이 복잡한 것일 수도 있다. 그러나 사용자는 홈 디렉터리에 위치하게 된다. 가장 먼저 알아야 할 명령은 pwd와 ls이다.
pwd : 현재 디렉터리를 표시한다(예: /home/george).
ls : 현재 위치에 있는 파일을 나열한다.
처음 ls를 실행하면 파일이 나열되지 않을 수 있다. 그렇다고 파일이 없다는 뜻은 아니다. 파일을 보려면 조금 더 노력해야 한다는 뜻일 뿐이다. ls 명령은 새 홈 디렉터리에 포함된 파일 중에서 점으로 시작하는 파일(예: .bashrc)을 보지 않으려는 것으로 가정한다. ls -a 명령을 사용하면 일부 파일을 볼 수 있다.
cat : 텍스트 파일의 내용 표시하기
.bashrc 파일이나 텍스트 파일의 내용을 보려면 cat 명령을 사용하면 된다. 야옹이와는 아무 상관없는 명령이다. cat은 concatenate의 약자인데, 자세한 내용은 나중에 따로 다루겠다.
more : 텍스트 파일을 한 번에 한 화면씩 표시한다.
less : 텍스트 파일을 한 번에 한 화면씩 표시하고 되돌려 볼 수 있다.
줄이 많은 텍스트 파일을 표시하려는 경우 cat 명령을 사용하면 줄이 터미널 창 위로 빠르게 이동하면서 파일을 표시한다. 이런 파일을 한 번에 한 화면씩 보려면 more 또는 less 명령을 사용하면 됩니다. 이 명령은 매우 유사하지만, less 명령은 위쪽 화살표 키를 사용해 되돌려 볼 수 있다.
cd : 특정 디렉토리로 이동하거나 홈으로 돌아가기
다른 디렉토리로 이동하려면 cd 명령을 사용한다. 예를 들어, cd /tmp 명령을 사용하여 /tmp 디렉토리로 이동할 수 있다. 홈 디렉토리로 돌아가는 것은 훨씬 더 쉽다. 그냥 cd를 입력하면 홈 디렉토리로 바로 돌아갈 수 있다.
Touch : 빈 파일 만들기
새 파일을 만들려면 터치 명령을 사용할 수 있다. 이 명령(예: touch newfile)은 빈 파일을 생성하지만, 목록에 더 많은 파일을 추가할 수 있다.
Echo : 지정된 텍스트 표시하기
새 파일에 약간의 내용을 추가하려면 echo 명령을 사용해 echo “read me”>newfile과 같은 명령으로 출력을 파일로 리디렉션할 수 있다. 같은 명령을 다시 실행해도 파일은 변경되지 않는다. 이유는 >를 하나만 사용하면 echo 명령이 이전 내용을 덮어쓰기 때문이다. 기존 파일에 줄을 추가하려면 >>를 사용한다.
rm : 파일 삭제
파일을 삭제하려면 rm 명령(예: rm myfile)을 사용한다. 짐작할 수 있듯이 자신이 소유한 파일만 삭제할 수 있다. 따라서 다른 ls 명령인 ls -l을 사용해 보는 것도 좋은 방법이다. 이 명령은 단순히 파일을 나열하는 것이 아니라 이 예제에서와 같이 많은 추가 세부 정보와 함께 파일을 표시한다.
-rw-r--r--. 1 george george 8 Nov 6 13:28 newfile
“이게 다 뭐지??"라고 생각할 수 있다. 처음의 -은 일반 파일을 보고 있다는 뜻이다. 즉, 다른 파일을 가리키는 디렉토리나 파일이 아니라는 뜻이다. rw- 부분은 사용자(이 예에서는 george)가 파일에 대한 읽기 및 쓰기 권한을 가지고 있음을 의미한다. 다른 사용자가 george 그룹의 구성원인 경우(그럼 그룹이 존재한다면) 읽기 액세스 권한만 갖게 됩니다(다음 r-). george와 같은 사용자 그룹에 한 명 이상의 구성원이 있는 경우는 거의 없다. 마지막 r-은 시스템에 로그인하는 다른 사람이 홈 디렉터리에 액세스할 수 있는 경우 읽기 권한을 부여하지만, 거의 대부분의 경우 그런 경우는 없다. 일반적으로 계정 소유자와 모든 권한을 가진 루트 계정만 파일을 건드릴 수 있다.
mv : 파일 이름 바꾸기
파일 이름을 바꾸려면 mv 명령(예: mv newfile oldfile)을 사용한다. 전체 경로를 포함하면 파일 이름만 바꿀 수 있는 것이 아니라 해당 디렉터리에 대한 쓰기 권한이 있는 경우 파일을 다른 위치로 옮길 수도 있다. 파일을 누구나 사용할 수 있는 /tmp 디렉터리로 옮기려면 다음과 같은 명령을 사용한다:
mv newfile /tmp
파일을 옮기면서 동시에 파일 이름을 바꾸려면 다음과 같은 명령을 사용하면 됩니다:
mv newfile /tmp/oldfile
cp : 파일 복사
파일을 복사하려면 cp 명령어를 사용한다(예: cp thisfile thatfile). 전체 경로를 사용해 파일을 다른 디렉터리로 복사할 수 있다(예: cp myfile /tmp/yourfile).
passwd : 비밀번호 변경하기
비밀번호를 변경해야 하는 경우 passwd 명령을 사용한다. 현재 비밀번호를 입력한 다음 새 비밀번호를 두 번 입력하라는 메시지가 표시된다. 처음에 작동하지 않더라도 놀랄 필요는 없다. 리눅스 시스템은 비밀번호를 까다롭게 설정하는 경향이 있다. 너무 길고 일반적인 단어를 사용하지 않는 것을 원한다. 따라서 자신이 선택한 비밀번호를 기억할 수 있을지 확인하는 거이 좋다. 그렇지 않으면 강력한 루트 계정에 액세스할 수 있는 사람의 도움을 받아 비밀번호를 재설정해야 할 수도 있다.
리눅스 시스템에 로그인하고 계정의 파일을 살펴보는 데 익숙해졌다면, 이제 몇 가지 추가 명령을 사용해 볼 차례이다.
clear : 터미널 화면 비우기
바로 시도해 봐야 할 명령 중 하나는 clear 명령이다. 이 명령은 터미널 창을 지운다. 이 명령은 시작할 때 표시되는 다른 항목에 방해받지 않고 특정 명령의 출력을 보고 싶을 때 유용하다.
head : 텍스트 파일의 맨 윗줄을 표시한다.
tail : 텍스트 파일에 맨 아래 줄을 표시한다.
head 및 tail 명령을 사용해 텍스트 파일의 윗줄과 아랫줄을 볼 수 있다. 이런 각 명령은 기본적으로 10줄을 표시한다. “head .bashrc"와 같은 명령을 입력하면 처음 10줄이 표시되고 ‘tail .bashrc’는 마지막 10줄이 표시된다. 파일에서 맨 아래 두 명령만 보려면 다음과 같은 명령을 사용하면 된다.
$ tail -2 .bashrc
alias byebye='echo "Have a happy and very profitable day!"; exit'
alias c=clear
Byebye 별칭은 좋은 하루를 기원하는 메시지를 보낸 다음 터미널 창 또는 시스템(원격으로 로그인한 경우)을 종료한다. 세미콜론은 명령을 구분하는 동시에 한 줄에서 실행할 수 있도록 한다.
man : 명령의 기능에 대한 설명 제공
바로 사용할 수 있는 또 다른 명령은 man 명령이다. 여기서 “man”은 “수동”을 의미한다. 즉, 사용자가 문의하는 명령에 대한 설명을 제공한다. 예를 들어, “man pwd”를 입력하면 모든 명령 옵션에 대한 세부 정보와 함께 pwd 명령이 수행하는 작업에 대한 설명이 표시된다.
date : 현재 날짜 및 시간 보기
현재 날짜와 시간을 보려면 date 명령을 사용한다. 다음과 같은 형식의 출력에 세부 정보가 표시된다:
$ date
Sun Nov 10 01:32:00 PM EST 2024
cal : 현재 달의 캘린더 보기
현재 달의 캘린더를 보려면 cal 명령을 사용한다. 다른 달의 캘린더를 보려면 다음과 같이 월과 연도를 추가한다.
$ cal 03 1949
March 1949
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
whoami : 사용 중인 계정의 사용자 아이디 표시하기
whoami 명령은 사용 중인 계정과 연결된 사용자 아이디를 표시한다. 일반적으로는 너무 당연해서 물어볼 필요가 없지만, 계정을 전환할 때 현재 사용 중인 계정을 상기시키고 싶을 때 이 명령이 도움이 될 수 있다.
alias : 자주 사용하는 명령의 짧은 이름을 설정하기
좀 더 복잡한 명령을 사용하기 시작하면 별칭 명령을 사용해 자주 사용하는 명령의 짧은 이름을 설정하는 것이 좋다. 예를 들어 'c'를 한 번만 입력하여 화면을 지우고 싶다면 별칭을 설정하여 이를 가능하게 할 수 있다. 별칭은 다음과 같다.
Alias c=clear
한 가지 복잡한 점은 로그인할 때마다 이 별칭을 사용할 수 있게 하려면 .bashrc 파일에 별칭을 추가해야 한다는 것이다. 다음과 같은 명령으로 추가할 수 있다.
echo “alias c=clear” >> .bashrc
주의할 점은 >가 아니라 >>을 사용해야 한다는 것이다. >만 사용하면 파일을 덮어쓰고 >>은 파일을 추가한다.
History : 최근 명령 보기
최근에 실행한 명령을 보려면 히스토리 명령을 사용한다. 가장 최근에 실행한 명령이 마지막에 표시되지만, 목록에는 최근 실행한 명령이 최대 1,000개까지 포함될 수 있다. 얼마나 많은 명령이 표시되는지 확인하려면 다음과 같은 명령을 사용해 설정을 표시할 수 있다.
echo $HISTSIZE
1000
grep : 텍스트 파일에서 특정 단어 또는 문자열 찾기
텍스트 파일에서 특정 단어나 문자열(단어 그룹)을 찾으려면 다음과 같이 .bashrc 파일에서 명령 별칭을 찾는 grep 명령을 사용할 수 있다.
$ grep alias ~/.bashrc
~/는 이 명령을 실행할 때 사용자가 홈 디렉터리에 있지 않더라도 .bashrc 파일을 찾는다는 의미이다. ~는 홈 디렉터리(예: /home/username)를 의미한다.
명령을 실행할 때 확인될 수 있는 모든 디렉터리를 보려면 “echo $PATH” 명령을 사용하면, 가장 먼저 일치하는 명령이 실행된다. 실행될 명령의 위치를 확인하려면 다음과 같은 명령을 사용하면 된다.
$ which date
/usr/bin/date
sort : 텍스트 파일의 내용 정렬하기
텍스트 파일의 내용을 정렬하려면 다음과 같이 sort 명령을 사용한다.
$ sort friends
Alice
Betty
Christopher
Diane
George
Patty
Ricky
Sam
Tim
mkdir : 새 디렉터리 만들기
홈 디렉터리에 새 디렉터리(즉, 하위 디렉터리)를 만들려면 다음과 같이 mkdir 명령을 사용한다.
mkdir reports
새 하위 디렉터리를 만든 후에는 cd 명령으로 해당 디렉터리로 이동할 수 있다.
ps : 실행 중인 프로세스 보기
실행 중인 프로세스를 보려면 인수가 없는 ps 명령을 사용한다. 다음 예에서는 실행 중인 프로세스 두 개는 bash 셸과 ps 명령 자체뿐이다.
$ ps
PID TTY TIME CMD
64681 pts/1 00:00:00 bash
68330 pts/1 00:00:00 ps
시스템에서 실행 중인 모든 프로세스를 보려면 다음 ps 명령 중 하나를 사용한다. 올바른 명령은 사용 중인 리눅스 배포판에 따라 다르다.
$ ps -ef
ps -aux
실행 중인 프로세스를 한 번에 한 화면씩 보려면 한 명령의 출력을 다른 명령으로 보낼 수 있는 특수 명령 옵션인 “pipe”라는 것을 사용할 수 있다. 다음은 이 작업을 수행하는 명령어이다.
$ ps -ef | more
여기서 ps -ef 명령의 출력은 해당 출력을 한 번에 한 화면씩 표시하는 more 명령으로 전송된다.
이제 시작이다. 리눅스 명령줄에 흥미가 생겼기를 바란다.
editor@itworld.co.kr
Sandra Henry Stocker editor@itworld.co.kr
저작권자 한국IDG & ITWorld, 무단 전재 및 재배포 금지
이 기사의 카테고리는 언론사의 분류를 따릅니다.
기사가 속한 카테고리는 언론사가 분류합니다.
언론사는 한 기사를 두 개 이상의 카테고리로 분류할 수 있습니다.
언론사는 한 기사를 두 개 이상의 카테고리로 분류할 수 있습니다.