ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 맥 터미널 명령어 입문1: 파일, 디렉토리 명령어
    개발입문/개발환경 세팅 2016. 12. 11. 16:08

    어렸을 때 도스에서 cd 명령어로 열심히 게임 페르시아의 왕자 를 찾았던 게 기억난다. 검은 화면에 흰 글자 하나하나 쳐가며 비트로 된 흥미진진한 게임을 찾아내면 얼마나 뿌듯했던지. 역시 필요가 공부의 어머니다. CUI Command Line Interface 라는 개념을 몰라도 게임을 잘만 찾아냈었다. 




    CUI 는 바로 검은 화면에 흰글자를 쳐서 프로그램을 실행시키는 인터페이스 방식이다: CUI Command Line Interface

    프롬프트 창 prompt 는 명령어에 대한 결과를 신속하고 정확하게 내어준다


    Web PromptWeb Prmopt   Terminal Prompt

         


    이 글에서는 terminal Prompt 에게 전달하는 명령어 중 가장 기본적인 것들에 대해서 정리해보았다.

    명령어는 다음과 같이 옵션명, 경로명을 통해 더 구체적으로 명령할 수 있다. 


    $ 명령어 + [옵션명] + [경로명]


    - 명령어: 프롬프트에 전달하는 명령어, 명령어에 따라 옵션명의 작동방식이 달라진다.

    - 옵션명: 명령어를 실행할 때 추가적으로 요구하는 옵션이다.

    - 경로명: 절대경로, 상대경로로 표시할 수 있다. 없을 경우는 default 현재 경로이다.



    그렇다면 이제 파일, 디렉토리 관련 명령어를 살펴보자. 현재 경로를 확인하고 경로를 이동하거나 파일/디렉토리를 조회, 생성, 삭제하는 명령어가 있다.


    $pwd

    Print Working Directory

    현재 자신이 어느 디렉토리에 위치하는 지 출력한다.


    // 현재 디렉토리 표시

    $pwd


    $cd + [경로명]

    Change Directory

    디렉토리(경로)를 변경한다. 경로를 표현하는 방식은 절대경로와 상대경로가 있다.

    많이 이동하는 디렉토리에 대해서 정리한다.


    /최상위 (루트) 디렉토리로 이동

    $cd /


    /사용자의 홈 디렉토리로 이동

    $cd ~


    /사용자의 Desktop(바탕화면) 디렉토리로 이동

    $cd ~/Desktop



    $ls + [옵션명] + [경로명]

    List Segement

    경로의 구성요소(파일, 디렉토리)를 나열한다.

    파일, 디렉토리에 대한 자세한 정보 (사용권한, 소유자, 그룹, 크기, 날짜 등) 을 읽는 방법은 다음 포스트에서 확인할 수 있다.


    /현재 경로 하위 파일/디렉토리 나열

    $ls


    /현재 경로 하위 파일/디렉토리 자세한 정보(사용권한, 소유자, 그룹, 크기, 날짜 등) 와 함께 나열 

    $ls -l 


    /명시한 경로의 하위 파일/디렉토리 나열

    $ls -l /test/exampleDir



    $cp [원본파일] [대상파일] / $mv [원본파일] [대상파일]

    CoPy / Move

    원본파일을 대상파일로 복사한다 / 이동한다

    파일을 가리킬 때에는 파일경로+이름으로 명시한다. (바이너리는 알 수 없으므로)

    cp, mv는 기본적으로 파일을 다루는 명령어이며, 디렉토리를 처리할 때는 -r 옵션을 붙여준다. 


    // /test 디렉토리의 ExampleFile 파일을 /newTest 디렉토리로 복사/이동

    $cp /test/exampleFile /newTest/exampleFile

    $mv /test/exmpleFile /newTest/exmapleFile


    // /test 디렉토리의 ExampleDir 디렉토리 및 하위파일을 /newTest 디렉토리의 ExampleDir로 복사/이동

    $cp -r /test/exampleFile /newTest/exampleDir

    $mv -r ./test/exampleDir ./newTest/exampleDir


    $touch / $mkdir

    Touch / MaKe DIRectory

    파일을 / 디렉토리를 생성한다.


    // /test 디렉토리에 exmpleFile 이름의 빈 파일 생성

    $touch /test/exampleFile


    // /test 디렉토리에 exampleDir 이름의 빈 디렉토리 생성

    $mkdir /test/exampleDir


    $rm / rmdir

    ReMove / ReMoveDIRectory

    파일을 / 디렉토리를 삭제한다.


    // /test 디렉토리의 exampleFile을 삭제

    $rm /test/exampleFile


    // /test 디렉토리의 exampleDir 디렉토리를 삭제

    $rm -rf /test/exampleDir

    $rmdir /test/exampleDir



    기타 TIP 

    <Tab> 키를 클릭하면 현재 경로에 포함된 파일, 디렉토리의 이름을 자동완성시킬 수 있다.

    특수기호를 통해 여러 규칙등을 제시할 수 있다. * (asterisk), ?(question mark), \(back slash) 


    // 현재 경로의 test로 시작하는 파일명을 가진 모든파일을 ./subdir 디렉토리로 복사

    $cp test* ./subdir


    // 현재 경로의 test + 한글자 파일명을 가지는 모든파일을 ./subdir 디렉토리로 복사 

    $cp test? ./subdir


    // 현재 경로의 test 2016 (공백 있음) 파일명을 가지는 파일을 ./subdir 디렉토리로 복사

    $cp test\ 2016 ./subdir



    위 명령어에 대한 더 많은 옵션을 확인하려면:  CHATTERBOX [Tip] 리눅스 터미널 명령어 모음

    터미널 명령어에 대해 영어여도 좋으니 체계적인 설명이 필요하다면: A CommandLine Premier for Beginner

    댓글

Designed by Tistory.