DevLog__[Linux: CLI 명령어]

Jaewon Lee·2020년 9월 15일
0

Linux

목록 보기
1/1
post-thumbnail

# Intro

오늘 포스팅할게 많다. 잡담은 각설하고 바로 들어가자....😱

# Command Line Interface

Command Line Interface!!! 줄여서 CLI이다. 우리가 평소에 사용하는 컴퓨터의 작업 환경은 Graphic User Interface!! 이것이 많이 들어 본 GUI이다. 영화에서 해커들이 컴퓨터로 작업하는 것을 한 번쯤은 보았을 것이다. 컴퓨터에 알 수 없는 명령어가 계속 올라가는데, 그것이 이제 부터 알아가야할 CLI이다....ㅎ 개발자는 CLI에 익숙해져야 한다는데, 지금부터 알아가보자!

라쓰기릿🔥


1. CLI는 왜 쓰지?


Command Line Inteface를 왜 쓸까? 생전 본 적 없는 터미널 창보다 평소에 마우스로 클릭하면서 웹사이트 구경하고 폴더를 여는 것이 익숙한데, 무엇이 좋길래 Command Line Interface를 쓰는건지 3가지로 정리해 보았다!

1. 빠르고, 강력하고, 접근성이 좋다.
-> 명령어 몇 줄로 여러 작업을 처리하는 것이 효과적이다.
2. 실제 서버 시장에서 Linux와 Unix의 점유율이 상당히 높다.
-> ex. Amazon
3. 때문에 서버를 다루는 연습을 하겠다고 한다면 CLI를 연습해야한다.


2. 명령어


CLI를 쓰는 이유를 살펴 보았으니 명령어에 익숙해져야 한다.

다음과 같은 명령어들을 입력하면서 연습해 보면 금방 익숙해질 것이다!

1. ls : 폴더내의 파일 리스트 보기

  • ls -al의 상세 내용

    (1)drwxr-xr-x (2)4 (3)hongin (4)staff (5)128 (6)9 6 (7)21:44 (8).vscode


    (1) : 접근 권한 (읽기/쓰기/실행 가능) 여부 ( chmod 명령어로 확인가능)
    (2) : 링크된 파일 갯수
    (3) : 소유자
    (4) : 소유그룹
    (5) : 파일 크기
    (6) : 만든 날짜
    (7) : 만든 시간
    (8) : 파일/디렉토리 이름
  • 접근 권한

    (1)drwxr-xr-x

    • 1 필드(d) : 타입
      • '-' 인 경우 : 파일
      • 'd' 인 경우 : 디렉토리
      • '|' 인 경우 : 다른 파일을 가리키는 링크
      • 'p' 인 경우 : pipe. 두 개의 프로그램을 연결하는 파이프 파일.
      • 'b' 인 경우 : block device. 블럭 단위로 하드웨어와 반응하는 파일
      • 'c' 인 경우 : character device. 스트림 단위로 하드웨어와 반응하는 파일
    • 2~4 필드(rwx) : 소유주 (USER) 권한
    • 5~7 필드(r-x) : 그룹 (Group) 권한
    • 8~10 필드(r-x) : 나머지 (Others) 권한

    • 'r' : 읽기권한(read)
    • 'w' : 쓰기권한(write)
    • 'x' : 실행권한(eXecute)
    • '-' : 권한 없음 설정

2. cd : 디렉토리 이동

  • cd ~ : 홈 디렉토리로 이동
  • cd / : 루트 디렉토리로 이동
  • cd . : 현재 디렉토리
  • cd .. : 부모 디렉토리로 이동

3. pwd : 현재 디렉토리 경로 확인

4. Tab 키 : 명령어 자동완성

5. touch [file_name] : file_name의 이름을 가진 빈 파일 생성

6. mkdir [dir_name] : dir_name의 이름을 가진 디렉토리 생성

7. cat [file_name] : .txt 형태의 파일 확인

8. mv [file or dir][target_dir] : target_dir로 file or dir 이동

9. mv [file or dir][new name] : file or dir의 이름을 new name으로 변경

10. cp [file][target_dir] : target_dir로 file 복사

11. rm [file name] / rm -r [dir_name] : 파일 / 디렉토리 삭제

  • 삭제할 때 물어보지 않으므로 조심!

12. sudo : 관리자 권한으로 실행

13. CLI상에서 공백은 역슬래쉬()로 표현한다.


3. 파일 소유권 변경


  • chown owner:group. [file_name] : 예를 들어, sudo로 생성한 파일처럼 관리자 권한이 없으면 작업이 불가능한 파일이 있다. chown은 이러한 상황에서 소유권을 변경 시켜 작업을 가능하게 하는 명령어이다.

4. 간편히 GUI 프로그램을 실행하는 명령어


  • 현재 폴더를 vs code 에디터로 열기 : code .

  • 현재 폴더를 macOS Finder에서 보기 : open .


5. 자주 사용하게 될 CLI 프로그램


  • 버전 관리 시스템 Git
  • Package Manager (프로그램 추가 / 삭제) : Homebrew
  • 텍스트 에디터 : vim
  • 클라우드 서비스 관리 : AWS CLI

# Work Off


영상처리나 머신러닝을 할때처럼 대머리가 될 것 같은 느낌은 아직 없다! 오늘 배운 CLI의 명령어들은 엄청나게 어렵진 않지만, 익숙해지는데에 많은 시간을 투자해야 할 것 같다. 현업에서 window보다 linux상에서 개발하는 환경이 많다고 하니 자유자재로 사용할 수 있을 만큼 노력을 해야겠다! 이제 다음 포스팅하러 ㄱㄱ!!

기본기가 탄탄한 풀스택 개발자가 되는 그날까지 🔥🔥🔥

profile
Communication : any

0개의 댓글