본문 바로가기

사이버보안 1학년 1학기/리눅스

리눅스 명령어(cut, sort, uniq, cmp) + 연습문제

잘라내기

cut                    [파일명]

-c 문자위치 : 잘라낼 글자 위치를 지정 ( , 와 - 을 사용해 범위지정)

-f 필드번호  : 잘라낼 필드를 지정

-d 구분자    : 필드와 필드를 구분하는 문자를 지정 (기본은 Tab)

-s              : 필드 구분자가 포함 불가능하면 그 줄은 하지않음.


ex1) cut -f3 -d: a.txt

필드번호가 3이고 필드를 구분하는 문자가 : 인 a.txt를 잘라내어 출력한다.


파일 및 디렉토리를 줄 단위로 정렬하기

sort                    [파일명]

-r               : 역순 정렬

-k 필드번호 : 필드번호의 필드 기준으로 정렬

-u               : 중복된 내용을 하나로 정렬

-n               : 문자를 숫자로 인식


ex2) sort -r a.txt

a.txt의 출력을 역순으로 표시한다. (원래 a~z순서라면 z~a순서로 표시)


출력 설정하기

uniq                [파일명]

-c            : 연속된 행의 수를 카운트 출력

-d            : 2번 이상 연속된 행만 하나의 행으로 출력

-D            : 2번 이상 연속된 행만 출력

-u            : 2개 이상 겹치지 않은 행만 출력

-w 열번호 : 처음부터 열번호까지 문자를 비교하여 출력

-s 열번호  : 처음부터 열번호까지 문자를 제외하여 출력

-f 필드번호 : 필드번호를 비교대상에서 제외하여 출력


파일 비교하기

cmp                [A파일] [B파일]

-l     : 두 파일의 다른 부분의 바이트 번호화 다른 문자에 아스키코드 값 출력

-s           : 다른 부분이 아닌 exit status 변수에 대해 종료코드로 저장

( 동일하면 0 , 다르면 1 , 에러는 2 )

-i byte번호: 비교시 처음부터 byte번호까지 무시


ex3) passwd를 복사하여 변조시킨후 cmp 명령어를 사용한 모습


문제1> root로 로그인하고 cut 명령어로 /etc/passwd 파일의 첫번째 필드만 출력하시오.


문제2> /etc/passwd 파일을 출력하여 출력된 값을 root의 홈디렉토리로 표준출력 리디렉션하여 passwd.txt 파일로 저장하시오.


문제3> passwd.txt 파일을 첫번째 필드만 역순 출력하시오.


문제4> root의 홈디렉토리에  copy 디렉토리를 만들고 passwd.txt 파일을 복사하여 passwd1.txt라는 파일로 저장하시오. 그리고 passwd1.txt파일에 tistory 라는 내용을 추가하시오.


문제5> passwd.txt 와 copy/passwd1.txt 파일을 비교하시오.