Git 시리즈 (1)

2 분 소요

개요

  • 터미널 창에서 git을 사용하기 위해 쓰는 명령은 리눅스 명령과 같다.
  • 또한 리눅스에서 권한변경, 서버설정 등 많은 작업을 처리해왔고 앞으로도 해야하므로 이번 포스트에서 자주 쓰는 명령어를 정리하도록 할 예정이다.
  • 아래 내용에서 $는 일반 사용자, #는 root 사용자를 뜻한다.

디렉터리

  • 현재 위치 경로 조회하기
      $ pwd
    
  • 현재 디렉터리에 어떤 파일이나 디렉터리가 있는지 확인
      $ ls
    
    • -a 옵션 : 숨긴 파일과 디렉터리도 함께 표시
    • -l 옵션 : 파일이나 디렉터리의 권한 등 상세정보를 함께 표시
    • -r 옵션 : 파일의 정렬순서를 거꾸로 표시
    • -t 옵션 : 파일 작성 시간 순으로 표시 (내림차순)
  • 디렉터리 이동하기
    • 현재 위치에서 바로 상위 디렉터리로 이동할 때
        $ cd ..
      
    • 특정 위치의 디렉터리로 이동할 때
        $ cd /C:/Users/GreatLaboratory
      
    • 홈 디렉터리로 이동할 때
        $ cd ~
      
    • 현재 있는 위치의 하위 디렉토리로 이동할 때
        $ cd GreatLaboratory
      
  • 디렉터리 표현
    • ~ : 현재 접속 중인 사용자의 홈 디렉터리를 가리킨다.
    • ./ : 현재 사용자가 작업 중인 디렉터리를 가리킨다.
    • ../ : 현재 디렉터리의 상위 디렉터리를 가리킨다.
  • 디렉터리 만들기
      $ mkdir [디렉터리 이름]
    
  • 디렉터리 삭제하기 (하위 디렉터리와 파일 전부 삭제)
      $ rm -r [디렉터리 이름]
    

문서 편집

  • 문서를 수정하거나 새로 생성하기 (vim 편집기 이용)
      $ vi [파일명]
    
  • vim 편집기는 기본적으로 저장과 종료가 가능한 ex모드와 입력, 수정이 가능한 입력모드가 있다.
  • 위 명령어를 이용하면 기본적으로 ex모드가 적용된다.
  • ex모드에서 입력모드로 전환하려면 i키를 누르고 반대는 Esc키를 누른다.
  • 수정 또는 생성한 문서를 편집 후 저장하고 종료하기
      :wq
    
    • :w -> 편집 중이던 문서를 저장
    • :q -> 편집기를 종료
  • 더 많은 vim 명령어는 링크 참조
  • 문서 내용 확인하기
      $ cat [파일명]
    

권한 & 소유권 처리

  • 파일 또는 디렉터리 확인하기
      $ ls -al
      -rwxr-xr-x 1 ec2-user ec2-user   52 Jul  2 21:10 test.c
    
    • 출력 결과는 각각 파일종류 및 권한(퍼미션), 링크수, 사용자(소유자), 그룹, 파일크기, 수정시간, 파일이름을 나타낸다.
    • 파일의 권한 : -rwxr-xr-x
    • 링크수 : 1개
    • 사용자 : ec2-user
    • 파일크기 : 52
    • 수정시간 : Jul 2 21:10
    • 파일이름 : test.c
  • 권한 확인하기
      -rwxr-xr-x
    
    • 총 10자리로 표현되며 가장 앞에 있는건 - 또는 d인데 -이면 파일을 뜻하고 d면 디렉터리를 뜻한다.
    • 나머지 9자리는 3개, 3개, 3개 구분되고 표현은 rwx이다. (read, write, execute)
    • 처음 3개는 사용자 권한, 중간 3개는 그룹 권한, 마지막 3개는 다른 사용자 권한이다.
    • 따라서 해당 파일의 권한은 사용자에겐 rwx 모든 권한이 다 있고, 그룹과 다른 사용자에겐 w권한만 없고 rx권한은 존재한다.
  • 권한 변경하기
    • 개별적으로 권한 변경하기
        $ chmod go+w test.c
        $ chmod u-rx test.c
        $ ls -al
        --w-rwxrwx 1 ec2-user ec2-user   52 Jul  2 21:10 test.c
      
      • chmod 뒤에 나오는 곳에 알파벳, 연산자, 알파벳이 나온다.
      • 처음 알파벳은 변경할 권한의 대상 (u -> 사용자, g -> 그룹, o -> 다른 사용자)
      • 연산자는 권한을 부여할지(+) 제거할지(-) 여부
      • 마지막 알파벳은 부여하거나 제거할 권한 (read, write, execute)
      • 따라서 해당 파일은 그룹과 다른 사용자에게 쓰기 권한을 줬고 사용자에게 읽기, 실행 권한을 제거했으므로 결과는 위와 같다.
    • 숫자로 한번에 권한 변경하기
      • rwx 순서대로 4, 2, 1의 이진수를 가져서 만약 r만 주고 싶으면 4이고, r과 x를 주려면 4+1=5이다. 모든 권한은 4+2+1=7이다.
          $ chmod 000 test.c  // 사용자, 그룹, 다른사용자의 모든 권한을 제거한다.
          $ chmod 777 test.c  // 사용자, 그룹, 다른사용자의 모든 권한을 추가한다.
          $ chmod 700 test.c  // 사용자에게만 모든 권한을 준다.
          $ chmod 744 test.c  // 사용자에게는 모든 권한을 주고, 그룹, 다른 사용자에게는 읽기 권한만 준다.
        
  • 소유권 변경하기
    • 리눅스 chmod 명령어는 파일, 디렉토리의 권한을 변경하는 역할을 한다. 반면 chown 명령을 사용하면 파일, 디렉토리의 사용자, 그룹을 변경할 수 있다. 쉽게말해 파일의 소유권을 변경하는 것이다.
    • 따라서 루트 사용자만 해당 작업이 가능하다.
        # chown user01 a.out
        # chgrp user01 test.c
        # chown user01 tmp/
        # chown -R user01 tmp/
      
    • chown은 사용자, chgrp은 그룹을 바꾸는 것을 뜻한다.
    • user01은 바뀌게 되는 사용자 또는 그룹이다.
    • .확장자가 붙어있으면 파일을, /가 붙어있으면 디렉터리를 뜻한다.
    • -R은 디렉토리와 그 안에 들어있는 모든 파일 또는 디렉터리의 사용자 또는 그룹을 변경한다.

카테고리:

업데이트:

댓글남기기