반응형

프로그래밍/Unix 54

[유닉스] 필드 잘라내기 ( cut )

cut 파일의 선택된 필드를 추출 형식 : cut [옵션] [파일] 옵션 -c 리스트 : 각 행에서 잘라낸 문자의 위치를 지정 -f 필드번호 : 지정한 필드를 잘라냄 -d 문자 : 필드 구분자 사용 예 cut –c 1-3 test cut –f 3 test 문자 추출 : -c 예제 파일 만들기 cut 명령은 탭으로 구분되어야 다른 필드로 인식 $ cp test_sort2 test_cut $ cat test_cut 001 Hong Gil-Dong 80 M 002 Park Ji-Sung 76 M 003 Cha Doo-Ri 90 M 004 Park Chan-Ho 88 M 005 Kim Yun-A 50 F 006 Bae Sue-Ji 48 F 007 Han So-Ri 49 F $ 파일에서 원하는 문자열 추출 5번째..

[유닉스] 중복 삭제 ( uniq )

uniq 중복 행을 삭제 형식 : uniq [옵션] [파일] 옵션 -c : 각 행 처음에 중복 횟수를 출력 -d : 중복된 행 중 한 행만 출력. 원래 유일했던 행은 삭제 -u : 중복되지 않는 행만 출력 사용 예 uniq test uniq –c test 중복 제거 예제 파일 만들기 $ cat test_uniq aaaaa abcde abcde bbbbb abcde bbbbb bbbbb abcde ccc $ uniq 명령을 옵션 없이 실행한 결과 인접한 행의 중복은 제거, 전체 중복은 확인하지 못함 해결 방법은 sort와 결합하는 것 $ uniq test_uniq aaaaa abcde bbbbb abcde bbbbb ccc $ $ sort test_uniq | uniq aaaaa abcde bbbbb cc..

[유닉스] 분할 ( split )

split 큰 파일을 일정한 크기를 가진 여러 개의 작은 파일로 분할 옵션을 지정하지 않으면 1000행씩 분할 형식 : split [옵션] [파일명] 옵션 : -b n : 크기가 n 바이트인 파일로 분할 -n : n행씩 분할 사용 예 split test split –50 test 행을 기준으로 파일 분할 test_split 파일을 30행씩 나누는 방법 $ cp /ets/group test_split $ wc –l test_split 67 test_split $ split –30 test_split $ wc –l x* 30 xaa 30 xab 7 xac 67 total $ 바이트를 기준으로 파일 분할 test_split 파일을 512바이트씩 분할 512바이트인 파일 xaa와 423바이트인 파일 xab 생성..

[유닉스] 파일 정렬 ( sort )

sort 텍스트로 된 입력 내용을 정렬하여 화면에 출력 형식 : sort [옵션] [파일] 사용 예 sort test sort –fd test sort –k 2 –nr –o sort.out test 기본 정렬 sort 명령을 옵션 없이 이용하면 환경 변수 LC_COLLATE의 값에 따라 다르게 정렬됨 LC_COLLATE가 없으면 LANG 값에 따라 정렬 순서가 달라짐 현재 환경 변수의 설정값은 env와 grep 명령으로 확인 영문 유니코드로 설정되어 있음을 나타냄 정렬 순서 : 공백 문자, 특수 문자, 숫자, 영문자의 순 (영문자는 대소문자 구분하지 않음) $ env | grep LC_COLLATE $ env | grep LANG LANG=en_US.UTF-8 $ $ vi test_sort $ cat t..

파일 및 디렉토리 검색 ( wc, ,grep, egrep, fgrep )

wc 파일의 행 수, 단어 수, 문자 수를 출력 형식 : wc [옵션] 파일명 옵션 -c : 바이트 수 -m : 문자 수 -C : -m과 동일 -l : 행 수 -w : 공백 문자나 새로운 행으로 구분된 단어의 수 사용 예 wc –l test2 wc –cw test2 파일의 기본 정보 보기 라인 수 6, 단어 수 7, 바이트 수 61 $ vi test.c $ cat test.c #include main() { printf(“Hello, World~!\n”); } $ wc test.c 6 7 61 test.c $ 파일의 바이트 수와 문자 수 보기 : -c, -m 옵션 옵션을 지정하지 않으면 바이트 수가, -m 옵션을 지정하면 문자 수가 출력됨 영어는 문자 수와 바이트 수가 같고, 한글은 다름 $ wc –c ..

[유닉스] 파일 송신, 수신 (telnet, rlogin, ssh, ftp, rcp)

telnet 가장 광범위하게 구현된 네트워킹 명령. 어떤 종류의 원격 시스템과도 접속할 수 있음 형식 : telnet hostname 또는 IP_Address 시스템에 로그인할 때와 똑같이 사용자 ID와 패스워드를 입력하기 위한 화면이 나타남 원격 시스템의 계정을 가지고 로그인 접속 종료 : exit 또는 logout 호스트 이름을 주지 않으면 다음과 같이 telnet 프롬프트가 나타남 $ telnet telnet> SunOS에 guest라는 계정으로 원격 로그인을 시도한 예제 $ telnet telnet> open css3.school.ac.kt Trying 203.234.73.6... Connected to cc.school.ac.kr (203.234.75.41) Escape character is ..

[유닉스] 통신 명령어( write, wall, talk, mesg )

통신 명령어( write, wall, talk, mesg ) write, wall, talk, mesg를 사용하여 사용자간 직접 통신을 할 수 있습니다. write 명령을 이용한 통신 지정한 사용자에게 메시지를 전송 메시지를 전달하려는 사용자는 하나만 지정 가능 형식 : write 사용자명 [단말기명] 사용 예 : write user2 write 명령으로 보내는 메시지는 상대방이 무슨 작업을 하고 있든지 상관없이 그대로 화면에 출력됨 write 명령을 입력하면 커서가 다음 행으로 이동하고 대기 상태 상대방의 화면에는 “Message from user1 on … ” 메시지가 화면에 출력됨 상대방 user2의 화면에는 다음 메시지 출력 //송신 $ write user2 //수신 $ Message from u..

호스트와 사용자 정보( hostname, nslookup, ping, finger )

호스트명 확인 : hostname 명령 현재 사용 중인 유닉스 시스템의 호스트 이름 확인 형식 : hostname $ hostname Ubuntu $ IP 주소 검색 : nslookup 명령 DNS (Domain Name System) 서버를 이용하여 도메인이나 IP를 조회하는 명령 DNS란 : 인터넷 상의 컴퓨터는 호스트명과 IP 주소를 가짐. 호스트명은 사용자가 사용하는 이름. IP 주소는 실제 통신에서 사용되는 주소. 호스트명을 IP 주소로 번역하는 서비스를 말함. 전화번호부와 같은 역할 호스트 이름 또는 DNS 서버의 작동을 테스트하고자 할 경우 사용 형식 : nslookup [option] Hostname 또는 IP_Address nslookup 명령을 실행하면 프롬프트가 >로 바뀜 IP 주소를..

[유닉스] 파일 아카이브 - .gz 파일, .zip 파일, .bz2 파일

gzip/gunzip gzip 명령으로 파일을 압축하여 .gz 파일을 생성할 수 있고, gzip 또는 gunzip 명령을 이용하여 압축을 풀 수 있다. 압축하기 : gzip 지정한 파일을 압축해 파일이름.gz 파일 생성 압축 효율이 좋음 형식 : gzip [옵션] 파일명 옵션 -d : 파일 압축을 해제 -l : 압축된 파일의 정보를 보여줌 -r : 하위 디렉토리로 이동하여 파일 압축 -t : 압축 파일 검사 -v : 압축 정보를 화면에 출력 -g : 최대한 압축 사용 예 gzip test1.txt gzip –v test2.txt test3.txt $ gzip test1.txt $ ls test1.* test1.txt.gz $ -d 옵션을 사용해 압축 파일 복원 가능 -l 옵션을 사용해 압축 파일에 대한 ..

[유닉스] 파일 압축하기(compress), 압축풀기(uncompress)

압축하기 : compress 파일을 압축 가장 오래된 압축 유틸리티 형식 : compress [옵션] 파일명 옵션 -f : 강제 압축 -c : 압축 결과를 화면에 출력 (.Z 파일은 생성이 안 됨) -V : 압축 정보를 화면에 출력 사용 예 : compress test1.txt $ compress test1.txt $ ls test1.* test1.txt.Z $ 사용 예 : compress –v test2.txt test3.txt $ compress –v test2.txt test3.txt test2.txt: -- replaced with test2.txt.Z Compression: 15.83% test3.txt: -- replaced with test3.txt.Z Compression: 15.83% $..

반응형