리눅스 기초때기 4일차 유용한 명령어들 / CMP&DIFF, SORT, FILE
cmp
서로 다른 파일을 비교하여 다른 내용이 있는지 확인하는
1. 형식
[cmp] [OPTIONS] [FILE1] [FILE2]
2. 옵션
cmp -l : 두 파일을 비교하여 틀린곳마다 byte 수로 출력
cmp -s : 틀린 화일의 내용을 출력하지 않고 return code 만 변환한다.
3. 활용
* 주로 파일에 차이가 있는 유무를 확인하는데 활용한다. 틀린 내용을 확인하고 싶을땐 diff 를 활용한다
diff
서로 다른 파일을 비교하여 다른 내용을 찾아 출력해주는 명령어
1. 형식
[diff] [OPTIONS] [FILE1] [FILE2]
2. 옵션
diff : 파일 내 차이점을 찾아서 출력해줌
diff - c : 파일 내 차이점을 찾아서 상세히 출력해줌
diff -r : 디렉토리 내 동일한 이름들의 파일을 확인해서 차이점을 출력 / 다른 이름의 파일이 있는지 찾아서 출력
3. 활용법
1) 내용이 다른 파일두개를 서로 비교해보자 diff cmpfile1 cmpfile3
3c3
< 33333
---
> 44444
* < 의경우 cmpfile1 에만 있는 내용이고 / > 의 경우 cmpfile3 에만 있는 내용이다.
2) diff -r 을 활용하면 디렉토리 내 동일한 파일을 찾아서 내용의 차이를 확인할 수도 있다.
diff --recursive dir1 dir2 ( diff -r dir1 dir2 )
[참조] cmp / diff 실제 주로 활용하는 경우
1) 원본 파일과 백업본 파일의 차이점을 찾아서 비교 하는 용도로 주로 사용할 수 있다
ex) diff http.conf http.conf.OLD
2) 디렉토리 마이그레이션(Migration) 작업등에 자주 활용됨.
ex) diff -r /was1 /was2
sort
파일의 정렬 파일 내부의 내용을 정렬함
* 정렬의 기준 (기본값)
1) 오름차순정렬
2) 1필드 순으로 정렬
3) 문자열 정렬
1. 형식
[sort] [OPTIONS] [FILENAME]
2. 옵션
sort -r : 내림차순으로 정렬
sort -n : 숫자로 정렬
sort -k : 정렬할 필드를 지정하여 정렬
sort -t : 필드 구분자를 지정한다
sort -o : 정렬하여 출력결과를 파일에 저장한다
3. 활용법
1) sort -k 의 경우에는 지정된 필드를 우선으로 정렬하고. 동률이 있을경우 1번필드부터 재 비교를 하여 정렬을 진행한다
2) sort -t 를 활용하여 정렬
* 쉘 에서 필드의 기본적인 구분자는 공백이다 ls -l 이나 ls -l 이나 결국 ls 는 1필드 -l 은 2필드가 된다.
* 공백이 없는 자료에 sort-k 의 경우 적용이 어려운 사항이 있어 sort -t 로 임의의 필드구분자를 지정할 수 있다
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
* sort -t : -k 1 /etc/passwd | head 로 정렬시 : 은 구분자 역할로써 정렬이 진행된다.
3) sort 의 경우도 출력내용이 중심임으로 다른 CMD와 함깨 | 를 이용하여 자주 활용된다.
ex) df -k | sort -k / du -sk var | sort -k 2 / cd /var ; du -sk* | sort -k | more -> 용량확인용
file
파일의 종류 (file type) 을 알수 있는 명령어
[참고] windows 와 linux 계열의 확장자
* windows 는 확장자의 의미가 중요하다
* linux 계열은 확장자의 의미는 크게 중요하지 않다 (활용을 거의 안한다)
1. 형식
[file] [OPTIONS] [FILENAME]