혜랑's STORY

[2020-2학기 리눅스 2주차] : 이론 본문

2020 SISS 21기 활동/2학기 리눅스

[2020-2학기 리눅스 2주차] : 이론

hyerang0125 2020. 9. 18. 09:38

# 파일 복사 : cp(copy)

- 사용법

$ cp [-i] 파일1 파일2
-> 파일1을 파일2에 복사한다. (-i는 대화형 옵션이다)

    ※ 대화형 옵션 : cp -i  >> 복사 대상 파일과 이름이 같은 파일이 이미 존재하면 덮어쓰기(overwrite)

- 파일을 디렉터리로 복사

$ cp 파일 디렉터리
-> 파일을 지정된 디엑터리에 복사한다.
$ cp 파일1 ... 파일n 디렉터리
-> 여러 개의 파일들을 지정된 디렉터리에 모두 복사한다.

- 디렉터리 전체 복사 : cp -r

$ cp [-r] 디렉터리1 디렉터리2
-> r은 리커전 옵견으로 디렉터리 1 전체를 디렉터리 2에 복사한다.
-> 하위 디렉터리를 포함한 디렉터리 전체를 복사

 

#파일 이동 : mv(move)

- 사용법

$ mw [-i] 파일1 파일2
-> 파일1의 이름을 파일2로 변경한다. (-i는 대화형 옵션이다)

    ※ 대화형 옵션 : mv -i >> 이동 대상 파일과 이름이 같은 파일이 이미 존재하면 덮어쓰기(overwrite)

- 파일을 디렉터리로 이동

$ mv 파일 디렉터리
-> 파일을 지정된 디렉터리로 이동한다.
$ mv 파일1 ... 파일n 디렉터리
-> 여러개의 파일들을 지정된 디렉터리로 모두 이동한다.

- 디렉터리 이름 변경

$ mv 디렉터리1 디렉터리2
-> 디렉터리1을 지정된 이름 디렉터리2로 이름을 변경한다.

 

# 파일 삭제 : rm(remove)

- 사용법

$ rm [-ri] 디렉터리
-> -r은 리커전 옵션으로 데렉터리 아래의 모든 것을 삭제한다. (-i는 대화형 옵션이다)

 

# 링크 : 기존의 파일에 대한 또 하나의 새로운 이름

- 사용법

$ ln [-s] 파일1 파일2
-> 파일1에 대한 새로운 이름(링크)로 파일2를 만들어 준다. (-s 옵션은 심볼릭 링크이다)
$ ln [-s] 파일1 디렉터리
-> 파일1에 대한 링크를 지정된 디렉터리에 같은 이름으로 만들어 준다.

- 하드 링크(hard link) : 기존 파일에 대한 새로운 이름이라고 생각할 수 있다. 실제로 기존 파일을 대표하는 i-노드를 가리켜 구현한다.

- 심볼릭 링크(symbolic link) : 다른 파일을 가리키고 있는 별도의 파일이다. 실제 파일의 경로명을 저장하고 있는 일종의 특수 파일이다. 이 경로명이 다른 파일에 대하 간접적인 포인터 역할을 한다. 

 

# 파일 속성(file attribute)

- 파일 크기, 종류, 접근권한, 링크 수, 소유자 및 그룹, 수정시간

- 리눅스에서 지원하는 파일 종류

파일 종류 표시 설명
일반 파일 - 데이터를 갖고 있는 텍스트 파일 또는 이진 파일
디렉터리 파일 d 디렉터리 내의 파일들의 이름들과 파일 정보를 관리하는 파일
문자 장치 파일 c 문자 단위로 데이터를 전송하는 장치를 나타내는 파일
블록 장치 파일 b 블록 단위로 데이터를 전송하는 장치를 나타내는 파일
FIFO 파일 p 프로세스 간 통신에 사용되는 이름 있는 파이프
소켓 s 네트워크를 통한 프로세스 간 통신에 사용되는 파일
심볼릭 링크 l 다른 파일을 가르키는 포인터와 같은 역할을 하는 파일

- 사용법

$ file 파일
-> 파일의 종류에 대한 자세한 정보를 출력한다.

 

# 접근 권한(permission mode)

권한 파일 디렉터리
r 파일에 대한 읽기 권한 디렉터리 내에 있는 파일명을 읽을 수 있는 권한
w 파일에 대한 쓰기 권한 디렉터리 내에 파일을 생성하거나 삭제할 수 있는 권한
x 파일에 대한 실행 권한 디렉터리 내로 탐색을 위해 이동할 수 있는 권한

- 파일의 사용권한은 소유자(owner)/그룹(group)/기타(others)로 구분하여 관리한다.

접근권한에 대한 설명

- 접근권한의 예

접근권한 의미
rwxrwxrwx 소유자, 그룹, 기타 사용자 모두 읽기, 쓰기, 실행 가능
rwxr-xr-x 소유자만 읽기, 쓰기, 실행 가능
그룹, 기타 사용자는 읽기, 실행 가능
rw-rw-r-- 소유자와 그룹만 읽기, 쓰기 가능
기타 사용자는 읽기만 가능
rw-r--r-- 소유자만 읽기, 쓰기 가능
그룹과 기타 사용자는 읽기만 가능
rw-r----- 소유자만 읽기, 쓰기 가능
그룹은 읽기만 가능
rwx------ 소유자만 읽기, 쓰기, 실행 가능

 

# 접근 권한 변경 : chmod(change mode)

- 사용법

$ chmod [-R] 접근권한 파일 혹은 디렉터리
-> 파일 혹은 디렉터리의 접근 권한을 변경한다. (-R 옵션을 사용하면 지정된 디렉터리 아래의 모든 파일과 하위 디렉터리에 대해서도 접근 권한을 변경한다)

- 접근권한 표현 : 8진수

접근권한 8진수
rwxrwxrwx 777
rwxr-xr-x 755
rw-rw-r-- 664
rw-r--r-- 644
rw-r-----  640
rwx------ 700

- 접근권한 표현 : 기호

구분 기호와 의미
사용자 범위 u(user : 소유자), g(group : 그룹), o(others : 기타사용자), a(all : 모든 사용자)
연산자 +(권한 추가), -(권한 제거), =(권한 설정)
권한 r(읽기 권한), w(쓰기 권한), x(실행 권한)

 

# 기타 파일 속성 변경

- 소유자 변경 : chown(change owner)

$ chown 사용자 파일
$ chown [-R] 사용자 디렉터리
-> 파일 혹은 디렉터리의 소유자를 지정된 사용자로 변경한다. (-R 옵션 : 디렉터리 아래의 모든 파일과 하위 디렉터리에 대해서도 소유자를 변경한다)

- 그룹 변경 : chgrp(change group)

$ chgrp 그룹파일
$ chgrp [-R] 그룹 디렉터리
-> 파일 혹은 디렉터리의 그룹을 지정된 그룹으로 변경한다. (-R 옵션 : 디렉터리 아래의 모든 파일과 하위 디렉터리에 대해서도 소유자를 변경한다)

- 최종 수정 시간 변경 : touch

$ touch 파일
-> 파일의 최종 사용 시간과 최종 수정 시간을 현재 시간으로 변경한다.