Unknownpgr

유용한 파일 관련 명령어

2021-01-13 06:19:32 | Korean

잘 알려져 있다시피, 리눅스에서는 모든 대상이 파일로 관리됩니다. 저는 이걸 처음 배웠을 때 그냥 아...그렇구나...하고 넘겼었는데요. 그런데 알고 보니 제 생각보다 훨씬 더 많은 것이 파일로 구현되어 있었습니다.

디스크 복사하기

리눅스에서는 디스크 드라이버 자체가 하나의 파일입니다. /dev/sda와 같은 식으로 파일 형식으로 되어 있습니다. 그런데 재미있는 점은 파일시스템이 디스크 드라이버보다 상위의 시스템이라는 것입니다. 즉, 이 디스크를 그냥 파일로써 읽으면 파일시스템 아래의 raw data를 전부 볼 수 있습니다. (잘만 하면 이런 식으로 삭제된 데이터 복구 등도 가능할 것 같습니다.)

그래서 한 디스크를 통째로 파일로 백업하고 싶을 때에는 아래와 같이 cat 명령어를 사용해서 할 수 있습니다.(...) /dev/sda디바이스를 파일로 백업하고, 다시 돌려놔보겠습니다.

먼저 chmod 명령어를 사용하여 /dev/sda의 권한을 변경해줍니다.

sudo chmod 777 /dev/sda

다음으로 cat 명령어를 이용하여 파일 복사를 수행해서 백업해줍니다.

cat /dev/sda > sda.backup

반대로 이 백업 파일을 원래 디바이스로 돌리고 싶을 때에도 똑같이 할 수 있습니다.

cat sda.backup > /dev/sda

한 디스크를 다른 디스크로 복제하고 싶을 때에도 똑같이 할 수 있습니다.

cat /dev/sda > /dev/sdb

물론 두 디스크 모두에 대한 R/W권한이 있어야 합니다.

파일 복사하기

그런데 디스크 전체를 복제하는 것이 아니라 특정 디렉토리만 복사하고 싶을 수도 있습니다. 그럴 때에는 cp 명령어를 사용하면 되는데, 이것 역시 유용한 옵션이 많아 알아 두면 좋습니다.

그래서 백업 시에는 아래와 같이 -au 옵션을 사용하면 유용합니다.

cp -au [src] [dst]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -