반응형

개발을 하다 보면 큰 파일들을 다루게 될 때가 종종 있다.
임베디드 개발을 예로 들자면 타겟의 루트 파일 시스템을 직접 flashing 해야 하거나
어느 때는 아주 큰 용량의 core 파일이나 로그 파일을 확인해야 할 때도 있다.

평소에 파일 관리를 잘하고 꼼꼼한 사람들은 안 그러겠지만,
나 처럼 즉흥적으로 처리하는 걸 좋아하거나 여기저기 다른 부서, 고객들로부터 다양한 이슈를 전달 받거나 하다 보면 
어느 순간 부족한 용량으로 인해 당황하게 될 때가 있다.

그럴 때 어디에 뭐가 있는지 찾는 일은 아주 성가시고 번거로운 일인데,
그래서 급하게 하나 만들었다.

큰 파일을 찾는 bash script.
find 기반으로 동작하며 꽤 쓸만하여 공유한다.
사실 한줄 짜리고 find 명령어에 능숙한 사람이라면 크게 의미 없지만 파라미터를 받아서 편하게 쓸 수 있는 장점이 있다...;

언제나 그렇듯 서두가 길었고, 스크립트는 다음과 같다.

#!/bin/bash

MIN_SIZE=${1:-800M}

ROOT_PATH=${2:-/}

find "$ROOT_PATH" -type f -size +"$MIN_SIZE" -exec du -h {} + | sort -rh | head -n 30

 

사용법은 다음과 같다.

 

# 사용법
./${script_path} ${minimum_size} ${search_path}

# 예시
./find_large.sh 1000M /data

 


즉 파라미터로 특정 크기 이상의 파일을 찾기 위해, 파일 탐색을 위한 파일의 최소 사이즈를 넘겨준다.

이를 통해 해당 사이즈보다 큰 파일들만을 검색하게 된다.
그리고 다음 파라미터로 검색을 수행 할 경로를 써주면 된다.

 

급할 때 나름 유용하니 머리 한 편에 이런 글이 있었지 하고 나중에 써먹어보길 바란다.

반응형

'Spadeworks > bash' 카테고리의 다른 글

minicom 키보드 입력 안되는 경우  (1) 2024.09.24
[bash] 명령어 반복  (0) 2023.09.19
[bash] 파일 탐색  (0) 2023.09.10
[bash] bash를 이용한 json 파일 파싱  (0) 2022.08.11
[bash] 특정 길이의 무작위 문자열 획득  (0) 2022.08.11
반응형

bash 스크립트를 통해 주어진 이름의 프로세스가 시스템 상에서 동작 중인지 확인하는 bash 스크립트 구현에 대해 알아본다.

 

여기서 이용한 것은 pgrep 이라는 명령어 이다.

pgrep 에 대해 linux man page에 기재되어 있는 내용을 간단히 살펴보면 아래와 같다.

  • pgrep : looks through the currently running processes and lists the process IDs which match the selection criteria to stdout. All the criteria have to match

 

- 시스템 상 특정 프로세스가 구동 중인지 확인하기 위한 bash 스크립트로 pgrep을 활용하는 방법

#!/bin/bash

PROC="some_process"
if pgrep -f "PROC" >/dev/null
then
    echo "$PROC is running"
else
    echo "$PROC is not running"
fi
반응형

'Spadeworks > bash' 카테고리의 다른 글

[bash] 파일 크기 순으로 검색  (0) 2023.12.12
[bash] 명령어 반복  (0) 2023.09.19
[bash] 파일 탐색  (0) 2023.09.10
[bash] bash를 이용한 json 파일 파싱  (0) 2022.08.11
[bash] 특정 길이의 무작위 문자열 획득  (0) 2022.08.11

+ Recent posts