본문 바로가기

여러가지/구축 & 설치

[정리] Linux 명령어 모음

● man (메뉴얼)

# man ls

# manpath  // 사용자 검색 경로 결정

>> F, B: 앞 페이지로 이동

>> / <- 찾고자 하는 옵션 ->: 검색

 

(+)

[] 선택적 요소

... 여러개 작성 가능

 

● 정보 확인

# whatis ls

# whereis ls

# which ls

# whoami  // 현재 유저 확인

# who

# w -i

# who -b // 시스템의 가장 최근 부팅 시간

 

● ping

: 네트워크 상태를 확인하고 호스트 간의 연결성을 테스트 하는 명령어

=> ICMP 패킷 보내고 응답 여부 확인

# ping google.com

# ping -c 4 google.com

 

○ ICMP

: (Internet Control Message Protocal), 네트워크 통신 문제 진단하는데 사용하는 네트워크 계층 프로토콜

 

● traceroute

: 목적지로 가는 네트워크 경로를 파악하는 명령어로

목적지까지 패킷이 이동하는 동안 거쳐가는 라우터 정보 즉, 네트워크 경로, 라우터 응답 시간 제공

따라서 라우터 간의 지연 확인 가능

# traceroute google.com

# traceroute -q 1 google.com

-> ICMP 패킷

# traceroute -U example.com       

-> UDP 패킷

# traceroute -T example.com       

-> TCP 패킷

 

● tracepath

: 목적지까지 경로에서 패킷이 거치는 라우터를 식별하여 경로 표시

# tracepath 8.8.8.8

-> ICMP 패킷

 

● netstat

: 네트워크 관련 통계및 연결 정보를 표시하는데 사용하는 명령어

1) 연결 및 소켓 정보 확인

# netstat

2) 프로세스 식별

# netstat -p

3) 라우팅 테이블 정보 확인

# netstat -r

4) 네트워크 인터페이스 정보 확인

# netstat -i

5) 실시간 업데이트

# netstat -c

6) 루트 권한 확인

# sudo netstat -p

7) 모든 네트워크 연결 확인

# netstat -a

8) TCP 연결

# netstat -at

9) UDP 연결

# netstat -au

10) 프로세스 ID와 함께 연결 표시

# netstat -ap

11) 커넥션 정보에 호스트 이름 표시

# netstat -n

12) 특정 포트 사용 확인

# netstat -an | grep 8080

 

● ss

: 네트워크 소켓 통계 및 정보 표시

# ss -a

: 모든 소켓 표시

# ss -l

: 현재 리스닝 중인 소켓 표시

# ss -t

: TCP 소켓 표시

# ss -u

: UDP 소켓 표시

# ss -p

: 프로세스 정보와 함께 표시

 

○ OSI 7계층

(1계층) 물리 / 비트 / 허브, 리피터

(2계층) 데이터링크 / 프레임 / 스위치_MAC 주소

(3계층) 네트워크 / 패킷 / 라우터_IP 주소

(4계층) 전송 / 세그먼트 / TCP, UDP

(5계층) 세션

(6계층) 표현

(7계층) 응용

 

○ IP 주소 vs Mac 주소

ㄱ. IP 주소

: 기기가 서로 인식 및 통신하기 위한 특수한 번호

ㄴ. MAC 주소

: 모든 기기에 할당된 영구적이고 고유한 물리적 주소

 

● arp

: Mac 주소와 IP 주소간의 매핑 정보 표시

# arp -an

 

○ 라우터 vs 스위치 vs 허브

ㄱ. 라우터

1) 네트워크 연결

2) 이기종 네트워크 간의 데이터 전달

3) 최적의 데이터 전송을 위한 경로 결정

(Serial 포트: 외부 인터넷 전용선과 연결 역할)

ㄴ. 스위치

ㄷ. 허브

 

○ 광케이블 vs 랜선

ㄱ. 광케이블

: 외부에서 사용하는 선

ㄴ. 랜(LAN)선

: 내부에서 사용하는 선

 

○ 유니캐스트 vs 멀티캐스트 vs 브로드캐스트 vs 애니캐스트

ㄱ. 유니캐스트: 1 대 1 연결

ㄴ. 멀티캐스트: 동일 망상의 여러 호스트 연결

ㄷ. 브로드캐스트: 동일 망상의 모든 호스트 연결 (IPv4)

ㄹ. 애니캐스트: 가장 인접한 특정 그룹 연결 (IPv6)

 

○ 개념

- DHCP

- FTP

- SMTP

 

● 네트워크 인터페이스

ens: Linux에서 네트워크 인터페이스를 식별하는데 사용되는 네트워크 인터페이스 네이밍 규칙

# nm-connection-editor &  // ens 관련 창

# ip link show

: 현재 시스템에서 사용중인 네트워크 인터페이스의 목록 확인

# ip -s link

: 성능 통계

# ip -s link show ens33

: 특정 인터페이스 지정

# nmcli device

: 현재 시스템에서 사용 가능한 모든 네트워크 인터페이스 요약 정보 확인

# nmcli connection

: 현재 시스템에 등록된 모든 연결 표시

# nmcli connection up <- 특정 연결 ->

# nmcli connection down <- 특정 연결 ->

# nmcli connection delete <- 특정 연결 ->

# ethtool ens33

: 물리적인 연결 확인

 

● 네트워크 설정 파일

ㄱ. /etc/hosts

: IP - 도메인 등록

ㄴ. /etc/host.conf (/etc/nsswitch.conf)

ㄷ. /etc/resolv.conf

: DNS 서버 확인

ㄹ. /etc/sysconfig/network

ㅁ. /etc/sysconfig/network-scripts/ifcfg-eth0(ens*)

 

● hostnamectl

: 호스트 이름 및 설정 관리 도구

# hostnamectl

: 현재 호스트 이름 확인

hostnamectl set-hostname <- 새로운 호스트 이름 ->

: 호스트 이름 변경

-> 작업 후에 #init 6(재부팅)

 

● 방화벽

ㄱ. GUI

# firewall-config &

ㄴ. firewall-cmd

a. 서비스 확인

# firewall-cmd --list-all

b. 서비스 등록

# firewall-cmd --add-service=http --add-service=httpd

firewall-cmd --add-service={http,httpd}

firewall-cmd --runtime-to-permanent --add-service=http --add-service=httpd 

// --runtime-to-permanent: 영구 모드, 부팅 시에도 적용

c. 재시작

# firewall-cmd reload

 

● 서비스 제어

# systemctl status httpd.service  // 상태 확인

# systemctl enable httpd.service  // 부팅 시 자동으로 시작되도록 활성화, 현재 시작 X

# systemctl --now enable httpd.service  // 부팅 시 자동으로 시작되도록 활성화, 현재 시작 O

# systemctl start httpd.service  // 시작

# systemctl stop httpd.service  // 중지

# systemctl restart httpd.service  // 재시작

# systemctl disable httpd.service  // 부팅 시 자동으로 시작되도록 활성화되지 않도록 설정

 

DB 관리

> show databases;  // DB 목록 보기

> use mysql;  // DB 선택하기

> select database();  // 현재 DB 확인

> select user();  // 현재 user 확인

> select version();  // 현재 version 확인

> create database DB명;  // DB 생성

> drop databases DB명;  // DB 삭제

 

● Table 관리

(선수 작업) DB 선택

> show 테이블명;  // 테이블 목록 보기

> create table 테이블명( , , ..) value ( , , ..);  // 테이블 생성

> desc 테이블명;  // 테이블 구조 보기

> rename table 테이블명 to 테이블명;  // 테이블 이름 변경

> insert into 테이블명(,,,) values(,,,);

> select * from 테이블명;

> select * from 테이블명\G  // 가로로 보여줌

> select * from 테이블명 where id=3;

> update users set name='', passwd='' where id=3;

> drop table 테이블명;  // 테이블 삭제

 

● DB 사용자 및 엑세스 관리

a. 사용자 생성(CREATE USER)

형식) CREATE USER '사용자@호스트' IDENTIFIED BY '암호'

> create user testuser@localhost identified by 'mariaDB.';

> select host,user,password from user where user='testuser'; // 사용자 확인

b. 사용자 계정에 대한 권한 부여(GRANT)

> show grants;

> show grants for testuser@localhost // 권한 확인

> grant select,update,delete,insert on testdb.users to testuser@localhost // root 사용자가 권한 부여

c. 사용자 계정에 대한 권한 박탈(REVOKE)

> revoke select,update,delete,insert on testdb.users from testuser@localhost;

> flush privileges; // reload

d. 사용자 권한 확인(SHOW GRANTS)

e. 사용자 삭제(DROP USER)

> drop user testuser@localhost;

 

● 원격 접속

# ssh <- 호스트이름@IP/localhost ->

# telnet <- IP ->

a. 키 생성

# ssh-keygen

id_rsa: 개인키

id_rsa.pub: 공개키

b. 키 복사

# ssh-copy-id -i id_rsa.pub root@server (혹은 IP)

 

● 원격 파일 전송

ㄱ. scp

ㄴ. sftp

: SSH (Secure Shell) 프로토콜을 통해 원격 시스템에 파일을 전송

1) 원격 서버 연결

# sftp username@remote_server

a. 로컬 시스템 -> 원격 서버 파일 전송

# put localfile.txt

b. 원격 서버 -> 로컬 시스템 파일 전송

# get remotefile.txt

 

● 셧다운 & 재부팅

# init 0  // 0 : Runlevel 0 = power off

# init 6  // 6 : Runlevel 6 = reboot

 

● 시스템 정보 확인

# uname

# uname -s  // 커널 이름

# uname -n  // 호스트 이름

# uname -r  // 커널 릴리즈

# uname -sr  // 커널 이름과 릴리즈

# uname -v  // 커널 버전

# uname -m  // 머신 하드웨어 이름

# uname -p  // CPU 종류

# uname -i  // 하드웨어 구현 플랫폼

# uname -o  // 운영체제 종류

 

● 시간

# date CMD

# cal CMD

 

● 사용자

ㄱ. 추가

# useradd <- 호스트이름 ->

# useradd -d /users/user02 <- 호스트이름 ->

-d: 호스트의 홈 디렉토리 지정

ㄴ. 암호

# passwd <- 호스트이름 ->  // 지정한 호스트 암호 변경

# passwd / / 현재 사용자 암호 변경

ㄷ. 확인

a. /etc/passwd

시스템에 등록된 사용자의 정보

# cat /etc/passwd

# grep <- 호스트이름 -> /etc/passwd

b. /etc/shadow

암호화된 패스워드와 패스워드 설정 정책

# cat /etc/shadow

# grep <- 호스트이름 -> /etc/shadow

ㄹ. 변경

# usermod ...

usermod <계정> -l <바꿀 계정>
다른 계정명으로 변경
usermod -c <"이름"> <계정>
계정 이름 변경
usermod -d <"경로"> <계정>
계정의 홈 디렉터리 변경
usermod -s <"셸"> <계정>
계정의 로그인 기본 셸 변경
usermod -e <날짜> <계정>
계정 만료일 설정
ex) usermod -e 2018-05-01 myuser
usermod -g <그룹> <계정>
사용자의 기본 소속 그룹 변경
usermod -G <그룹> <계정>
계정의 소속 그룹 변경
여러 그룹 지정 시 ,(콤마) 로 구분하여 지정
usermod -a -G <그룹> <계정>
계정의 소속 그룹 추가

ㅁ. 삭제

# userdel <- 호스트이름 ->

# userdel -r <- 호스트이름 ->  // 홈 폴더, 자원 함께 삭제

ㅂ. 전환

# su <- 호스트이름 ->

$ sudo -i  // 루트 계정 전환

 

● 그룹

/etc/passwd: 주 그룹

/etc/group: 부 그룹

ㄱ. 추가

# groupadd <- 그룹 이름 ->

ㄴ. 변경

# groupmod

ㄷ. 삭제

# groupdel <- 그룹 이름 ->

 

 

● 로그인 & 로그아웃

ㄱ. last

# last

ㄴ. /var/log/wtmp

: 사용자 로그인과 로그아웃 이력을 기록하는 파일

ㄷ. lastlog

# lastlog

# lastlog -u <- 호스트이름 -> // 특정 호스트 lastlog 정보만 표시

# lastlog -t 3 // 지정한 날짜기간 안에 로그인한 정보만 표시

ㄹ. lastb

# lastb

 

 

● 와일드 캐릭터

* : 0 or more character

? : one charater

{ } : 선택적인 하나의 문자열(단어)

[ ] : 선택적인 하나의 문자

 

● 환경파일

# vi ~/.bashrc 

# cat ~/.bashrc

 

● 자동화

# alias <- 변수(명령어) ->='<- 명령어 ->' <- 환경 파일에 추가

# alias <- 생성한 변수(명령어) ->  // 확인

# unalias <- 생성한 변수(명령어) ->  // 삭제

 

● 경로

ㄱ. 상대 경로

# cd Desktop/Linux/

ㄴ. 절대 경로

# cd /home/yooyijun/Desktop/Linux/

 

● 경로 확인

# pwd

 

● 루트 디렉토리 (/) vs 홈 디렉토리 (~)

: 컴퓨터 파일 시스템에서 계층 구조의 최상위 디렉토리

# cd /

a. /bin

: 실행 프로그램 파일

b. /etc

: 설정 파일, 초기화 스크립트

c. /tmp

: 임시파일용 공간

d. /var

: 생성된 로그 파일에 로그 정보 기록 파일

e. /root

: root라는 사용자 계정의 홈 폴더

f. /usr

: 소프트웨어 혹은 새로운 명령어를 설치한 설치 파일

=> ! 루트 디렉토리가 홈 디렉토리의 상위에 존재한다 !

g. /media

: 이동식 미디어(ex. USB, SD카드..)에 연결되는 위치

h. /dev

: 시스템에서 하드웨어에 엑세스 하는데 사용되는 특수 장치 파일 포함

i. /boot

: 부팅 프로세스 시작하는데 필요한 파일

j. /run

: 마지막 부팅 이후 시작된 프로세스의 런타임 데이터

 

● 이동

# cd <- 이동하고자 하는 디렉토리 경로 ->

# cd ..  // 부모 디렉토리

# cd ../bin // 같은 계층 다른 디렉토리로 이동

 

● 폴더

ㄱ. 확인

# ls

# ls -al  // 모든 디렉토리 목록&정보 출력

# ls -dl bin  // 특정 디렉토리 정보 출력

-a  // 모든

-d  // 특정

-l  // 정보

# ls -alh  // 크기 단위 읽기 편하게 변경

# ls -S  // 크기 내림차순 정렬

# ls -l --sort=time  // 정렬 조건 설정

ㄴ. 생성

# mkdir <- 폴더 이름 ->

# mkdir ~/<- 폴더 이름 -> // 홈 디렉토리에 폴더 생성

# mkdir -p Color/Red // 상위 폴더가 없을 경우, 상위 프로젝트 생성하고 하위 폴더 생성

# mkdir Day{1...10}  // Day1부터 Day10까지 폴더 생성

ㄷ. 삭제

# rmdir <- 폴더 이름 ->

# rm -d <- 폴더 이름 ->  // 폴더가 비워져 있을 때 삭제

# rm -ri <- 삭제할 폴더 이름 ->  // 대화형 인터페이스 제공

# rm -rf <- 폴더 이름 ->  // 폴더가 비워있지 않을 때 디렉토리 삭제

-r  // 비워있지 않은 폴더 삭제

-i  // 묻고 지우는 것

-f  // 묻지 않고 지우 것

-p // 하위 항목 같이 삭제

# rm -rf /test/*  // 전부 삭제

 

● 파일

ㄱ. 생성

# touch <- 파일 이름 ->

# touch ../<- 파일 이름 ->  // 한 레벨 위의 폴더에 텍스트 파일 생성

ㄴ. 속성

# file <- 파일 이름 ->

ㄷ. 삭제

# rm <- 파일 이름 ->

# rm Color/Red.txt

 

● echo

# echo 'Hello' > test.txt

a. test.txt 파일 없을 때

Hello 내용 기입된 test.txt 파일 생성

b. test.txt 파일 있을 때

test.txt 파일에 Hello 내용 추가

 

● 이동 & 이름 변경 & 복사

ㄱ. 이동

# mv <- 옮기고자 하는 파일 이름 -> <- 목적지 폴더 이름 ->

# mv <- 옮기고자 하는 폴더 이름 -> <- 목적지 폴더 이름 ->

ㄴ. 이름 변경

# mv <- 기존 파일/폴더 이름 -> <- 변경할 파일/폴더 이름->

ㄷ. 복사

# cp <- 복사하고자 하는 파일 이름 -> <- 파일 이름 ->

# cp -r <- 복사하고자 하는 폴더 이름 -> <- 폴더 이름 ->

 

● 출력

ㄱ. cat

: 파일 전체 내용 출력

# cat <- 파일 이름 ->

# cat -n <- 파일 이름 ->

# cat file1 file2 > file3  // // 파일 합치기

ㄴ. head

: 파일 앞의 내용 출력

# head /etc/passwd

# head -n 5 /etc/passwd

# head -5 /etc/passwd

ㄷ. tail

: 파일 뒤의 내용 출력

# tail /etc/passwd

tail -n 5 /etc/passwd

tail -5 /etc/passwd

tail -f /etc/passwd

-f: 포어그라운드

 

● split

# split -l <- 입력 파일 -> <- 출력 파일 ->

 

● wc

# wc <- 파일 이름 ->

# wc -l/-w/-c/-m <- 파일 이름 ->

-l: 라인 수

-w: 단어 수

-c: 바이트 수

-m: 문자 수

# cat /etc/passwd | wc -l // 시스템 사용자 수 확인

# ps -ef | wc -l // 실행중인 프로세스 수 확인

# rpm -qa | wc -l // 설치된 패키지 수 확인

 

● 파일 비교

ㄱ. cmp

# cmp <- 파일 이름 -> <- 파일 이름 ->

ㄴ. diff

# diff <- 파일 이름 -> <- 파일 이름 ->

 

● 파일 정렬

# sort

 

● 링크 파일

ㄱ. 심볼릭(하드)

# ln <- 파일 이름 -> <- 파일 이름 ->

: inode 동일

ㄴ. 소프트

: 원본 삭제시 내용 삭제, inode 상이 (= 바로가기 아이콘)

# ln -s <- 파일 이름 -> <- 파일 이름 ->

 

● 파일 속성

ㄱ. chown

: 소유자, 그룹 변경

ex) chown 소유자.그룹 파일

# chown user01.other file1

# chown .other file1

# chown -R user01.other file1 // -R 하위 속성 전부 변경

ㄴ. chgrp

: 사용자 그룹 변경

ㄷ. chmod

: 파일 접근 권한 변경

a.심볼릭 모드

# chmod [u + r / g - w / o = x / a] <- 파일 이름 ->

u,g,o,a

r,w,x

+,-,=

b. 옥탈모드

# chmod 777 <- 파일 이름 ->

 

umask

: 사용자나 프로세스가 새로운 파일을 생성할 때, 해당 파일의 기본 퍼미션(권한)을 제어하는 명령어 또는 시스템 설정

 

● 파일 압축

ㄱ. gzip

# gzip <- 파일 이름 ->  // 압축

# gunzip -c <- 압축 파일 이름 ->  // 내용 확인

# gzip -d <- 압축 파일 이름 ->  // 해제

ㄴ. bzip2

# bzip2 <- 파일 이름 ->  // 압축

# bunzip2 -c <- 압축 파일 이름 ->  // 내용 확인

# bzip2 -d <- 압축 파일 이름 ->  // 해제

ㄷ. xz

# xz <- 파일 이름 ->  // 압축

# unxz -c <- 압축 파일 이름 ->  // 내용 확인

# xz -d <- 압축 파일 이름 ->  // 해제

 

● 아카이빙

: 기존 데이터 보관(= 백업)

ㄱ. tar

ㄴ. jar

ㄷ. zip

 

● 검색

ㄱ. grep

# grep <- 찾을 단어 -> <- 경로 ->

# grep 'root' /etc/passwd

# cat /etc/passwd | grep root

(+) 패턴

# grep OPTIONS PATTERN <- 파일 이름 ->

# grep 'roo*t' /etc/passwd // 앞의 문제가 0회 이상 반복

# grep 'no...y' /etc/passwd // 개의 문자 매치(정확히 1개의 문자와 매치)

# grep '^root' /etc/passwd // 문자열의 라인의 처음 // root로 시작하는 경우에만

# grep 'bash$' /etc/passwd // 문자열 라인의 마지막 // bash로 끝나는 경우에만

# grep 'user0[123]' /etc/passwd // 대괄호에 포함된 문자 중 한개와 매치

(+)  fgrep/egrep/pcre

ㄴ. find

# find

 

● 프로세스

: 실행중인 프로그램

- PID: 프로세스 식별 번호

- PPID: 부모 프로세스 식별 번호

- 데몬: 백그라운드 프로세스

ㄱ. 관리

# CMD  // 포그라운드

# CMD &  // 백그라운드

ㄴ. 확인

# ps

# ps -ef  // 실행중인 프로세스 확인

# ps aux  

# ps a  // 사용중인 프로세스

# ps -f -u <- 호스트 이름 ->

-u: 특정 호스트 지정

ㄷ. 종료

# kill -1 | -2 | -9 | -15 PID

9: 강제 종료

15: 정상 종료(디폴트 값, 기본 지정 값)

# killall

# pkill

 

● job

# jobs  // 확인

# fg %1  // job 1번을 포그라운드로 옮기기

# bg %1  // job 1번을 백그라운드로 옮기기

<ctrl + z>  // 현재 잡 일시정지

# kill %1  //  job 1번 종료

# fg %2

<ctrl + c>  //  job 2번 포그라운드로 옮긴 뒤, 종료

 

● 모니터링

ㄱ.구문

# while true

do

clear

echo "---`date`---"

CMD

sleep 2

// echo 위에 clear 적으면, 페이지 고침 되면서 업로드

ㄴ. watch

# watch CMD

ㄷ. GUI

# gnome-system-monitor

ㄹ. top

: windows의 작업관리자, 시스템 프로세스의 CPU, 메모리 점유율 실시간 모니터링

# top, htop  // CPU, MEM

# iotop  // 디스크 I/O

# iftop  // Network I/O

# atop  // 데이터 수집시 사용(data gathering)

ㅁ. free

: 메모리 모니터링

ㅂ. vmstat

: 시스템 정보 (시스템 작업, 하드웨어 및 시스템 정보, 메모리, 페이징, 블록장치의 I/O, CPU상태) 모니터링

 

○ 메모리 확인

# free -m

# cat /proc/meminfo

# vmstat -s

# top

 

○ 네트워크

# hostname

: server1.example.com과 같은 호스트 이름, 도메인 이름

# ping

: 서버 연결 테스트

# ifconfig

: 네트워크 구성 (구성 데이터, 패킷 수) -> 인터페이스 사용량 확인 가능

(+) # ifconfig eth0 down

# ip addr

# ip route

 

● 퍼블릭 IP 확인

# curl ifconfig.me

# curl ident.me

# curl ipecho.net/plain

# curl icanhazip.com

# curl ipv4.canhazip.com

 

● host

# host example.com

: IP 주소 조회, 시스템 메일 핸들러

 

● nslookup

: 도메인의 IP 조회

# nslookup google.com

 

● dig

# dig example.com

: IPv4 주소, DNS 서버 응답 결과(조회한 도메인에 대한 정보), DNS 서버의 IP 주소/포트, 조회 소요 시간, 조회 수행 시간

 

● lsof

: 파일의 리스트를 보는 명령어

# lsof  // 현재 열려진 파일 정보

# lsof -i // 소켓

# lsof -c <데몬명>

# lsof -p <PID번호>

# lsof /etc/passwd

 

● pstree

: 실행중인 프로세스 상태 트리 구조

 

● 우선순위

: 프로세스가 운영체제의 리소스를 선점할 수 있는 권한

# nice  // 우선 순위 설정

# renice  // 우선 순위 조정 (작을수록 우선순위 높음)

# nice - (-20 ~ 19)

# nice -n (-20 ~ 19)

# renice (-20 ~ 20)

 

● 파일/파일시스템 모니터링

ㄱ. df

# df

# df -sk /var

# df -h  // 사용자가 읽기 편한 단위 출력

# df -T  // 파일시스템 타입 출력

# df -t ext4  // 타입 지정

ㄷ. du

: 사용량 위주, 디렉토리 단위의 사용량 점검

# du /test  // 각각 디렉토리의 용량

-k , -m, -h: 표시 용량

# du -ah /test

-a: 모든 파일에 대한 용량

# du -sh /test

-s: sum, 총합

# du -sk *  // 용량 합 표시

 

● Cron

ㄱ. 형식

Minute(0-59) Hour(0-23) Day(1-31) Month(1-12) Day of week(0-6) COMMAND

 

ㄴ. 옵션

*: 모든 값

5,6 : 여러 값

1-4: 범위

*/5: 반복, 5마다 반복

 

ex) 

30 * * * * COMMAND : 매 30분

0 0 * * * COMMAND : 매일 자정

0 0 1 * * COMMAND : 매달 1일 자정

30 6 * * * : 매일 오전 6시 30분

30 6 * * 1 : 매주 월요일 오전 6시 30분

30 6 * 4 1 : 매년 4월의 월요일 오전 6시 30분

*/5 * * *  *: 5분 마다

35-40 * * * *: 35-40분 동안, 즉, 35, 36, 37, 38, 39, 40 실행

 

[참고]

https://crontab.guru/

 

Crontab.guru - The cron schedule expression editor

 

crontab.guru

 

(+) 이메일, 마운트, RAID, systemctl

 

(+)

lsblk: 파일 시스템 정보

minfree: 남아 있는 공간

lsscsi: lsscsi 디스트 목록

/etc/mtab: 현재 마운트

/etc/fstab: 부팅시 마운트

swap: 디스크 내에 존재하는 가상 메모리 공간, LV 형태로 추가, /etc/fstab 등록