Git 시리즈 (1)
개요
- 터미널 창에서 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 // 사용자에게는 모든 권한을 주고, 그룹, 다른 사용자에게는 읽기 권한만 준다.
- rwx 순서대로 4, 2, 1의 이진수를 가져서 만약 r만 주고 싶으면 4이고, r과 x를 주려면 4+1=5이다. 모든 권한은 4+2+1=7이다.
- 개별적으로 권한 변경하기
- 소유권 변경하기
- 리눅스 chmod 명령어는 파일, 디렉토리의 권한을 변경하는 역할을 한다. 반면 chown 명령을 사용하면 파일, 디렉토리의 사용자, 그룹을 변경할 수 있다. 쉽게말해 파일의 소유권을 변경하는 것이다.
- 따라서 루트 사용자만 해당 작업이 가능하다.
# chown user01 a.out # chgrp user01 test.c # chown user01 tmp/ # chown -R user01 tmp/
- chown은 사용자, chgrp은 그룹을 바꾸는 것을 뜻한다.
- user01은 바뀌게 되는 사용자 또는 그룹이다.
- .확장자가 붙어있으면 파일을, /가 붙어있으면 디렉터리를 뜻한다.
- -R은 디렉토리와 그 안에 들어있는 모든 파일 또는 디렉터리의 사용자 또는 그룹을 변경한다.
댓글남기기