기본 콘텐츠로 건너뛰기

리눅스에서의 스크립트 자동화하기

리눅스에서의 스크립트 자동화하기 안녕하세요, mj입니다. 오늘은 리눅스에서 스크립트를 활용한 자동화 방법에 대해 알아보겠습니다. 많은 사용자들이 스크립트를 통해 반복적인 작업을 간소화하고, 효율성을 높이고 있습니다. 이번 포스팅에서는 스크립트 작성 방법과 다양한 활용 사례를 소개하겠습니다. 리눅스 스크립트란? 리눅스 스크립트는 일련의 명령어를 자동으로 실행하기 위해 작성된 파일입니다. 주로 쉘 스크립트가 사용되며, 이는 사용자가 자주 수행하는 작업을 자동화하는 데 유용합니다. 스크립트는 주로 .sh 확장자를 가지며, 실행 권한을 부여한 후 실행할 수 있습니다. 스크립트 작성 방법 스크립트를 작성하는 기본적인 방법은 다음과 같습니다: 텍스트 편집기를 사용하여 파일 생성 (예: nano myscript.sh ) 스크립트의 첫 줄에 쉘을 지정하는 해시뱅 작성 (예: #!/bin/bash ) 실행할 명령어 작성 파일에 실행 권한 부여 (예: chmod +x myscript.sh ) 스크립트 실행 (예: ./myscript.sh ) 스크립트 활용 사례 아래는 리눅스 스크립트를 활용한 몇 가지 사례입니다: 1. 파일 백업 자동화 #!/bin/bash tar -czf backup_$(date +%Y%m%d).tar.gz /path/to/directory 이 스크립트는 특정 디렉토리를 날짜별로 압축하여 백업합니다. 2. 시스템 업데이트 자동화 #!/bin/bash sudo apt update && sudo apt upgrade -y 이 스크립트는 시스템의 패키지를 자동으로 업데이트합니다. 3. 로그 파일 정리 #!/bin/bash find /var/log -type f -name "*.log" -mtime +30 -exec rm {} \; 30일 이상된 로그 파일을 자동으로 삭제하는 스크립트입니다. 4. 사용자 추가 스크립트 #!/bin/bash read -p ...

7. free

안녕하세요, MJ 입니다.


리눅스 시스템의 메모리 정보를 확인하기위해 free 명령어를 사용 할 수 있습니다.


free 명령어에 대해 알아보겠습니다.

 

[free 명령어 결과]

[root@run-linux ~]# free               total        used        free      shared  buff/cache   available
Mem:         3747544      352632     3416564        8748      200580     3394912
Swap:        2097148           0     2097148

===> free 명령어 결과로 키로바이트 단위로 확인합니다.
[root@run-linux ~]# free -m
               total        used        free      shared  buff/cache   available
Mem:            3659         344        3336           8         195        3315
Swap:           2047           0        2047

===> free 명령어 결과로 메가바이트 단위로 확인합니다.
[root@run-linux ~]# free -g
               total        used        free      shared  buff/cache   available
Mem:               3           0           3           0           0           3
Swap:              1           0           1

===> free 명령어 결과로 기가바이트 단위로 확인합니다.
[root@run-linux ~]# free -h
               total        used        free      shared  buff/cache   available
Mem:           3.6Gi       344Mi       3.3Gi       8.0Mi       195Mi       3.2Gi
Swap:          2.0Gi          0B       2.0Gi

===> free 명령어 결과를 사람이 읽기 편한 단위로 확인합니다.

 

<free 명령어 결과 설명>

total현재 시스템에 설치되어있는 전체 메모리의 크기.
used현재 사용 중인 메모리 크기를 나타낸다. (total - free - buffer/cache)
free시스템에서 사용 가능한 잔여 메모리의 크기를 나타낸다. 즉, 사용되지 않은 메모리의 양으로 커널 또는 애플리케이션이 사용 가능하다.
shared프로세스 사이에서 공유되는 메모리의 크기이다. 주로 프로세스 또는 스레드 간 통신에 사용된다.
man을 통해 설명을 확인하면 tmpfs에서 사용되는 메모리로 나와있다. 이는 top 명령어에서의 shr과 다르다.(top에서의 shr은 공유되는 라이브러리 등이 올라와있는 메모리를 말한다)
buffer / cache커널이 IO성능 향상을 위해 캐시 영역으로 사용하는 메모리의 크기이다. buffer는 Buffer cache의 크기를 나타내며, cache는 Page cache + slabs의 크기이다.
availablecentos7에 들어서면서 기존에 존재하던 -/+ buffer/cache 부분이 제거되고 생겨났다. 해당 설명을 man으로 확인하면 아래와 같다.

buffer/cache 설명(새창으로 열립니다)


도움말
[root@run-linux ~]# free --help

Usage:
 free [options]

Options:
 -b, --bytes         show output in bytes
     --kilo          show output in kilobytes
     --mega          show output in megabytes
     --giga          show output in gigabytes
     --tera          show output in terabytes
     --peta          show output in petabytes
 -k, --kibi          show output in kibibytes
 -m, --mebi          show output in mebibytes
 -g, --gibi          show output in gibibytes
     --tebi          show output in tebibytes
     --pebi          show output in pebibytes
 -h, --human         show human-readable output
     --si            use powers of 1000 not 1024
 -l, --lohi          show detailed low and high memory statistics
 -t, --total         show total for RAM + swap
 -s N, --seconds N   repeat printing every N seconds
 -c N, --count N     repeat printing N times, then exit
 -w, --wide          wide output

     --help     display this help and exit
 -V, --version  output version information and exit

For more details see free(1).
 

 free 명령어에 대해 알아보았습니다.


문의사항은 댓글을 달아 주시면 성심껏 답변 드리겠습니다.

감사합니다.

댓글

가장 많이 본 글

5. 버추얼박스:설정 (+네트워크의 종류 설명)

안녕하세요 , MJ 입니다 .   우리가 실습을 하는데에 필요한 버추얼박스의 설정에 대해 설명을 합니다 .     버추얼 박스의 설정에는 종류별로 메뉴가 구분되어있습니다 . 1-1. 환경설정 1-2. 네트워크 설정 1-3. 미디어 설정       다른 설정도 존재하지만 , 필요한 일이 없을것이 예상되고 , 위 3 가지 설정에 대해서만 알고 계신다면 버추얼 박스로 실습을 하는데에 아무런 지장이 없고 또 취업을 하신 뒤에 실무에 가셔서도 문제가 될 것이 없습니다 .   환경설정 부터 확인하겠습니다 . 1-1. 환경설정 : 우리가 알아야 편한 내용은 2 가지가 있는데 VM 의 기본 저장경로 설정 " 파일 (F)" 의 환경설정 (P) … [ 단축키 : Ctrl+G] 을 누르면 환경설정 창이 보이고 , 제일먼저 확인되는 기본 머신 폴더 (M) 입니다 . VM 을 저장 할 경로를 지정하는 것인데 VM 은 가상 머신으로 디스크의 용량과는 상관없이 , 가상 컴퓨터의 정보가 저장되는 것으로 , 텍스트 파일형태로 저장되어있고 , 그 내용에는 CPU 를 몇개 사용하도록 되어있는지 , 메모리는 얼마만큼을 할당하도록 되어있는지 , 네트워크 인터페이스는 몇 개가 어떻게 설정되어있는지 ... 등 가상의 컴퓨터를 정의하는 내용의 파일이 저장되는 경로가 되고 ,   디스크 파일은 별도 미디어 설정에서 관리가 되지만 VM 을 생성하는 과정에서 만든 디스크는 VM 저장경로에 함께 생성 되어있어 사용자가 파일탐색기로 경로를 찾아가보면 파일의 사이즈로 아 이것이 디스크 파일인가보구나 하고 알 수 있습니다 .( 용량이 크고 ...

MJ. 로또의 회차별 당첨번호 API 확인 (예제포함)

안녕하세요, MJ 입니다.   로또 당첨번호를 확인하기위해 동행복권 사이트를 찾아 가거나, 포털사이트에서 검색을 할 수 있지만, 다음 주소를 브라우저에 붙여넣거나, curl 명령을 이용하여 터미널에서 손쉽게 확인할 수 있는 방법이 있어 소개를 드리려고 합니다.     < URL> https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo= < 회차번호 >     - API 주소 활용 방법 브라우저에 URL 입력하여 확인 .           >> 인터넷 주소창에 URL 을 입력       ( 윈도우 ) cmd / ( 리눅스 ) bash 터미널에서 curl 을 사용하여 확인 .( 예 : 123 회차 ) >> curl " https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo= 123 " <cmd>   <bash>         python/java/c 등 코드를 만들어서 확인 . >> 코드를 짜서 확인하는 것이 , 데이터를 가공하기도 좋고 , 앞으로 출현할 숫자를 분석하기도 좋지만 , 자신이 원하는 대로 데이터를 가공하기 위해 시간과 노력의 투자가 필요함 .       [ (API 결과 예시 ) 123 회차 조회결과 ] >> json 형식으로 공백 , 줄바꿈이 없이 순서도 제멋대로 확인되지만 (브라우저나 터미널에서 확인하면), 다음과 같은 데이터가 확인됨 .   <확인한 정보 줄맞춰봄> #######...