본문 바로가기

OS/Linux

#03. Linux의 기초명령어

이번소개에서는 기초 명령어들의 대해서 소개 해드리겠습니다.

하나하나씩 명령어들과 사용 예제들을 보여드리며 설명드릴께요~



1. pwd    :현재 경로 표시



pwd명령어를 처보니 /root라고 나오네요. 현재 root로 로그인후 바로 pwd를 첬기때문에 root의 홈 디렉토리인 /root에 위치해 있는겁니다.



2.cd [인자값]    :원하는 디렉토리로 이동

  >directory명(경로)

  >. (현재 디렉토리)

  >.. (상위디렉토리)

  >~ (로그인된 사용자 홈디렉토리)

  >~계정명 (지정된 사용자 홈디렉토리)



cd를 이용해 모든 인자값을 처봤습니다. 이동후 pwd를 이용해 현재 위치해있는 경로까지 표시했으니 위에 그림을 보고 충분히 이해하실수있을겁니다^^



3.ls [옵션] [경로]    :디렉토리가 포함한 목록보기

       > -a 모든 파일/디렉토리 보기

 > -l  자세한 정보로 보기

 > -d 목록을 보려는 디렉토리 정보 보기

 > -R 하위 경로의 디렉토리 목록도 출력



경로에 아무 입력이 없을경우, 현재 위치해있는 경로의 디렉토리가 포함한 목록들을 보여줍니다. 그냥 ls를 처보았는데요. 이렇게 4개의 파일또는 디렉토리가 출력이되네요.



ls -al을 처보았습니다. -al뜻은 옵션 a와 l을 한번에 적용 시킨겁니다. 모든 숨겨진 파일/디렉토리를 포함해서 자세히 출력되는걸 볼수있네요. 비록 제가 보여드린건 -al뿐이지만 연습하실때 여러가지 옵션을 섞어 다양한 옵션을 시도해보시는게 공부에 많은 도움이 되실겁니다!



4.cp [옵션] [원본경로] [복사될경로]    :파일/디렉토리 복사

 > -f 강제로 사용자에게 질문하지 않고 바로 복사

 > -r 디렉토리를 복사할경우 하위 파일/디렉토리 모두 복사

 > -p 소유주, 그룹, 권한, 시간정보를 보존한채 복사



/practice라는 디렉토리 안에 file1을 /practice/directory1이라는 디렉토리 안으로 복사를 하는 명령어를 처보았습니다. 복사후 ls를 통해 file1이 복사가 됬는지 확인도 하구요. 잘 복사되었네요. 



하지만 /practice/directory1 이라는 디렉토리를 /practice/directory3 라는 디렉토리 안으로 복사를 하려하자 에러가 뜨는군요. 이유는 directory1안에 파일이다 디렉토리가 존재 해서 그렇습니다. 이럴경우엔 옵션 -r을 같이 사용해서 복사를 해야합니다.



이번엔 아무런 에러 없이 잘 복사가 되었네요. 꼭 기억해주세요 디렉토리 복사할땐 옵션 -r이 꼭 필요하단걸!



5.mv [옵션] [원본경로] [옮길경로]    :파일/디렉토리 이동

 > -b 옮길경로에 같은 파일/디렉토리가 존재할경우 백업파일로 변환하여 옮김

 > -f  사용자에게 질문하지 않고 강제로 이동



/practice/file1 을 /practice/directory2 디렉토리 안으로 옮긴 모습입니다. mv할때는 대부분 옵션을 마니 쓰지 않아요. 그냥 옮기면 되거든요. 그래도 저 위에 옵션들이 필요할땐 옵션을 잘 활용해줍시다!



6.mkdir [옵션] [디렉토리이름(경로)]    :디렉토리 생성

      > -p 필요할경우 상위 경로까지 동시 생성



/practice 디렉토리안에 처음엔 temp라는 파일이 존재하지않았죠. 그렇기때문에 디렉토리를 만들때 /practice/temp/directory3 을 만들수가 없었던겁니다. 하지만 옵션 -p를 사용 했더니 /practice/temp 디렉토리와 /practice/temp/directory3디렉토리가 한번에 만들어졌네요.



7.touch [파일이름(경로)]    :빈파일 생성

 >-t [time] [파일이름(경로)] 파일의 수정시간 변경

>[time]: 년 월 일 시 분 . 초

 >-r [경로1] [경로2] 경로1의 파일 시간 정보를 경로2의 파일 시간정보에 덮어            씌움



/practice디렉토리 안에 makeFile이라는 빈파일을 만들었습니다. 만들고난후 수정시간을 보니 9월 8일 4시 4분으로 되어있네요. 수정시간을 바꿔 봤습니다. 

시간포멧이 약간 헷갈리는데요, 1003091231.03은 2자리씩 끊어 보시면됩니다.

10 = 2010년, 03 = 3월, 09 = 9일, 12 = 12시, 31 = 31분, 03 = 3초라는 뜻으로 수정시간을 이렇게 바꿔버립니다. 바꾸고난후 수정시간을 살펴보니 바껴있네요~



8.rm [옵션] [파일/디렉토리이름 경로]    :파일/디렉토리 삭제

 > -f 사용자에게 질문하지 않고 강제 삭제

 > -r 디렉토리일경우 하위경로 같이 삭제



/practice/directory1 디렉토리를 지우는 모습입니다. 하지만 directory1디렉토리 안에는 파일들이 들어있기때문에 -r옵션을 같이 사용해야합니다. -f는 rm명령을 사용할땐 항상 붙여주는것이 좋습니다. 윈도우즈에서도 무언가를 삭제할때 항상 확인 메세지가 뜨지요 리눅스에서도 마찬가지입니다. 이런 번거로움을 줄이기위해선 rm명령어엔 -f를 항상 붙여주는것이 좋습니다.



9.alias    :지정 명령어 확인

> alias 지정명령어='명령어'  지정명령어 등록

> unalias 지정명령어           지정명령어 삭제 



alias를 처보면 기본적으로 지정된 몇가지 명령어들이있습니다. 제가 한번 movenpick이라는 지정 명령어를 만들어봤는데요, movenpick이라고 치면 ls -l /practice의 명령을 수행 해서 /practice의 디렉토리가 포함한 목록을 자세히 보여줍니다. 그후 지정 명령어 movenpick을 삭제 해보도 다시 movenpick을 쳤더니 찾을수없는 명령어라고 뜨네요.



10.cat [파일경로]    :파일내용 출력

> -n 출력된 내용에 행번호 표시



/etc/passwd라는 파일의 내용을 cat을 통해 출력해봤습니다. 출력 할때 옵션 -n을 붙였더니 행번호도 같이 표시가되어 출력이 되었네요.



11.more [파일경로]    :내용출력을 화면다나위로 끊어서 출력



cat과 아주 유사하지만 내용이 많을경우 한페이지의 단위로 끊어서 내용들을 보여줍니다. 다음페이지를 볼땐 space바를 눌러 다음페이지로 넘어갈수있습니다. 출력을 끝내고싶다면, ctrl  +c 로 빠져나오시면됩니다.



12.head -N [파일경로]    :내용 처음 N줄갯수만큼만 출력


head를 이용해 출력을 해보았더니 -3 쓴것처럼 처음 3줄만 출력이되는걸 볼수있습니다.



13.tail -N [파일경로]    :내용 마지막 N줄갯수만큼만 출력



마지막 3줄만 출력이 되는걸 볼수있습니다.



14.find [경로] [옵션] "파일/디렉토리명" -type f/d   :파일/디렉토리 [옵션]으로 찾기


디렉토리이름이 directory2인것과 파일이름이 file2인 것을 찾아보았습니다.

둘다 /practice디렉토리 안에 있다고 알려주네요.

찾으실땐 시간이 좀 걸려 쉘이 안뜨고 멈칫 할수도있지만 기다리시면 곧 뜰겁니다.



15.diff [파일경로1] [파일경로2]    :두개의 파일내용을 비교(최대 3개까지 가능)

>파일 내용이 같을시 아무것도 출력하지 않습니다.



/etc/passwd라는 파일을 /practice라는 디렉토리에 파일이름 1과 2로 해서 두개를 복사했습니다. 그후 1과 2를 비교해보니 아무것도 뜨질않네요. 두개의 파일 내용이 같다는거죠.



16.fore&back ground

>모든 명령어는 foreground로 실행(작업이 끝날때까지 다른 명령어 수행 불가)

>명령어 맨뒤에 &를 붙일경우 background로 실행(작업이 끝나지 않더라도 명령수행 가능)

>jobs -l 로 background작업목록 확인 가능



이런식으로 뭔가 예약작업 또는 작업수행이 오래걸리는것들이 foreground로 실행될경우 프롬트(shell)가 뜨지 않아 다른 명령어 수행을 할수가 없습니다. 하지만



이렇게 background로 실행했을시 프롬트(shell)가 떠있어 다른 명령어 수행이 가능하죠.



이런식으로 background로 실행되는게 있따면 그 목록들을 살펴볼수가있습니다.

jobs -l을 치면 background로 돌아가고있는 프로세스들이 모두 뜹니다 프로세스아이다와 같이요. background목록중 중단하고싶은 프로세스가 있다면 kill [프로세스ID]로 중단할수가 있습니다.



17.shutdown [옵션] [시간] "사용자에게 전할 메세지"    :시스템을 종료/재시작

 >메세지는 작성할 필요없음, 필요시 작성

 [옵션]

 > -h 시스템 종료

 > -r  시스템 재시작

 > -c 예약작업 취소

 [시간]

 > now 바로수행

 > +M M분후 실행

 > HH:MM HH시MM분에 실행



10분후에 halting이라는 메세지가 보이며 시스템 종료하라는 명령어입니다.

만약 프롬트가 안뜬 이상태에서 예약을 취소하고싶다면 ctrl + c를 살포시 눌러주세요.



여기까지 리눅스의 기초적인 명령어들을 소개 시켜드렸습니다. 하나하나 해보시며 다양한 방법으로 명령어들을 시도해보세요. 그럼 읽어주셔서 감사합니다 ^^


'OS > Linux' 카테고리의 다른 글

#05. shell, 변수  (0) 2012.09.10
#04. Vim Editor  (0) 2012.09.09
#02. CentOS에 VMwareTool 설치  (0) 2012.09.07
#01. VMware 가상머신에 CentOS5.8 설치  (4) 2012.09.07
#00. VMware에 CentOS5.8을 위한 가상머신 만들기  (0) 2012.09.07