본문 바로가기

Linux

리눅스 스터디 2주차

1. 파일 복사

 1) 파일 복사 : cp(copy)

   - 사용법

    : $ cp [-i] 파일 1 파일 2

    파일 1을 파일 2에 복사한다.

 

cs1.txt가 cs2.txt로 복사되었다.

- 대화형 옵션 : -i

    복사 대상 파일과 이름이 같은 파일이 이미 존재함 덮어쓰기(overwrite).

덮어쓰고자 하면 y(yes)를, 취소하려면 n(no)를 입력.

   - 파일을 디렉터리로 복사

    : $ cp 파일 디렉터리

     파일을 지정된 디렉터리에 복사한다.

    : $ cp 파일 1 파일 2..... 파일 n 디렉터리

     여러 개의 파일들을 지정된 디렉터리에 모두 복사한다.

홈 디렉터리에 있던 cs1.txt와 cs2.txt가 linux 디렉터리로 이동되었다.

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

    $ cp [-r] 디렉터리 1 디렉터리 2

     디렉터리 1 전체를 디렉터리 2에 복사한다. (하위 디렉터리 포함)

linux 디렉터리가 test에 복사되었다

 

linux 디렉터리의 하위 디렉터리와 파일도 모두 복사되었다.

2. 파일 이동

 1) 파일 이동 : mv(move)

   - 사용법

    : $ mv [-i] 파일1 파일2

    파일1의 이름을 파일2로 변경한다.

cs2.txt의 이름이 cs3.txt로 변경되었다.

   - 대화형 옵션 : -i

    이동 대상 파일과 이름이 같은 파일이 이미 존재하면 덮어쓰기(overwrite)

   

 

   - 파일을 디렉터리로 이동

    $ mv 파일 디렉터리

    파일을 지정된 디렉터리로 이동한다.

    $ mv 파일 1 ... 파일n 디렉터리

    여러 개의 파일들을 지정된 디렉터리로 모두 이동한다.

 

   - 디렉터리 이름 변경

    $ mv 디렉터리1 디렉터리2

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

 

3. 파일 삭제

 1) 파일 삭제 : rm(remove)

   - 사용법

    $ rm [-i] 파일

    파일(들)을 삭제한다.

 

   - 디렉터리 전체 삭제 : -r

    $ rm [-ri] 디렉터리

    디렉터리 아래의 모든 것을 삭제한다.

 

4. 링크

 1) 링크

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

   - 사용법

    $ ln [-s] 파일1 파일2

    파일 1에 대한 새로운 이름(링크)로 파일2를 만들어준다.

    $ ln [-s] 파일1 디렉터리

    파일1에 대한 링크를 지정된 디렉터리에 같은 이름으로 만들어 준다.

 

 2) 하드링크(hard link)

  기존 파일에 대한 새로운 이름.

  기존 파일을 대표하는 i-노드를 가리켜 구현.

 

 3) 심볼릭 링크(symbolic link)

   다른 파일을 가리키고 있는 별도의 파일.

   실제 파일의 경로명을 저장하고 있는 일종의 특수 파일.

    이 경로명이 다른 파일에 대한 간접적인 포인터 역할을 한다.

 

5. 파일 속성

 1) 파일 속성(file attribute)

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

   $ ls -sl cs1.txt

 

파일 속성 의미
파일 타입 일반 파일(-), 디렉터리(d), 링크(l), 파이프(p), 소켓(s), 디바이스(b 혹은 c) 등의 파일 종류를 나타낸다.
사용권한 소유자, 그룹, 기타 사용자의 파일에 대한 읽기/쓰기/실행 권한
소유자 및 그룹 파일의 소유자 및 소유자가 속한 그룹
크기 파일의 바이트 수
수정 시간 파일을 최후로 생성 혹은 수정한 시간
링크수 파일에 연결된 링크의 수

 

 2) 파일 종류

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

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

   - 사용법

    $ file 파일

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

 

6. 접근 권한

 1) 접근 권한(permission mode)

   파일에 대한 읽기(r), 쓰기(w), 실행(x) 권한

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

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

 

 2) 접근권한의 예

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

 

7. 접근 권한 변경

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

   - 사용법

    $ chmod [-R] 접근권한 파일 혹은 디렉터리

    파일 혹은 디렉터리의 접근 권한을 변경한다.

    -R 옵션 : 지정된 디렉터리 아래의 모든 파일과 하위 디렉터리에 대해서도 접근권한을 변경한다.

 

 2) 접근권한 표현 : 8진수

   - 접근권한 8진수 변환

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

 

 3) 접근권한 표현 : 기호

   - 기호를 이용한 접근권한 변경

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

 

8. 기타 파일 속성 변경

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

   - 사용법

    $ chown 사용자파일

    $ chown [-R] 사용자 디렉터리

    파일 혹은 디렉터리의 소유자를 지정된 사용자로 변경한다.

    -R 옵션 : 디렉터리 아래의 모든 파일과 하위 디렉터리에 대해서도 소유자를 변경한다.

 

 2) 그룹 변경 : chgrp(change group)

   - 사용법

    $ chgrp 그룹 파일

    $ chgrp [-R] 그룹 디렉터리

    파일 혹은 디렉터리의 그룹을 지정된 그룹으로 변경한다.

    -R 옵션 : 지정된 디렉터리 아래의 모든 파일과 하위 디렉터리에 대해서도 그룹을 변경한다.

 

 3) 최종 수정 시간 변경 : touch

   - 사용법

    $ touch 파일

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

'Linux' 카테고리의 다른 글

리눅스 스터디 6주차  (0) 2020.12.31
리눅스 스터디 5주차  (0) 2020.12.25
리눅스 스터디 4주차  (0) 2020.10.09
리눅스 스터디 3주차  (0) 2020.09.28
리눅스 스터디 1주차  (0) 2020.09.08