rsync Secure Copy (SCP)
둘의 차이는 뭘까?
두개 다 원격 파일 전송이라는 공통점은 있지만 왜 다르게 쓸까?
그 이유는 옵션의 차이도 있겠지만 무엇보다 symbolic link 를 처리하는데 차이가 있다.
scp는 전송하려 하는 파일중에 symbolic link 가 있다면 링크된 원본파일이 전송된다.
즉, symlink 가 유지 되지 않는다.
rsync Secure Copy (SCP)
둘의 차이는 뭘까?
두개 다 원격 파일 전송이라는 공통점은 있지만 왜 다르게 쓸까?
그 이유는 옵션의 차이도 있겠지만 무엇보다 symbolic link 를 처리하는데 차이가 있다.
scp는 전송하려 하는 파일중에 symbolic link 가 있다면 링크된 원본파일이 전송된다.
즉, symlink 가 유지 되지 않는다.
ln(Link)
* i-node는 파일의 생성과 동시에 임의로 부여되며, 번호확인은 ls -i 로 확인할 수 있다. 또한 리눅스에서는 모든 디
바이스나 디렉토리를 파일개념으로 인식하기 때문에 전부 inode를 부여받는다. 만약 inode가 같은 파일이 있다면
파일 이름이 다르더라도 이 파일은 같은 파일이 된다.
* 하나의 특정한 파일을 다른 파일 이름으로도 사용하고자 할 때 사용
* cp명령은 원본 파일의 내용을 바꾸어도 복사된 파일의 내용이 그대로 있는데
ln명령은 원본 파일의 내용을 바꾸면 링크된 파일의 내용도 바뀜
* 링크된 파일의 어느 한 파일을 수정하면 링크된 다른 파일 모두가 수정됨
* 특정 파일이 ln멸령으로 생성된 다른 파일에 관계없이 실제로는 하나의 파일만 존재하는 것을 의미
* 링크를 부여하는 방법으로는 하드링크와 심볼릭링크가 있음
* 일반적으로 사용자들이 주로 사용하는 링크는 심복릭링크이며, 윈도우의 바로가기 아이콘도 심볼릭링크
하드링크(Hard Link)
* 하드 링크는 일반 파일을 링크할 때 주로 이용하며, 옵션없이 ln 명령으로 링크시키면 된다. 생성된 링크 파일은 원 래 파일의 inode(index node라 하며 파일에 대한 정보가 저장된 레코드)를 그대로 참조하기에 원 파일이 지워져도 아무런 문제가 되지 않는다.
* 하나의 파일에 여러 개의 이름을 부여하는 것
* 같은 파일을 이름만 다르게 부르는 것
* 원본 파일과 같은 데이터 파일을 공유
* 원본 파일의 이름이 바뀌어도 사용이 가능
* 파일을 없애려면 링크로 생성된 링크 파일을 모두 지워야 함
* 다른 파일 시스템 간에는 링크를 할 수 없음
*사용방법 : $ln(원본파일명)(대상파일명)
심볼릭링크(Symbolic Link)
* 심볼릭 링크는 주로 디렉토리를 링크할 때 사용한다. 원 파일이 삭제되면 실제 데이터 블럭을 참조하던 inode도 삭 제되어, 심볼릭 링크된 파일은 의미가 없어진다.
* 윈도우 운영체제의 '바로가기 아이콘'과 유사
* 링크로 생성된 파일에 내용은 존재하지 않으며, 각각의 i-node를 가진 또 다른 파일이 어디를 가리키고 있는지 알려주는 역할
* 하드링크와는 다르게 링크를 다른 곳으로 이동시키면 링크가 깨져서 사용을 하지 못함
* 다른 파일 시스템 간에 생성할 수 있어 다른 파티션에 링크 파일을 생성 가능
* 원본파일 이름이 바뀌면 사용하지 못함
*사용방법 : $ln -s(원본파일명)(대상파일명)
Usage: ln [OPTION]... [-T] TARGET LINK_NAME (1st form)
or: ln [OPTION]... TARGET (2nd form)
or: ln [OPTION]... TARGET... DIRECTORY (3rd form)
or: ln [OPTION]... -t DIRECTORY TARGET... (4th form)
In the 1st form, create a link to TARGET with the name LINK_NAME.
In the 2nd form, create a link to TARGET in the current directory.
In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.
Create hard links by default, symbolic links with --symbolic.
When creating hard links, each TARGET must exist.
긴 옵션에서 꼭 필요한 인수는 짧은 옵션에도 꼭 필요합니다.
--backup[=CONTROL] make a backup of each existing destination file
-b like --backup but does not accept an argument
-d, -F, --directory allow the superuser to attempt to hard link
directories (note: will probably fail due to
system restrictions, even for the superuser)
-f, --force remove existing destination files
-n, --no-dereference treat destination that is a symlink to a
directory as if it were a normal file
-i, --interactive prompt whether to remove destinations
-s, --symbolic make symbolic links instead of hard links
-S, --suffix=SUFFIX override the usual backup suffix
-t, --target-directory=DIRECTORY specify the DIRECTORY in which to create
the links
-T, --no-target-directory treat LINK_NAME as a normal file
-v, --verbose print name of each file before linking
--help 이 도움말을 표시하고 끝냅니다
--version 버전 정보를 출력하고 끝냅니다
The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable. Here are the values:
none, off never make backups (even if --backup is given)
numbered, t make numbered backups
existing, nil numbered if numbered backups exist, simple otherwise
simple, never always make simple backups