[Linux] Chapter 8 : 파일 유틸리티
📗 8.1 파일 속성으로 파일 찾기
find 명령어
$ find 디렉터리
: 옴션의 검색 조건에 따라 지정된 디렉터리 아래에서 해당되는 파일들을 모두 찾아 출력
$ find 디렉터리 -name 파일명 -print or -ls
: 지정된 디렉터리 아래에서 파일명에 해당하는 파일 모두 찾아 경로 출력
find 명령어의 검색 조건
$ find . -user chang -print
: 파일 소유자 이름 검색
$ find . -size 10 -print
: 파일 크기 10바이트인 파일명 출력
$ find . -size +100 -print
: +n과 -n을 사용해 n 바이트 이하, 이상인 파일 찾을 수 있음
$ find ~ -type d -print
: 파일 종류 옵션을 이용해 파일 종류에 따라 검색 가능
$ find . -perm 700 ls
: 접근권한 700 이상인 파일 찾아 ls 명령어 수행
$ find . -atime +30 -print
: 접근 시간이나 수정 시간 옵션을 이용해 검색
📗 8.2 파일 필터링
grep 명령어
$ grep 패턴 파일*
: 파일들을 대상으로 지정된 패턴의 문자열을 검색하고 해당 문자열을 포함하는 줄들 출력
grep 명령어의 옵션
정규식을 사용한 문자열 패턴
파이프와 함께 grep 명령어 사용
$ ls -l | grep chang
: 리스트한 파일 중에서 소유자가 chang으로 표시된 파일들만 리스트
📗 8.3 파일 정렬
sort 명령어
$ sort [-옵션] 파일*
: 텍스트 파일들의 내용을 줄 단위로 정렬, 옵션에 따라 다양한 형태로 정렬
- -r 옵션을 사용해 내림차순으로 정렬 가능
정렬 필드 지정
sort 명령어의 옵션
📗 8.4 파일 비교
파일 비교 : cmp
$ cmp 파일1 파일2
: 파일1과 파일2가 같은지 비교
파일 비교 : diff
$ diff [-i] 파일1 파일2
: 파일1과 파일2를 줄 단위로 비교해 그 차이점 출력
- -i 옵션은 대소문자를 무시하여 비교
- 추가(a) : 첫번째 파일의 줄 n1 이후에 두 번째 파일의 n3부터 n4까지의 줄들을 추가하면 두 파일은 서로 같다
- 삭제(d) : 첫번째 파일의 n1부터 n2까지의 줄들을 삭제하면 두 번째 파일의 줄 n3 이후와 서로 같다
- 변경(c) : 첫번째 파일의 n1부터 n2까지의 줄들을 두 번째 파일의 n3부터 n4까지의 줄들로 대치하면 두 파일은 서로 같다
📗 8.5 기타 파일 조작
파일 분할 : split
$ split [-l n] 입력파일 [출력파일]
: 하나의 입력파일을 일정한 크기의 여러 개 작은 파일들로 분할
- -l n 옵션을 이용하여 분할할 줄 수를 지정
파일 합병
$ cat 파일1 파일2 > 파일3
: 파일1과 파일2의 내용을 붙여서 새로운 파일3을 만들어줌
$ paste [ -s ] [ -d 구분문자 ] 파일*
: 여러 파일들을 줄 단위로 합병하여 하나의 파일을 만들어줌
- -s : 줄 단위로 합병하지 않고 한 파일 끝에 다음 파일 내용을 덧붙임