교재 : 리눅스 시스템 원리와 실제 (창병모, 생능출판)
4.1 파일 복사 : cp(copy)
$ cp [-i] 파일1 파일2
: 파일1을 파일2에 복사한다. -i는 대화형 옵션이다.
- 복사 대상 파일과 이름이 같은 파일이 존재하면 덮어쓰기.
- 대화형 옵션을 사용하면 같은 파일이 존재할 때 overwrite 여부를 질문함.
$ cp 파일 디렉터리
: 파일을 디렉터리로 복사
$ cp 파일1 파일2 ... 파일n 디렉터리
: 여러 개의 파일들을 지정된 디렉터리에 모두 복사한다.
$ cp [-r] 디렉터리1 디렉터리 2
- r은 리커전 옵션(하위 디렉터리를 포함한 디렉터리 전체)으로 디렉터리1 전체를 디렉터리2에 복사한다.
4.2 파일 이동 : mv(move)
- 파일을 디렉터리로 이동
$ mv 파일 디랙터리
: 파일을 지정된 디렉터리로 이동
$ mv 파일1 ... 파일n 디렉터리
: 여러 개의 파일들을 지정된 디렉터리로 모두 이동
- 디렉터리 이름 변경
$ mv 디렉터리1 디렉터리2
: 디렉터리1을 지정된 디렉터리2로 이름 변경
4.3 파일 삭제 : rm(remove)
$ rm [-i] 파일+
: 파일(들)을 삭제한다. (-i : 대화형 옵션)
$ rm [-ri] 디렉터리
: -r은 리커전 옵션으로 디렉터리 아래의 모든 것을 삭제한다.
4.4 링크
: 기존 파일에 대한 또 하나의 새로운 이름
$ ln [-s] 파일1 파일2
: 파일1에 대한 새로운 이름(링크)로 파일2를 만들어준다. (-s 옵션은 심볼릭 링크)
$ ln [-s] 파일1 디렉터리
: 파일1에 대한 링크를 지정된 디렉터리에 같은 이름으로 만들어준다.
1) 하드 링크(hard link)
- 기존 파일에 대한 새로운 이름이라고 생각할 수 있다.
- 실제로 기존 파일을 대표하는 i-노드를 가리켜 구현한다.
2) 심볼릭 링크(symbolic link)
- 다른 파일을 가리키고 있는 별도의 파일이다.
- 실제 파일의 경로명을 저장하고 있는 일종의 특수 파일
- 이 경로명이 다른 파일에 대한 간접적인 포인터 역할을 한다.
4.5 파일 속성
1) 파일 속성 (file attribute)
- 블록 수, 파일 종류, 접근 권한, 링크 수, 소유자 및 수정시간
- 블록 수 : 블록의 개수 (k 바이트 단위)
- 파일 종류 : 일반 파일(-), 디렉터리(d), 링크(l), 파이프(p), 소켓(s), 디바이스(b 혹은 c) 등의 파일 종류
- 접근 권한 : 파일에 대한 소유자, 그룹, 기타 사용자의 읽기(r), 쓰기(w), 실행(x) 권한
- 하드 링크 수 : 파일에 대한 하드 링크 수
- 소유자 및 그룹 : 파일의 소유자 및 소유자가 속한 그룹
- 파일 크기 : 파일의 크기(바이트 단위)
- 최종 수정 시간 : 파일을 생성 혹은 최후로 수정한 시간
2) 파일 종류 : 리눅스에서 지원하는 파일 종류
파일 종류 | 표시 | 설명 |
일반 파일 | - | 데이터를 갖고 있는 텍스트 파일 또는 이진 파일 |
디렉터리 파일 | d | 디렉터리 내의 파일들의 이름들과 파일 정보를 관리하는 파일 |
문자 장치 파일 | c | 문자 단위로 데이터를 전송하는 장치를 나타내는 파일 |
블록 장치 파일 | b | 블록 단위로 데이터를 전송하는 장치를나타내는 파일 |
FIFO 파일 | p | 프로세스 간 통신에 사용되는 이름 있는 파이프 |
소켓 | s | 네트워크를 통한 프로세스 간 통신에 사용되는 파일 |
심볼릭링크 | l | 다른 파일을 가리키는 포인터와 같은 역할을 하는 파일 |
$ file 파일
: 파일의 종류에 대한 자세한 정보를 출력한다.
4.6 접근권한 (permission mode)
1) 접근 권한
- 소유자(owner), 그룹(group), 기타(others)로 구분하여 관리
- 읽기 권한 r
- 파일에 대한 읽기 권한
- 디렉터리 내에 파일명을 읽을 수 있는 권한
- 쓰기 권한 w
- 파일에 대한 쓰기 권한
- 디렉터리 내에 파일을 생성하거나 삭제할 수 있는 권한
- 실행 권한 x
- 파일에 대한 실행 권한
- 디렉터리 내로 탐색을 위해 이동할 수 있는 권한
ex) rwxr-xr-x : 소유자만 읽기, 쓰기, 실행 가능. 그룹, 기타 사용자는 읽기, 실행 가능
2) 접근 권한 변경 : chmod (change mode)
$ chmod [-R] 접근 권한 파일 혹은 디렉터리
- 파일 혹은 디렉터리의 접근 권한을 변경한다.
- R 옵션을 사용하면 지정된 디렉터리 아래의 모든 파일과 하위 디렉터리에 대해서도 접근권한을 변경
3) 접근 권한 표현 : 8진수
- 권한이 있으면 1, 없으면 0으로 표시
ex) rwxr-xr-x -> 111 101 101 -> 755
4) 접근 권한 표현 : 기호
- 기호를 이용한 접근 권한 변경
- 사용자 범위 : [ u | g | o | a ]+ // user, group, other, all
- 연산자 : [ + | - | = ] // 권한 추가, 권한 제거, 권한 설정
- 권한 : [ r | w | x ]+ // 읽기 권한, 쓰기 권한, 실행 권한
ex)
$ chmod g-w test.txt
4.7 기타 파일 속성 변경
1) 소유자 변경 : chown (change owner)
$ chown 사용자 파일
$ chown [-R] 사용자 디렉터리
- 파일 혹은 디렉터리의 소유자를 지정한 사용자로 변경한다.
- R 옵션 : 디렉터리 아래의 모든 파일과 하위 디렉터리에 대해서도 소유자를 변경
2) 그룹 변경 : chgrp (change group)
$ chgrp 사용자 파일
$ chgrp [-R] 그룹 디렉터리
- 파일 혹은 디렉터리의 그룹을 지정된 그룹으로 변경한다.
- R 옵션을 사용하면 지정된 디렉터리 아래의 모든 파일과 하위 디렉터리에 대해서도 그룹을 변경
3) 최종 수정 시간 변경 : touch
$ touch 파일
- 파일의 최종 사용 시간과 최종 수정 시간을 현재 시간로 변경함.
'전공과목 정리 > 리눅스시스템 + 시스템프로그래밍' 카테고리의 다른 글
[리눅스시스템🐧] 6장 프로세스 (4) | 2024.01.03 |
---|---|
[리눅스시스템🐧] 5장 쉘과 명령어 사용 (2) | 2024.01.03 |
[리눅스시스템🐧] 3장 기본 명령어 (2) | 2024.01.02 |
[리눅스시스템🐧] 2장 X 윈도우와 데스크톱 환경 (2) | 2023.12.28 |
[리눅스시스템🐧] 1장 유닉스/리눅스 소개 (2) | 2023.12.28 |