상세 컨텐츠

본문 제목

Unix, Linux commamd 모음 및 예시(last update 23.08.20)

IT정보

by 맛집스나이퍼 2023. 7. 27. 11:13

본문

728x90
반응형
SMALL


- find  -
-----------------------------
find ./ -name '*.jar'

  -> .jar로 끝나는 파일 검색, 현재폴더에서 하위폴더 까지 검색

-----------------------------

      (설명)

      find : 명령어

      ./     :  현재 폴더 위치부터

      -name : 검색 옵션(이름)

      '*jar'    :  jar 로 끝나는 파일

 

<실제 사용예제>

-----------------------------

find ./ -name '*.jar' ! -name '*old*'

  -> 파일명에 "old" 문구가 들어가는 파일은 제외

-----------------------------

<실제 사용예제>


-----------------------------

find ./ -name '*.jar' ! -name '*old*' -exec rm -rf {} \;

  -> 찾은 파일들을 삭제 처리.

-----------------------------

<실제 사용예제>

1. jar 파일 다 찾음. 2. old 가 들어가는 파일 제외하고 찾고, 삭제 3. jar 파일 찾음


- tar -

-----------------------------

tar -cvf test.tar dir_test

  -> dir_test 폴더를 test.tar 파일명으로 압축

-----------------------------

-----------------------------
tar -xvf test.tar

  -> test.tar 파일을 압축 해제

-----------------------------

<실제 사용예제>

-----------------------------
tar cvf - 폴더명 | split -b 2048m - aaa.tar

  -> 분할압축

-----------------------------

-----------------------------
tar cvfz - 폴더명 | split -b 2048m - aaa.tar.gz

  -> 분할압축, 용량도 압축

-----------------------------
-----------------------------
cat 파일명.tar* | tar xvf -
  -> 분할압축 해제

-----------------------------

-----------------------------
cat 파일명.tar.gz* | tar xvfz -
  -> 분할압축(용량압축) 해제

-----------------------------

- uniq -

-----------------------------
cat aa.txt | sort | uniq -c
-> 정렬후,  중복되는 대상 카운트

-----------------------------

<실제 사용예제>

.aa.txt 파일 정렬후, 중복숫자 count (공백,1,2,3,5 - 1개 , 4 - 2개)


- sort -

-----------------------------
cat aa.txt | sort -u
-> 정렬후, 중복제거

-----------------------------

<실제 사용예제>

aa.txt 파일 정렬후, 중복 제거

- cpu -

-----------------------------

lscpu

 -> linux cpu 확인

-----------------------------

<실제 사용예제>

 

-----------------------------

du -sh *

 -> : 한단계 서브디렉토리 기준 사용량 보여준다.

-----------------------------

<실제 사용예제>

 

-----------------------------

df

  -> 디스크 용량 확인

-----------------------------

df -k : 킬로바이트 단위로 현재 남은 용량을 확인

df -m : 메가바이트 단위로 남은 용량을 왁인

df -h : 보기 좋게 보여줌

df . : 현재 디렉토리가 포함된 파티션의 남은 용량을 확인

<실제 사용예제>

 

cpu 사용량

-----------------------------

top -d 0.1 n 10 | grep cpu

  -> CPU 사용량

-----------------------------

<실제 사용예제>

 

awk

-----------------------------

cat awk_sample.txt | awk -F "\\[TEST1\\]|\\[3\\]" '{print $2}'

  -> [TEST1] [3]  기준으로  2번째 항복을 구한다  (예 : $1 = null , $2 = [TEST2], $3 = [4])

      대괄호 특수문자를 일반 문자로 인식 시키기위해 \\[ 으로 처리

-----------------------------

<실제 사용예제>

 

nawk : SUN OS에서 awk 사용하기 위한 명령어

-----------------------------

cat awk_sample.txt | nawk -F "\\[TEST1\\]|\\[3\\]" '{print $2}'

  -> 위와 동일

-----------------------------

<실제 사용예제>

 

-----------------------------

less

  -> SUNOS 에서 more 이랑 동일하게 사용하기 위한 명령어)

-----------------------------

 

 

- perl 치환기능-

-----------------------------

find ./ -type f -name "*.sh" -exec perl -pi -e "s/test111/test222/g" {} \;

  -> 현재 폴더부터 하위폴더 까지 *.sh 대상에 대한 내용중 test111 을 test222로 치환

     (옵션) 

          -i  현재 수정중인파일 덮어쓰기

          -p  완료후 출력(print)

          -e  즉석계산기 가능(1줄짜리)  예: perl -e 'print 1+1 ,  "\n"'

 

^M 없애는법 :  perl -pi -e "s/\r//g" *       (변경은 잘 되나, 실행시 에러 가능성있음, 개별 추가확인필요)

-----------------------------

<실제 사용예제>

 

 

 

 

 

 

 

 

 

 

 

 

- xargs -

-----------------------------

find ./ -type f -name "*.*" | xargs grep -E "AAA|BBB"

  ->  모든 하위폴더내  *.* 대상 파일들 내용중 AAA or BBB 문구가 들어간 줄 찾기

-----------------------------

<실제 사용예제>

- find, exec, shell script -

-----------------------------

find ./ -name '*.*' -exec sh -c 'echo $0 `grep "AAA" $0 | wc -l`' {} \;

   -> AAA 가 문구가 들어간 각 파일의 이름과 각 파일별 cnt 계산

-----------------------------

 

<실제 사용예제>

- find, exec, shell script, awk -

-----------------------------

find ./ -name "*.txt" -exec sh -c 'echo $0 `cat $0 | awk '\'' $1 > 3 {print $0}'\'' | wc -l`' {} \;

   ->  각 파일별 3보다큰 숫자 cnt

-----------------------------

<실제 사용예제>

- find, exec, awk, sum -

-----------------------------

cat math.txt | awk '{sum += $1; num++} { print "sum=", sum; print "num = ", num; print "avg=", sum/num}'

     -> sum, cnt, avg 계산  매번 계산후 출력

cat math.txt | awk '{sum += $1; num++} END { print "sum=", sum; print "num = ", num; print "avg=", sum/num}'

     -> sum, cnt avg 계산   계산 다한후 1번만 출력

-----------------------------

<실제 사용 예제>

 

- awk, substr, length, index, match -

-----------------------------

cat math.txt | awk '{ print substr($0,1,3}, length($0), index($0, "DD"), match($0, "DD") }'

     -> 1~3 substring 출력, size 출력, "DD" 의 시작 위치 출력, "DD" 의 시작 위치 출력

-----------------------------

<실제 사용 예제>

 

- xargs, exec 차이점 -

 거의동일하나, exec는 find 명령어 내에 있는기능, exec는 뒤에 명령어가 길면 에러가 발생.

 

 

728x90
반응형
LIST

'IT정보' 카테고리의 다른 글

윈도우10(Hyper-V) 리눅스(우분투) 설치  (0) 2023.07.24
hp환경 csh 1일전 구하기  (0) 2023.06.14

관련글 더보기

댓글 영역