기타

[Linux] 기초 명령어

반응형

프롬프트(Prompt)

터미널은 CLI(Command-Line Interface)입니다. 입력하는 글자와 출력되는 글자로 컴퓨터와 소통할 수 있습니다. 컴퓨터가 출력하는 글자를 읽을 수 있어야 합니다.

CLI(Command-Line Interface)는 명령어를 입력해 컴퓨터를 조작하는 방식을 말합니다. CLI와 같은 기능을 담당하지만, 대부분의 PC에서는 GUI(Graphical User Interface)를 적용하고 있습니다. GUI는 윈도우즈나 macOS, 또는 Linux에서 사용자가 화면을 통해 컴퓨터와 소통하는 방식을 말합니다.

GUI가 익숙하기 때문에, CLI로 컴퓨터와 소통하는 일이 어렵지만,CLI의 무한한 능력과 파워에 익숙해 진다고 합니다.

 

 

CLI 기본 명령어

  • pwd(print working directory) : 현재 위치를 확인하는 명령어

  • mkdir(make directories) : 새로운 폴더를 생성하는 명령어

  • ls(list) : 폴더나 파일의 목록을 출력하는 명령어
    명령어 ls에는 자주 사용하는 옵션 l과 a가 있습니다. CLI에서 특정 명령어의 옵션을 사용하는 경우에는 -를 이용해 옵션을 입력했다고 컴퓨터에 전달합니다.
    ls -a
    ls -l
    ls -al 또는 ls -la
    명령어 a는 "all"이라는 의미입니다. 숨어있는 폴더나 파일을 포함한 모든 항목을 터미널에 출력합니다.
    옵션 l은 폴더나 파일의 포맷을 전부 표현하라는 의미입니다.

  • open : 현재 폴더를 파일 탐색기로 여는 명령어
    open .  (GUI으로 현재 위치 출력)

  • cd(change directory) : 폴더에 진입하는 명령어

  • touch : 새로운 파일을 생성하는 명령어

  • cat: 파일의 내용을 터미널에 출력하는 명령어 
    cat t1.txt t2.txt t3.txt 출력시 모두 출력됨.

  • rm(remove) : 폴더나 파일을 그 즉시 삭제하는 명령어
    rm -rf (폴더명)  옵션 r은 "recursive"를 뜻하고, 옵션 f는 "force"를 뜻합니다. 옵션 r은 폴더를 지울 때 사용하고, 옵션 f는 질문을 받지 않고 지울 때 사용합니다.

  • mv(move) : 폴더나 파일의 위치를 이동하거나, 이름을 변경하는 명령어
    mv bye.txt bye/                         (bye 텍스트파일을   bye폴더로 이동)
    mv bye.txt helloWorld.txt         (bye 텍스트파일을   helloWorld로 변경)

  • cp(copy) : 폴더나 파일을 복사하는 명령어
    cp helloWorld.txt hiComputer.txt  (cp [원본 파일 이름] [복사할 파일 이름])
    cp -rf bye hi    (cp -rf [원본 폴더 이름] [복사할 폴더 이름])
  • sudo : 관리자 권한을 일시적 부여 
    리눅스 계정을 생성할 때 입력한 사용자의 비밀번호를 사용하고, 비밀번호가 화면에 출력되지 않지만, 터미널에 정상적으로 입력되고 있습니다. 비밀번호를 입력하고 Enter(엔터 키)를 눌렀다면, 정상적으로 부여된 권한이 동작합니다.

명령어를 사용할 때, 등장하는 키워드

  • /: 루트 디렉토리
  • ~: 홈 디렉토리
  • 'r'은 read의 약자로 읽기 권한 - 파일 및 폴더안에 있는 데이터 속성, 서브 폴더 등에 접근 가능
  • 'w'는 write의 약자로 쓰기 권한 - 파일 및 폴더의 속성과 데이터를 변경 가능
  • 'x'는 execute의 약자로 실행 권한
  • '-'는 권한 없음을 나타냄

절대 경로와 상대 경로의 차이

절대 경로는 기준점으로부터의 절대적인 위치를 나타내는데, 이 기준점을 루트폴더(/)라고 합니다. 특정 폴더나 파일이 루트폴더로부터 어떤 폴더로 진입하는 경우 만날 수 있는지 나타냅니다.
상대 경로는 특정 폴더 또는 파일의 위치를 현재 위치를 기준점으로 나타냅니다. 현재 위치한 폴더는 점(.)으로 표현하고, 상위 폴더는 두 개의 점(..)으로 표현합니다. 현재 경로(/Users/[username]/helloWorld/hello/)에 포함된 폴더나 파일을 확인하기 위해, 명령어 ls를 사용할 수 있습니다. 그리고 명령어 ls를 통해 확인되는 폴더나 파일은, 상대 경로로써 ./을 붙여 표현할 수 있습니다. 만약 현재 폴더 아래의 폴더 hi로 진입하려고 한다면, 명령어 cd를 이용할 수 있습니다. 점(.)은 현재 폴더를, 슬래시(/)는 폴더 내부를 나타냅니다. 따라서 다음 표현에 포함된 ./는 "현재 폴더 아래의"라는 뜻입니다.

./hi는 현재 폴더 아래의 폴더 hi를 나타냅니다. 명령어 cd와 함께 사용한다면, 현재 폴더 아래의 폴더 hi로 진입하라는 뜻입니다.

  • 절대 경로의 시작이 루트 디렉토리(/)인 것
  • 상대 경로의 시작이 현재 디렉토리(.)인 것
  • 상위 폴더는 ( ../ )
  • 하위 폴더는 ( ./ )
  • 사용자 폴더의 경로 ( ~/ )

 

nano 실행

GUI 에디터인 VS Code를 역시 아래와 같이 CLI에서 실행할 수 있습니다.

nano도 비슷한 명령을 내릴 수 있습니다. 그냥 파일을 열지 않고, 빈 화면을 열어 새 파일을 만들 수도 있습니다. 터미널을 열어, nano를 실행합니다. 터미널에서 열고자 하는 파일의 폴더 경로까지 이동해야 열립니다.

nano hello.js # hello.js 를 nano에서 엽니다.

nano # 그냥 실행할 수도 있습니다.

 

파일 내용을 편집하고 난 후, 아래와 같이 ^X Ctrl + X를 누르면 아래의 단축키 안내에 따라 키보드의 Y 와 N를 눌러서 저장 여부를 결정할 수 있습니다.

종료하지 않고, 파일을 저장할 수도 있습니다. 단축키 모음에 Save가 안보이지만, ^O WriteOut을 이용하면 됩니다.

반응형

'기타' 카테고리의 다른 글

[Linux] 심화  (0) 2021.07.19