Server H&S/Server Basic
[ Linux 공부 - 1 ] 기본 4
T-Evan
2010. 9. 5. 03:16
☆ 파일의 조작 ☆
1. 현재 위치의 디렉토리 표시 ( pwd )
[사용방법] # pwd
- 현재 로그인한 계정의 디렉토리 위치를 알고 싶을 때 사용하는 명령어 입니다.
- 현재 위치에 대한 절대경로를 보여줍니다.
[ 현재 위치 확인 ]
2. 디렉토리 이동 ( cd )
[사용방법] # cd [directory_name | directory_path]
- Change Directory 의 약자로 디렉토리 이동시에 사용하는 명령어 입니다.
- 절대경로 및 상대경로 모두 이용할 수 있습니다.
- cd 명령어만 사용할 경우 홈 디렉토리로 이동합니다.
- "." 현재 디렉토리, ".." 상위 디렉토리, "~" 홈 디렉토리, "-" 전단계의 디렉토리
[ cd 명령어 상대 경로 사용]
[ cd 명령어 절대 경로 사용]
[ cd . 명령어 사용 ]
[ cd .. 명령어 사용 ]
[ cd ~ 명령어 사용 ]
[ cd - 명령어 사용 ]
3. 파일 목록 보기 ( ls )
[사용방법] # ls [ option ] [ file_name | directory_name ]
- 가장 많이 사용하는 명령어로써 디렉토리에 있는 파일 목록을 출력하는 명령어 입니다.
- "-a" 모든 파일 출력, "-d" 디렉토리 자체 정보 출력, "-F" 파일 유형 출력, "-l" 파일의 모든 속성 출력, "-i" inode 출력
[ 기본 ls 명령 ]
[ ls -a 명령어 사용 ]
[ ls -d 명령어 사용 ]
[ ls -F 명령어 사용 ]
[ ls -l 명령어 사용 ]
[ ls -i 명령어 사용 ]
4. 파일 유형 표시 ( file )
[사용방법] # file [ option] file_name
- 지정된 파일의 종류를 확인하는 명령어 입니다. (ex) Binary file, Text file, Device file ....
- 파일의 종류를 분류할 때는 /usr/share/magic 파일을 참조하여 파일의 종류를 표시해 줍니다.
[ file 명령어 사용 ]
5. 파일 내용 보기 ( cat, head, tail, more, less )
* cat 명령어
[사용방법] # cat [ option ] file_name
# cat > file_name or # cat file_name
- 파일의 내용을 파일 단위로 표준 출력할 때 사용하며, 파일을 만들 때도 사용할 수 있습니다.
- "-n" 라인 번호 출력
[ cat 명령어로 파일 생성 ]
[ 생성한 파일 cat 명령어로 확인 ]
[ cat -n 명령어 사용 ]
* head 명령어
[사용방법] # head [ -number ] file_name
- 파일의 첫 번째 라인부터 기본 10행까지 출력하는 명령어 입니다.
[ head 명령어 사용 ]
[ head -5 명령어 사용 - 앞에서 5번째 줄까지 출력 ]
* tail 명령어
[사용방법] # tail [ -number ] [ -f ] file_name
- head 명령어와 반대로 파일의 마지막 라인을 기준으로 파일의 내용을 출력합니다.
- default 는 10 라인 출력 입니다.
- "-f" 실시간으로 파일에 추가되는 내용을 출력합니다. log 파일을 관찰할 때 많이 사용합니다.
[ tail 명령어 사용 - 기본 10줄 ]
[ tail -5 명령어 사용 - 마지막 줄을 기준으로 5줄부터 표시 ]
[ taif -f 옵션 사용 - a.txt 파일에 실시간으로 추가되는 내용 출력 ]
[ 터미널을 하나 더 열어서 a.txt 에 내용 추가 ]
[ 추가된 내용 확인 ]
* more 명령어 " less 명령어 동일 "
[사용방법] # more [+number] file_name
- 파일의 내용이 한 화면을 넘어가는 경우 한 화면씩 끊어서 출력하는 명령어 입니다.
- "+3" 3번째 라인부터 내용 출력
- <h> 도움말, <space> 다음 페이지, <b> 이전페이지, <d> 다음 반 페이지, <Enter> 다음 라인, <v> vi 에디터 모드로 전환, <q> 종료
< more 명령어 사용 >
< more +5 명령어 사용 - 5 번째 라인부터 출력 >
[ 다른명령어와 합쳐서 사용 가능 ]
6. banary 파일의 읽기 가능한 문자 출력 ( strings )
[사용방법] # strings file_name
- 표준 출력 명령어로 내용을 볼 수 없는 binary 파일에서 읽을 수 있는 문자들을 찾아서 출력해 주는 명령어 입니다.
[ cat 명령어를 사용하여 access.db 내용을 확인 - 확인 불가능한 문자열 표시]
[ strings 명령어 사용 ]
7. 파일 이름 작성, 시간 수정 ( touch )
[사용방법] # touch [ option ] file_name
- 파일의 시간 정보를 변경하기도 하며, 새로운 0 바이트 파일을 만들 때 사용되는 명령어 입니다.
- "-c" 파일이 없으면, 새로운 파일 생성 안함, "-m" 최근 파일 변경시간만 변경, "-t" 파일의 날짜를 임의의 날짜로 변경
[ 파일크기 0 인 파일 생성 ]
[ 파일의 시간 정보 변경 ]
[ 파일의 시간정보를 임의의 시간으로 변경 ]
[ 파일이 존재하지 않을경우 파일 생성 하지 않음 확인 ]
[ 최근 파일 변경시간만 변경 ]
8. 디렉토리 생성 ( mkdir )
[사용방법] # mkdir [ option ] directory_name
- 디렉토리를 생성할 경우에 사용하는 명령어 입니다.
- "-p" 계층적 구조를 가지는 디렉토리를 한번에 생성, "-m" 새로운 디렉토리의 퍼미션을 결정하여 생성
[ 디렉토리 생성 ]
[ 하위 디렉토리까지 한번에 생성 ]
[ 디렉토리의 퍼미션을 설정후 디렉토리 생성 ]
9. 디렉토리 삭제 ( rmdir )
[사용방법] # rmdir directory_name
- 디렉토리를 삭제할 때 사용하는 명령어 입니다.
- 디렉토리 내부의 하위 디렉토리나 파일들이 삭제 되어 있어야만 삭제 가능합니다.
[ 디렉토리 삭제 ]
[ 디렉토리가 비어 있지 않은 경우 삭제 불가능 ]
10. 파일 삭제 ( rm )
[사용방법] # rm [ option ] [ file_name | directory_name ]
- 디렉토리와 파일을 삭제할 때 사용하는 명령어 입니다.
- 하위 디렉토리를 한번에 삭제할 수 있습니다.
- "i" 삭제 유무 확인, "f" 강제 삭제, "r" 하위 디렉토리까지 모두 삭제
[ a.txt 파일 삭제 ]
[ -i 옵션 사용으로 삭제시 삭제 유무 확인 ]
[ -r 옵션 사용으로 하위 디렉토리까지 모두 삭제 ]
[ -f 옵션으로 강제 삭제 ]
11. 파일 복사 ( cp )
[사용방법] # cp [ option ] [source_file | source_dir] [target_file | target_dir]
- 파일을 복사할 때 사용하는 명령어 입니다. 디렉토리도 파일로 취급됩니다.
- "-b" 백업본 생성, "-f" 강제 복사, "-i" 덮어쓰기 여부 확인, "-v" 복사하기 전에 복사할 파일 출력, "-R, -r" 하위 디렉토리 복사
[ cp 실습 전 필요 파일 생성 ]
[ 파일 -> 파일 복사 ]
[ 파일 -> 디렉토리 복사 - 디렉토리 안으로 파일이 복사 된다. ]
[ " * " 사용 가능 - 자리수 상과없이 모든 문자 ]
[ " ? " 사용 가능 - 한 자리 모든 문자 ]
[ 파일크기가 0 아닐때 백업 파일 생성 ]
[ 덮어쓰기 여부 확인 ]
[ 복사할 파일 미리 보여주기 옵션 확인 ]
[ 하위 디렉토리 및 파일까지 한번에 복사 ]
12. 파일 이동 ( mv )
[사용방법] # mv [ option ] [ source_file | sourece_dir ] [ target_file | target_dir ]
- 파일의 이름을 변경하거나, 다른 위치로 이동하고자 할 때 사용하는 명령어 입니다.
- "-f" 강제 이동, "-i" 겹쳐쓰기 여부 확인
[ 파일 -> 파일 이동 - 즉 이름바꾸기와 같은 효과 ]
[ 파일 -> 디렉토리로 이동 ]
[ 디렉토리 -> 디렉토리 이동 - 이름바꾸기와 같은 효과 ]
[ 겹쳐쓰기 여부 확인 ]
[ wc 및 옵션 사용 ]
[ empty 옵션 사용 ]
[ size 옵션 사용 ]
[ mount 옵션 사용 ]
[ exec {} \; 옵션 사용 ]
[ uid 옵션 사용 ]
[ gid 옵션 사용 ]
[ user 옵션 사용 ]
[ group 옵션 사용 ]
[ name 옵션 사용 ]
[ perm 옵션 사용 ]
[ type 옵션 사용 ]
[ ! 옵션 사용 ]
[ grep 명령어 사용 ]
[ 대소문자 구별 옵션 사용 ]
[ 행번호 출력 옵션 사용 ]
[ 블록 번호 표시 옵션 사용 ]
[ 파이프라인 사용 ]
[ passwd 파일에서 root 나 guest 가 들어가는 라인을 표시 ]
[ a.txt 파일에서 1>$2 가 포함된 라인을 표시 ]
15. 파일 비교 및 정렬 ( cmp, diff, sort )
* cmp 명령어
[사용방법] cmp [ option ] [ file1 ] [ file 2 ]
- 두 개의 파일을 비교하여 다른 점을 확인할 때 사용하는 명령어 입니다.
- 단순하게 비교되기도 하지만 몇 번째 행의 몇 번째 문자가 다른지도 확인할 수 있습니다.
- " -l " 틀린 문자 개수 출력 및 8진수 값을 출력, " -s " 아무런 메시지없이 종료 코드만 넘겨줍니다. (0:같음, 1:다름, 2:접근불가)
[ a, b 파일의 내용 ]
[ a, b 파일의 비교 - 3 번재 줄이 다름 ]
[ a, b 파일의 비교 - 다른 값 8진수로 표시 ]
* diff 명령어
[사용방법] diff [ option ] [ file1 ] [ file 2 ]
- cmp 와 역할이 비슷하지만 출력 결과가 상당히 정확합니다.
- "--brief" 같은지 다른지 비교, "-c" 파일의 차이점을 상세히 출력, "-d" 자세히 비교, "-r" 재귀적인 비교, "-s" 파일 비교시 동일하면 결과 출력, "-H" 용량이 큰 파일 비교시 빠르게 비교, "-i" 대소문자 구분 없음
[ 기본 비교 - "-d" 옵션과 동일 ]
[ 간단히 비교 - 다르다고 표시 ]
[ 자세히 비교 - 파일 명, 생성시간, 내용 비교 ]
[ 두 파일의 내용이 같음을 확인할 경우 사용 ]
[ 대소문자 구별 옵션 확인 ]
[ passwd 파일 정렬 - 기본 "-d" 옵션과 동일 ]
[ 3번째 필드를 기준으로 정렬 - "-t" 옵션 필요 ]
[ 역순으로 정렬 ]
[ 재정렬된 파일 저장 ]
1. 현재 위치의 디렉토리 표시 ( pwd )
[사용방법] # pwd
- 현재 로그인한 계정의 디렉토리 위치를 알고 싶을 때 사용하는 명령어 입니다.
- 현재 위치에 대한 절대경로를 보여줍니다.
2. 디렉토리 이동 ( cd )
[사용방법] # cd [directory_name | directory_path]
- Change Directory 의 약자로 디렉토리 이동시에 사용하는 명령어 입니다.
- 절대경로 및 상대경로 모두 이용할 수 있습니다.
- cd 명령어만 사용할 경우 홈 디렉토리로 이동합니다.
- "." 현재 디렉토리, ".." 상위 디렉토리, "~" 홈 디렉토리, "-" 전단계의 디렉토리
3. 파일 목록 보기 ( ls )
[사용방법] # ls [ option ] [ file_name | directory_name ]
- 가장 많이 사용하는 명령어로써 디렉토리에 있는 파일 목록을 출력하는 명령어 입니다.
- "-a" 모든 파일 출력, "-d" 디렉토리 자체 정보 출력, "-F" 파일 유형 출력, "-l" 파일의 모든 속성 출력, "-i" inode 출력
4. 파일 유형 표시 ( file )
[사용방법] # file [ option] file_name
- 지정된 파일의 종류를 확인하는 명령어 입니다. (ex) Binary file, Text file, Device file ....
- 파일의 종류를 분류할 때는 /usr/share/magic 파일을 참조하여 파일의 종류를 표시해 줍니다.
5. 파일 내용 보기 ( cat, head, tail, more, less )
* cat 명령어
[사용방법] # cat [ option ] file_name
# cat > file_name or # cat file_name
- 파일의 내용을 파일 단위로 표준 출력할 때 사용하며, 파일을 만들 때도 사용할 수 있습니다.
- "-n" 라인 번호 출력
* head 명령어
[사용방법] # head [ -number ] file_name
- 파일의 첫 번째 라인부터 기본 10행까지 출력하는 명령어 입니다.
* tail 명령어
[사용방법] # tail [ -number ] [ -f ] file_name
- head 명령어와 반대로 파일의 마지막 라인을 기준으로 파일의 내용을 출력합니다.
- default 는 10 라인 출력 입니다.
- "-f" 실시간으로 파일에 추가되는 내용을 출력합니다. log 파일을 관찰할 때 많이 사용합니다.
* more 명령어 " less 명령어 동일 "
[사용방법] # more [+number] file_name
- 파일의 내용이 한 화면을 넘어가는 경우 한 화면씩 끊어서 출력하는 명령어 입니다.
- "+3" 3번째 라인부터 내용 출력
- <h> 도움말, <space> 다음 페이지, <b> 이전페이지, <d> 다음 반 페이지, <Enter> 다음 라인, <v> vi 에디터 모드로 전환, <q> 종료
6. banary 파일의 읽기 가능한 문자 출력 ( strings )
[사용방법] # strings file_name
- 표준 출력 명령어로 내용을 볼 수 없는 binary 파일에서 읽을 수 있는 문자들을 찾아서 출력해 주는 명령어 입니다.
7. 파일 이름 작성, 시간 수정 ( touch )
[사용방법] # touch [ option ] file_name
- 파일의 시간 정보를 변경하기도 하며, 새로운 0 바이트 파일을 만들 때 사용되는 명령어 입니다.
- "-c" 파일이 없으면, 새로운 파일 생성 안함, "-m" 최근 파일 변경시간만 변경, "-t" 파일의 날짜를 임의의 날짜로 변경
8. 디렉토리 생성 ( mkdir )
[사용방법] # mkdir [ option ] directory_name
- 디렉토리를 생성할 경우에 사용하는 명령어 입니다.
- "-p" 계층적 구조를 가지는 디렉토리를 한번에 생성, "-m" 새로운 디렉토리의 퍼미션을 결정하여 생성
9. 디렉토리 삭제 ( rmdir )
[사용방법] # rmdir directory_name
- 디렉토리를 삭제할 때 사용하는 명령어 입니다.
- 디렉토리 내부의 하위 디렉토리나 파일들이 삭제 되어 있어야만 삭제 가능합니다.
10. 파일 삭제 ( rm )
[사용방법] # rm [ option ] [ file_name | directory_name ]
- 디렉토리와 파일을 삭제할 때 사용하는 명령어 입니다.
- 하위 디렉토리를 한번에 삭제할 수 있습니다.
- "i" 삭제 유무 확인, "f" 강제 삭제, "r" 하위 디렉토리까지 모두 삭제
11. 파일 복사 ( cp )
[사용방법] # cp [ option ] [source_file | source_dir] [target_file | target_dir]
- 파일을 복사할 때 사용하는 명령어 입니다. 디렉토리도 파일로 취급됩니다.
- "-b" 백업본 생성, "-f" 강제 복사, "-i" 덮어쓰기 여부 확인, "-v" 복사하기 전에 복사할 파일 출력, "-R, -r" 하위 디렉토리 복사
12. 파일 이동 ( mv )
[사용방법] # mv [ option ] [ source_file | sourece_dir ] [ target_file | target_dir ]
- 파일의 이름을 변경하거나, 다른 위치로 이동하고자 할 때 사용하는 명령어 입니다.
- "-f" 강제 이동, "-i" 겹쳐쓰기 여부 확인
13. 파일 통계치 확인 ( wc )
[사용방법] # wc [ option ] file_name
- 지정한 파일의 문자, 단어, 라인, 바이트수 등을 세어 결과를 출력 해주는 명령어 입니다.
- 하나 이상의 파일이 지정될 때에는 전체 라인수도 출력하게 됩니다.
- "-c" 문자 수, "-w" 단어 수, "-m" 글자 수, "-l" 라인 수, "-L" 가장 긴 문장의 길이
[사용방법] # wc [ option ] file_name
- 지정한 파일의 문자, 단어, 라인, 바이트수 등을 세어 결과를 출력 해주는 명령어 입니다.
- 하나 이상의 파일이 지정될 때에는 전체 라인수도 출력하게 됩니다.
- "-c" 문자 수, "-w" 단어 수, "-m" 글자 수, "-l" 라인 수, "-L" 가장 긴 문장의 길이
14. 파일 찾기 ( find )
[사용방법] # find [directory] [option] [action]
- 시스템에서 원하는 조건에 맞는 파일을 찾고자 할 때 사용하는 명령어 입니다.
- 찾은 파일에 대하여 명령을 실행할 수 있습니다.
- diectory 필드에 " . ", " ~ ", "사용자 ID" 를 이용할 수도 있습니다.
◎ option
- empty : 비어있는 파일 찾기
- uid UID : 지정한 UID 값을 가지는 파일 찾기
- gid GID : 지정한 GID 값을 가지는 파일 찾기
- user username : 지정한 사용자가 소유하고 있는 파일 찾기
- group groupname : 지정한 그룹이 소유하고 있는 파일 찾기
- nouser : 파일 소유주가 없는 파일 찾기
- nogroup : 파일의 그룹이 없는 파일 찾기
- newer : 지정한 파일 이후에 생성된 파일 찾기
- cnewer : 지정한 파일 이후에 수정된 파일 찾기
- atime +n/-n/n : 최근 n일 이전에 access된 파일 찾기
( "-n" n일동안 access된 파일, "+n" n일동안 access되지 않은파일, "n" n일에 access된 파일 )
- ctime +n/-n/n : 파일의정보를 변경한 시간을 기준으로 파일 찾기
( "-n" n일동안 파일의 정보를 변경한 파일, "+n" n일동안 파일의 정보가 변경되지 않은파일, "n" n일에 파읠의 정보가 변경된 파일 )
- mtime +n/-n/n : 파일의 내용을 변경한 시간을 기준으로 파일 찾기
( "-n" n일동안 수정된 파일, "+n" n일동안 수정되지 않은파일, "n" n일에 수정된 파일 )
- name : 지정한 패턴을 갖는 파일 찾기
- perm : 지정한 퍼미션을 갖는 파일 찾기
- type : 찾고자 하는 파일의 타입 지정
( " ! " Not 의미, " f " 일반 파일, " b " 블록 디바이스 파일, " c " 캐릭터 디바이스 파일, " l " 심볼릭 링크 파일, " d " 디렉토리 )
- size : 지정한 파일 크기로 파일 찾기
- depth : 디렉토리 검색전 파일부터 찾기
- mount : 마운트된 시스템만 찾기
- prune : 찾고자하는 디렉토리에서만 찾기
- print : 찾은 파일에대해서 절대경로를 표시
- exec cmd {}\;
[사용방법] # find [directory] [option] [action]
- 시스템에서 원하는 조건에 맞는 파일을 찾고자 할 때 사용하는 명령어 입니다.
- 찾은 파일에 대하여 명령을 실행할 수 있습니다.
- diectory 필드에 " . ", " ~ ", "사용자 ID" 를 이용할 수도 있습니다.
◎ option
- empty : 비어있는 파일 찾기
- uid UID : 지정한 UID 값을 가지는 파일 찾기
- gid GID : 지정한 GID 값을 가지는 파일 찾기
- user username : 지정한 사용자가 소유하고 있는 파일 찾기
- group groupname : 지정한 그룹이 소유하고 있는 파일 찾기
- nouser : 파일 소유주가 없는 파일 찾기
- nogroup : 파일의 그룹이 없는 파일 찾기
- newer : 지정한 파일 이후에 생성된 파일 찾기
- cnewer : 지정한 파일 이후에 수정된 파일 찾기
- atime +n/-n/n : 최근 n일 이전에 access된 파일 찾기
( "-n" n일동안 access된 파일, "+n" n일동안 access되지 않은파일, "n" n일에 access된 파일 )
- ctime +n/-n/n : 파일의정보를 변경한 시간을 기준으로 파일 찾기
( "-n" n일동안 파일의 정보를 변경한 파일, "+n" n일동안 파일의 정보가 변경되지 않은파일, "n" n일에 파읠의 정보가 변경된 파일 )
- mtime +n/-n/n : 파일의 내용을 변경한 시간을 기준으로 파일 찾기
( "-n" n일동안 수정된 파일, "+n" n일동안 수정되지 않은파일, "n" n일에 수정된 파일 )
- name : 지정한 패턴을 갖는 파일 찾기
- perm : 지정한 퍼미션을 갖는 파일 찾기
- type : 찾고자 하는 파일의 타입 지정
( " ! " Not 의미, " f " 일반 파일, " b " 블록 디바이스 파일, " c " 캐릭터 디바이스 파일, " l " 심볼릭 링크 파일, " d " 디렉토리 )
- size : 지정한 파일 크기로 파일 찾기
- depth : 디렉토리 검색전 파일부터 찾기
- mount : 마운트된 시스템만 찾기
- prune : 찾고자하는 디렉토리에서만 찾기
- print : 찾은 파일에대해서 절대경로를 표시
- exec cmd {}\;
15. 특정 패턴 검색 ( grep, egrep, fgrep )
* grep 명령어
[사용방법] grep [ option ] 패턴 file_name
- 파일 안의 정규식으로 표현한 특정 패턴을 찾아 검색 후 출력하는 명령어 입니다.
- "-i" 대소문자 구별 안함, "-n" 행번호 같이 출력, "-b" 검색 결과의 각 행 앞에 검색된 위치의 블록 번호를 표시.
◎ 기본적인 정규식 표현
- ? : 종류에 상관없는 한글자
- * : 길이에 상관없는 문자열
- ^ : 라인의 첫 시작 ex) ^d - d로 시작하는 라인
- $ : 라인의 마지막 위치 ex) c$ - c로 끝나는 라인
- [] : 한 문자 길이의 패턴들 ex) [ab] a,b 중 한글자라도 반드시 있는 단어
- [^] : 입련된 문자들의 여집합 ex)[^ab] a,b 중 한글자라도 없는 단어
- \ : 정규식에 사용되는 문자를 그대로 사용
- \< : 단어의 시작 위치 ex)\<love love 로 시작하는 단어를 포함하는 행과 대응
- \> : 단어의 마지막 위치 ex)\>love love로 끝나는 단어를 포함하는 행과 대응
* grep 명령어
[사용방법] grep [ option ] 패턴 file_name
- 파일 안의 정규식으로 표현한 특정 패턴을 찾아 검색 후 출력하는 명령어 입니다.
- "-i" 대소문자 구별 안함, "-n" 행번호 같이 출력, "-b" 검색 결과의 각 행 앞에 검색된 위치의 블록 번호를 표시.
◎ 기본적인 정규식 표현
- ? : 종류에 상관없는 한글자
- * : 길이에 상관없는 문자열
- ^ : 라인의 첫 시작 ex) ^d - d로 시작하는 라인
- $ : 라인의 마지막 위치 ex) c$ - c로 끝나는 라인
- [] : 한 문자 길이의 패턴들 ex) [ab] a,b 중 한글자라도 반드시 있는 단어
- [^] : 입련된 문자들의 여집합 ex)[^ab] a,b 중 한글자라도 없는 단어
- \ : 정규식에 사용되는 문자를 그대로 사용
- \< : 단어의 시작 위치 ex)\<love love 로 시작하는 단어를 포함하는 행과 대응
- \> : 단어의 마지막 위치 ex)\>love love로 끝나는 단어를 포함하는 행과 대응
* egrep 명령어
[사용방법] # egrep [ option ] 패턴 file_name
- 패턴이 정규식이 아닌 확장 정규식을 통하여 더 많은 다양한 패턴을 찾아 검색할 수 있는 명령어 입니다.
[사용방법] # egrep [ option ] 패턴 file_name
- 패턴이 정규식이 아닌 확장 정규식을 통하여 더 많은 다양한 패턴을 찾아 검색할 수 있는 명령어 입니다.
* fgrep 명령어
[사용방법] fgrep [ option ] 패턴 file_name
- 정규식을 전혀 사용하지 않고 입력한 패턴을 그대로 인식합니다.
- " * ", " + " , " ^ ", " $ ", " [] " 기호들도 그대로 인식합니다.
[사용방법] fgrep [ option ] 패턴 file_name
- 정규식을 전혀 사용하지 않고 입력한 패턴을 그대로 인식합니다.
- " * ", " + " , " ^ ", " $ ", " [] " 기호들도 그대로 인식합니다.
15. 파일 비교 및 정렬 ( cmp, diff, sort )
* cmp 명령어
[사용방법] cmp [ option ] [ file1 ] [ file 2 ]
- 두 개의 파일을 비교하여 다른 점을 확인할 때 사용하는 명령어 입니다.
- 단순하게 비교되기도 하지만 몇 번째 행의 몇 번째 문자가 다른지도 확인할 수 있습니다.
- " -l " 틀린 문자 개수 출력 및 8진수 값을 출력, " -s " 아무런 메시지없이 종료 코드만 넘겨줍니다. (0:같음, 1:다름, 2:접근불가)
* diff 명령어
[사용방법] diff [ option ] [ file1 ] [ file 2 ]
- cmp 와 역할이 비슷하지만 출력 결과가 상당히 정확합니다.
- "--brief" 같은지 다른지 비교, "-c" 파일의 차이점을 상세히 출력, "-d" 자세히 비교, "-r" 재귀적인 비교, "-s" 파일 비교시 동일하면 결과 출력, "-H" 용량이 큰 파일 비교시 빠르게 비교, "-i" 대소문자 구분 없음
* sort 명령어
[사용방법] sort [ option ] file_name
- 텍스트로 된 파일의 라인을 원하는 순서로 정렬하고자 할 때 사용하는 명령어 입니다.
◎ option
- n : 라인의 각 필드를 비교하는 대상을 숫자로 지정
- d : 사전 순으로 정렬
- M : Month 를 나타내느 세 자리 영어 단어를 사용하여 정렬
- f : 대소문자를 비교하지 않고 정렬
- k : 비교시 시작 필드를 지정
- r : 내림차순으로 정렬
- u : 중복된 행을 하나로 통합하여 정렬
- o : 출력 결과를 파일로 저장 가능
- t : 하나의 글자를 적을 수 있으며 필드를 구분하는 구분자로 사용
[사용방법] sort [ option ] file_name
- 텍스트로 된 파일의 라인을 원하는 순서로 정렬하고자 할 때 사용하는 명령어 입니다.
◎ option
- n : 라인의 각 필드를 비교하는 대상을 숫자로 지정
- d : 사전 순으로 정렬
- M : Month 를 나타내느 세 자리 영어 단어를 사용하여 정렬
- f : 대소문자를 비교하지 않고 정렬
- k : 비교시 시작 필드를 지정
- r : 내림차순으로 정렬
- u : 중복된 행을 하나로 통합하여 정렬
- o : 출력 결과를 파일로 저장 가능
- t : 하나의 글자를 적을 수 있으며 필드를 구분하는 구분자로 사용