일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- bash shell 변수
- ps 명령어
- bash shell 조건문
- 추가 업로딩 중
- substance painter
- exec 시스템 콜
- 3Ds max 기초
- 개체 외곽 하이라이트 기준선 없애는 법
- msync
- bash shell 반복문
- mmap
- exit()
- pane & desktop
- 뷰포트
- houdini
- 섭페
- foreground process
- bg 명령어
- copy-on-write
- fork 시스템 콜
- wait 시스템 콜
- background process
- 생활코딩 복습
- 후디니
- Standard Stream
- 섭페에서 텍스처 추출
- atexit()
- Symmetry
- Redirection
- 3D 배경 그래픽
- Today
- Total
Researcher to Developer
cp(copy), Hard link, Soft link, Block device, Character device 본문
#cp 명령
파일 복사(copy 의 약자)
cp A B
일정 사이즈를 가지고 있는 A 파일을 B 파일로 복사
A 와 B 는 각각 물리적으로 ex.10MB 파일로 저장
copy하면 파일명은 달라질 것이고 inode 번호도 달라질 것이다.
inode 구조부터 모든 정보를 별도의 새로운 공간에 복사하는 것
그래서 원본 파일의 내용을 바꿔도 복사한 파일에는 내용이 똑같이 바뀌어 있지 않다.
cp -rf
디렉토리를 통째로 복사할 때 사용하는 명령어(서브 디렉토리, 파일 등 모든 것)
* r - recursive (재귀 : 어떤 것을 정의할 때 자기 자신을 참조하라)
* f - Y/N 묻지 말고 진행해라
rm 파일명
삭제할 파일명
rm -rf
Y/N 묻지 말고 삭제해라
#cp(copy) 특징
1. copy하면 파일명, inode 번호가 달라진다.
2. 새로운 공간에 복사한다. (사용 공간이 늘어남)
3. 원본 파일의 내용을 바꿔도 복사한 파일에는 내용이 바뀌어 있지 않다.
#Hard link
UNIX 시스템에만 있는 독특한 파일 명령어
Hard link
ln A B
(ln 이 link 라는 뜻)
A와 B는 동일한 10MB 파일을 가리키게 된다.
동일한 파일을 가진 이름을 하나 더 만든 것일 뿐이다.
그렇기 때문에 inode는 동일하며
전체 파일 용량은 달라지지 않는다.
하드 링크를 ln 명령어로 하면 새로운 파일명이 생기고 파일에 대해서
기본적으로는 inode 번호가 새로 생기게 되는데 Hard link 에서는 inode 번호가 원래 파일의 번호와 동일해진다.
inode 구조에서 동일한 요약 정보를 가리키게 되고 실제로도 동일한 정보를 가리키게 된다.
원본 파일의 내용을 바꾸면 내용이 똑같이 바뀌어 있다.
ls -al 로 확인했을 때 별도의 파일이기때문에 - 로 표시됨
rm A로 A를 삭제하면? B는 그래도 해당 파일 접근 가능
'A : 해당 inode' 이 정보만 삭제되고, inode를 가진 실제 파일은 그대로 남음
inode 구조 정보를 가리키는 연결된(링크)파일이 있기 때문에
원본 파일만 삭제되고 연결(링크)된 파일은 남아있다.
ls -i
파일 inode 확인하기
ls -al
전체 파일상세 정보 확인
Hard link의 경우 완전히 동일한 파일로 인식한다.
#Hard link 특징
1. Origianl(원본)과 Hard link(링크) 파일의 inode가 동일하다.
2. 실제 동일한 정보를 가리킨다.
3. 원본 파일의 내용을 바꾸면 하드링크 파일 내용도 똑같이 바뀐다.
4. ls -al로 확인하면 파일이기 때문에 - 로 표시된다.
5. 전체 파일 용량이 달라지지 않는다. 그렇기 때문에 저장매체 용량을 절약할 수 있다.
6. rm으로 원본 파일을 삭제해도 링크된 파일로 해당 원본 파일(inode가 동일하므로 정보도 동일)에 접근할 수 있다.
#Hard link vs copy
Hard link는 copy와 달리 저장매체에 물리적으로 새로운 공간을 필요로 하지 않기 때문에 공간 활용성이 좋다.
#Soft(symbolic) link
ln -s A B
원본 파일이 없어지면 바로가기를 눌러도 원본을 찾을 수 없다고 나옴 (Windows OS의 바로가기(별도의 파일!)와 동일)
ls -al 하면 소프트링크 확인 가능하다.
링크된 파일이 어떤 파일을 원본으로 갖는지 확인가능
원본 파일과 inode 값이 다름
소프트링크의 경우 ls-al로 확인하면 l이 붙음(링크하는 것을 표시함) ex. lrwxrw-r--
원본 파일이 바뀌면 소프트링크 파일도 바뀜
주소에 원본 파일에 대한 파일정보가 들어가있음 그래서 원본 파일이 삭제되면 소프트링크는 쓸모없음
rm A로 A(원본)를 삭제하면? B(소프트링크 파일)는 해당 원본 파일 접근 불가
#Soft link 특징
1. Origianl(원본)과 Hard link(링크) 파일의 inode가 다르다.
2. ls -al 로 링크된 파일이 어떤 파일을 원본으로 갖는지 확인이 가능하다.
(soft link에 연결된 inode 구조에는 원본의 주소가 있는 것이 아니라 원본 주소 정보가 있는 Redirected path가 있는 것)
3. ls -al 로 확인하면 링크이기 때문에 l 로 표시된다. ex. lrwxrw-r--
4. 원본 파일이 바뀌면 소프트링크 파일 내용도 똑같이 바뀐다.
5. rm으로 원본 파일을 삭제하면 링크된 파일로 해당 원본 파일에 접근할 수 없다.
#특수 파일
디바이스를 가리키는 파일
디바이스는 파일 인터페이스를 통해서 입출력 처리를 한다.
블록 디바이스 (Block Device)
HDD, CD/DVD와 같이 블록 또는 섹터 등 정해진 단위(32, 62 byte 등등)로 데이터 전송
처리속도가 빠르기 때문에 IO 송수신 속도가 높음
캐릭터 디바이스(Character Device)
키보드, 마우스등 byte 단위 데이터 전송, IO 송수신 속도가 낮음
ls -al 로 검색했을 때 첫글자에 따라 나뉨
c Character Device
b Block Device
'코딩 > Basic' 카테고리의 다른 글
프로세스 생성 시스템 콜 - fork(), exec() - 1 (2) | 2020.12.31 |
---|---|
프로세스 ID - pid, ppid 시스템 콜 및 관련 개념 (0) | 2020.12.30 |
LINUX 파일 구조, tty, super block, inode (0) | 2020.12.27 |
LINUX - binary, foreground Process, background Process, 명령어 ps, bg (0) | 2020.12.27 |
LINUX - Standard Stream, Redirection, Pipe (grep 명령어) (0) | 2020.12.27 |