[Linux] CLI의 명령어

KIM DA MI·2023년 2월 24일
1

Linux/Git

목록 보기
1/1
post-thumbnail

오늘은 Linux에 대한 기초를 다지는 시간을 가졌다.
내 컴퓨터의 운영체제는 Windows이기 때문에 Ubuntu를 설치하여 모든 실습을 진행하였다.

Command-Line Interface


학습 목표

  • 리눅스 터미널을 실행할 수 있다.
  • CLI를 이용한 작업과 GUI를 이용한 작업이 동일함을 이해할 수 있다.
  • 리눅스 터미널에서 기본적인 명령어를 사용할 수 있다.
  • 명령어를 사용할 때, 등장하는 키워드에 대해 이해할 수 있다.

  • 컴퓨터를 조작하기 위해서는 다양한 입력(Input)이 필요하다.
    우리는 화면을 보기 위해 마우스를 사용하고, 메시지를 입력하기 위해 키보드를 사용한다.
    입력을 담당하는 키보드나 마우스를 입력 소스(Input source)라고 한다.
    키보드나 마우스 외에도 카메라나 마이크 등 컴퓨터에 새로운 명령을 전달하는 모든 소스가 입력 소스이다.
  • 반대로, 입력 소스에 의해 또는 작성된 프로그램에 의해 모니터에 화면을 나타내거나, 음악을 재생하면 소리를 스피커로 전달하여 사용자가 인식할 수 있도록 하는 일을 출력(Output)이라고 한다.
    시각적 출력을 담당하는 모니터나 청각적 출력을 담당하는 스피커를 출력 소스(Output source)라고 한다.

  • 컴퓨터를 조작하기 위한 입력과 출력을 간단하게 I/O(Input/Output)라고 표기하며, "아이오"라고 읽는다.

  • 리눅스의 터미널은 키보드의 입력과 모니터의 출력으로 모든 작업을 할 수 있다.

  • 리눅스 터미널GUI가 개발되기 이전부터 컴퓨터를 조작하기 위해 사용되었기 때문에, GUI가 할 수 있는 모든 작업은 CLI로 할 수 있다.

    • GUI(Graphical User Interface) : 그래픽 사용자 인터페이스, 사용자가 편리하게 사용할 수 있도록 입출력 등의 기능을 알기 쉬운 아이콘 따위의 그래픽으로 나타낸 것이다.
    • CLI(Command-Line Interface) : 명령 줄 인터페이스, 가상 터미널 또는 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻한다.
  • CLI를 이용해 서버 컴퓨터로 접속을 요청하면, 서버 컴퓨터는 요청한 컴퓨터의 출력 소스(모니터)를 이용한다.


CLI 명령어



프롬프트(Prompt)


  • 터미널은 CLI(Command-Line Interface)이다.
  • 입력하는 글자와 출력되는 글자로 컴퓨터와 소통할 수 있다.
  • 키보드의 입력을 확인하고 편집할 수 있는 한 줄의 공간을 프롬프트(Prompt)라고 한다.

1. pwd: 현재 위치 확인하기


  • GUI : 현재 폴더가 위치한 경로를 확인하기 위해 탐색기의 상단을 클릭해서 확인한다.
  • CLI : 터미널에서는 간단하게 pwd를 프롬프트에 입력하고, Enter(엔터 키)를 누르면 현재 경로가 나타난다.
    pwd



2. mkdir: 새로운 폴더 생성하기


  • 명령어 mkdir은 make directories의 약자로, 폴더를 만들라는 명령을 컴퓨터에 전달한다.
    mkdir은 생성할 폴더의 이름을 함께 입력해야 한다.
    명령어와 폴더의 이름을 Space(스페이스 키)로 구분한다.
    mkdir helloWorld
    • 프롬프트에 정상적으로 명령어를 입력했다면, 별다른 출력 없이 폴더가 생성된다.
      생성된 폴더를 확인하기 위해서는, 현재 폴더에 포함된 파일이나 폴더의 이름을 출력하는 명령어가 필요하다. 명령어는 아래와 같다.



3. ls: 특정 폴더에 포함된 파일이나 폴더 확인하기


  • 명령어 ls는 list의 약자로, 특정 폴더에 포함된 파일이나 하위 폴더의 리스트를 출력한다.
    ls
  • 명령어 ls에는 자주 사용하는 옵션 la가 있다. CLI에서 특정 명령어의 옵션을 사용하는 경우에는 -를 이용해 옵션을 입력했다고 컴퓨터에 전달한다.
    • ls -l
      • 옵션 l은 폴더나 파일의 포맷을 전부 표현하라는 의미이다.
      • 이 옵션을 사용하면 가장 왼쪽에 출력되는 d-를 확인할 수 있다.
        drwxr-xr-x
        -rw-r--r--
        • 여기서 d로 출력된 경우는 폴더를, -로 출력된 경우는 파일을 나타낸다.
        • 폴더는 다음 명령어 cd를 통해 진입할 수 있지만, 파일이라면 진입할 수 없다.
    • ls -a
      • 옵션 a는 "all"이라는 의미이다.
        숨어있는 폴더나 파일을 포함한 모든 항목을 터미널에 출력한다.
    • ls -al 또는 ls -la
      (옵션을 뜻하는 대쉬(dash, -) 뒤에 오는 옵션의 순서는 기능에 영향을 미치지 않는다.)



4. 명령어를 이용해 폴더를 GUI의 탐색기로 실행하기


  • 컴퓨터를 켜고, 모니터에 GUI가 나타나면 가장 먼저 만나는 화면은 바탕화면이다.
    이 바탕화면도 하나의 폴더이다.
  • 아래의 명령어를 입력하면 터미널의 현재 위치를 GUI의 탐색기(파인더)로 열 수 있다.
    nautilus .



5. cd: 폴더에 진입하기


  • 명령어 mkdir을 통해 생성한 폴더 "helloWorld"에 진입하기 위해 GUI에서는 마우스를 사용한다.
    폴더 위에 마우스를 올려놓고 더블클릭하거나, 클릭을 한 번만 하고 Enter(엔터 키)를 눌러 폴더에 진입할 수 있다.
  • 명령어 cd는 change directory의 약자로, 프롬프트로 상호작용하는 폴더를 다른 폴더로 변경한다는 의미이다.
  • 이번에는 명령어 pwd를 사용해 현재 위치를 확인하고, 명령어 ls를 이용해 helloWorld 폴더를 확인해보자.
    그다음, 명령어 cd를 이용해 helloWorld 폴더로 진입한 뒤, 명령어 pwd를 이용해 현재 위치를 확인하자.
    pwd    # 현재 위치를 확인
    ls	    # 현재 위치의 모든 폴더와 파일을 확인
    cd	    # 폴더 helloworld로 진입
    pwd	    # 현재 위치를 확인



6. touch: 파일 생성하기


  • 컴퓨터나 스마트폰 등 전자기기에서 문서의 형태로 작성된 모든 것을 파일이라고 한다.
  • 파일을 만들기 위해서는 touch라는 명령어를 사용한다.
    touch hi.txt



7. cat: 파일의 내용을 터미널에 출력하기


  • 명령어 cat은 파일의 내용을 터미널에 출력하는 명령어이다.
  • 파일의 내용을 확인하기 위해 먼저 비어있는 "hi.txt" 파일에 내용을 추가하자.
    텍스트 편집기에 키보드를 이용해 메일 주소를 입력한 후 저장했다.
  • 이제 텍스트 편집기로 작성한 이메일을 CLI에서 확인해보자.
  • 명령어 cat으로 GUI를 이용해 작성한 내용을 확인한다.
    cat hi.txt



8. rm: 폴더나 파일 삭제하기


  • 명령어 rm은 remove의 약자로, 폴더나 파일을 삭제할 때 사용한다.
    변경 사항을 확인하기 위해서는, 명령어 ls를 자주 입력하면 도움이 된다.
  • 실습을 위해 사용할 폴더와 파일을 몇 개 추가하였다.
    mkdir hello
    cd hello # 폴더 hello로 진입합니다.
    pwd # 현재 위치를 확인합니다.
    mkdir bye
    touch bye.txt
    ls # 폴더와 파일을 출력합니다.



  • 이제 명령어 rm으로 파일을 삭제해보자.
    rm bye.txt
    ls
    • bye.txt 파일이 삭제되었다.


  • 남아있는 폴더 "bye"도 삭제해보자.
    rm bye
    ls
    • rm: cannot remove 'bye': Is a directory 라는 오류가 뜨면서 삭제가 되지 않았다.
      명령어 rm단일 파일을 삭제할 수 있지만 폴더를 삭제하려면 옵션 -rf을 이용해야 한다.
      rm -rf bye
      ls            # 이제 아무것도 출력되지 않는다.
      • 옵션 r은 "recursive"를 뜻하고, 폴더를 지울 때 사용한다.
      • 옵션 f는 "force"를 뜻하고, 질문을 받지 않고 지울 때 사용한다.



9. mv: 폴더나 파일의 위치 옮기기, 또는 폴더나 파일의 이름을 변경


  • 명령어 mv는 move의 약자로, 폴더나 파일을 이동할 때 사용한다.
  • 실습을 위해 명령어 rm으로 삭제한 폴더 "bye"와 파일 "bye.txt"를 다시 생성했다.
    mkdir bye # bye 폴더를 생성한다.
    touch bye.txt # bye.txt 파일을 생성한다.
  • 명령어 mv를 통해 파일 "bye.txt"를 폴더 "bye"로 옮긴다.
    mv bye.txt bye/
    ls
    • 명령어 mv 뒤에는 순서대로 폴더나 파일의 이름 도착 폴더의 이름를 입력한다.
    • 파일 "bye.txt"가 사라진 것을 볼 수 있다.
      폴더 "bye"로 이동하여, 파일 "bye.txt"가 잘 옮겨졌는지 확인한다.
      cd bye
      ls
      • 폴더가 잘 이동되었음을 확인할 수 있다.



  • 또 명령어 mv를 이용하면, 폴더나 파일의 이름을 변경할 수도 있다.
    ls # 현재 폴더에 있는 폴더나 파일을 출력한다.
    # bye.txt 파일이 출력된다.
    mv bye.txt helloWorld.txt
    ls
    • 명령어 mv 뒤에는 순서대로 변경할 폴더나 파일의 이름 변경하고자 하는 파일의 이름를 입력한다.
      • bye.txt 파일의 이름이 helloWorld.txt로 변경되었다.



10. cp: 폴더나 파일을 복사하기


  • 명령어 cp는 copy의 약자로, 폴더파일을 복사할 때 사용한다.
    ls
    # helloWorld.txt 가 출력된다.
    cp helloWorld.txt hiComputer.txt
    ls
    # helloWorld.txt hiComputer.txt 가 출력된다.
    • 명령어 cp 뒤에는 순서대로 원본 파일 이름 복사할 파일 이름를 입력한다.
      • helloWorld.txt 파일의 내용을 복사하여, hiComputer.txt 파일을 생성한 뒤 복사한 내용을 붙여 넣는다.

  • 이번에는 폴더를 복사해보자.
    먼저 폴더를 복사하기 위해 명령어 cd를 이용해 상위 폴더 "hello"로 이동한다.
    cd ..
    ls
    # bye가 출력됩니다.
    pwd
    # /home/[username]/helloWorld/hello
    • CLI에서 .은 현재 폴더를 나타낸다.
    • ..은 현재 폴더(.)을 기준으로, 앞에 .이 하나 더 붙는다.
      이렇게 만들어진 ..은 현재 폴더보다 앞에 있는 폴더를 가리킨다.

  • 이제 폴더 "bye"를 복사해 새로운 폴더 "hi"를 만든다.
    폴더를 복사를 위해 명령어 cp를 그냥 사용하면, 명령어 rm으로 폴더를 삭제할 때처럼
    오류 메시지가 출력되기 때문에 명령어 cp에 옵션은, -rf 옵션을 적용한다.

  • 각 명령어에 포함된 옵션은 명령어 이름만 입력하거나 -h 또는 --help와 같은 옵션을 통해 확인할 수 있다.

0개의 댓글