오늘은 split 명령어를 사용해보고 활용 방법에 대해 알아보겠다
먼저, split의 사전적의미부터 확인해보자. 의미를 알면 명령어 사용이 더욱 익숙해진다.
split : 나뉘다, 쪼개지다
split 의 뜻 그대로, split 명령어는 파일을 나누고 쪼개는 역할을 한다.
[사용 방법]
#split [option] file [file_name]
[주요 옵션]
-b : 파일을 주어진 바이트 크기로 분리한다. 사이즈의 단위로 k, m을 붙여서 kilobytes, megabytes 단위의 분리도 가능하다.
-C : 파일의 행을 주어진 사이즈에 최대한 맞춰서 분리한다.
-l 행수 : 파일을 주어진 행 수 단위로 분리한다.
[사용 예시]
이름 지정없이 나눌 라인의 단위만 지정해서 쪼개보기
#split -l 30 /etc/passwd
→/etc/passwd 파일을 한 파일에 30라인씩 잘라서 파일을 생성한다. 별도로 지정한 이름이 없으므로, xaa,xab,xac 등으로 생성된다.
(🤷♂️TIP : passwd는 시스템에 등록된 사용자의 정보들이 담겨있는 파일이다. 이 파일을 이용하여 사용자의 계정과 인증을 관리, 파일 이름이 passwd라서 이 곳의 사용자의 패스워드도 있을 것 같지만 패스워드는 /etc/shadow 라는 파일에 있다)
아래는 실제로 명령어를 수행한 결과이다. /etc/passwd 파일의 내용이 30줄 이상이다 보니, xaa, xab 두 개의 파일로 나뉘었다.
wc -l 명령어로 행 수를 확인해보면, passwd 파일의 행 수가 42줄인 것을 알 수 있다.
두 개로 나뉜 첫 번째 파일이 정말로 30줄까지 잘린 지 확인해보자.
파일을 나눌 때 이름을 지정해서 쪼개보기
이번엔 이름을 지정해서 쪼개보자.
ex) split -20 /etc/passwd test
→/etc/passwd 파일을 한 파일에 20라인씩 잘라서 생성한다. test라는 이름을 부여하였으므로, 생성되는 파일은 testaa, testab,testac 등으로 생성된다.
파일을 나눌 때 이름과 사이즈를 지정해서 쪼개보기
이번엔 이름, 사이즈를 모두 지정해서 쪼개보자.
ex)split -b 1M test
10M 크기의 임의의 테스트파일을 test라는 이름을 지정하여 1M 단위로 쪼개보았다.
마지막으로, 분할한 파일을 복원시켜보자! 다시 합쳐보기~
ex)cat testa* > testfile2
testa로 시작하는 모든 파일명을 testfile2라는 이름으로 합친다.
(이 때 기존 파일들이 없어지는 것은 아니며, 각 파일은 합친 파일이 신규로 생성된다)
오늘은 이렇게 split 명령어를 이용해 파일을 쪼개고, cat 명령어로 합치는 방법까지 알아보았다.
The record makes me strong.
'운영체제 > Linux' 카테고리의 다른 글
LVM에 대해서, LVM(Logical Volume Manager)이란? -- 아글아글IT (0) | 2022.11.21 |
---|---|
RAID에 대해서 (0) | 2022.11.18 |
vsftp 접근이 안될 때 ( 에러 : 500 oops vsf_sysutil_bind maximum number of attempts to find a listening port exceeded) (0) | 2022.11.14 |
tar archive에 대해서 (tar 압축, tar압축 해제) (0) | 2022.11.08 |
데몬(daemon)에 대해서 (0) | 2022.10.25 |