파일 압축 및 번들
파일 압축
- 압축 파일 확장자
xz,bz2,gz,zip,Z등. xz나bz2더 나은 압축률
파일 압축 명령
xz: 확장자가 xz인 파일을 압축하거나 압축 해제합니다.- 전)
xz (파일명) - 전)
xz -d (파일명).xz
- 전)
bzip2: 확장자가 bz2인 파일을 압축하거나 압축 해제합니다.- 압축 ->
bzip2 (파일명) - 압축 풀기 ->
bzip2 -d (파일명).bz2
- 압축 ->
bunzip2:bzip2 -d옵션에 해당하는 명령gzip: 리뉴얼gz압축 해제 또는 압축 해제.- 압축 ->
gzip (파일명) - 압축 풀기 ->
gzip -d (파일명).gz
- 압축 ->
gunzip:gzip -d옵션에 해당하는 명령
번들 파일
- Linux(Unix)에서 “파일 압축”과 “파일 번들링”은 본질적으로 별개의 프로그램입니다.
- 파일을 바인딩하는 명령은
tar번들 파일의 확장자도tar오전.
파일 번들 명령(tar)
tar: 리뉴얼tar번들 파일을 생성하거나 .- 작업: c(바인드), x(언팩), t(경로 확인)
- 옵션: f(파일), v(프로세스 보기), J(tar + xz), z(tar + gzip), j(tar + bzip2)
- 적용 예
# tar cvf my.tar /etc/sysconfig/-> 바인드# tar cvfJ my.tar.xz /etc/sysconfig/-> 번들링 + xz 압축# tar xvf my.tar-> 타르 압축 풀기# tar xvfJ my.tar.xz /etc/sysconfig/-> xz 압축 풀기 + decloak tar
파일 위치 찾기
find (경로) (옵션) (조건) (action): 기본 파일 찾기- (가능성):
-name,-user(소유자),-newer(이전, 이후),-perm(허용하다),-size(크기) - (행동):
-print(기본),-exec(외부 명령 실행)
- (가능성):
- 적용 예
# find /etc -name "*.conf"-> 확장conf파일에서 찾았습니다# find /usr/bin -size +10k -size -100k-> 10k보다 크고 100k보다 작은 파일 찾기# find /home -name "*.swp" -exec rm { } \;-> 확장swp파일에서 찾아서 삭제

which (실행파일 이름): PATH에 지정된 디렉토리만 검색whereis (실행파일 이름): 실행 파일, 소스 파일, 매뉴얼 페이지 파일 검색locate (파일 이름): 파일 목록 데이터베이스에서 검색
크론과 AT
크론
- 반복 작업이 자동으로 실행되도록 설정
- 연결된 데몬(서비스)은 ‘crond’이고 연결된 파일은 다음과 같습니다.
/etc/crontab

- 특정 파일을 폴더에 넣으면 폴더에 따라 파일이 시간별, 일별, 주별, 월별로 자동으로 실행됩니다.
- 적용 예
01 * * * * root run-parts /etc/cron.hourly-> 매시 1분에 루트 권한으로/etc/cron.hourly디렉토리에서 자동으로 명령 실행02 4 * * * root run-parts /etc/cron.daily-> 루트로 매일 04:02에/etc/cron.daily디렉토리에서 자동으로 명령 실행03 4 * * 0 root run-parts /etc/cron.weekly-> root 권한으로 매주 일요일 04:03/etc/cron.weekly디렉토리에서 자동으로 명령 실행42 4 1 * * root run-parts /etc/cron.monthly-> 루트 권한으로 매월 1일 04시 42분/etc/cron.monthly디렉토리에서 자동으로 명령 실행
- 매월 15일 오전 3시 1분에 cron을 연습 예제로 사용
/home디렉토리 및 하위 디렉토리/backup디렉토리에 저장하는 방법을 살펴보겠습니다. - 첫 번째
systemctl status crond이 명령은 cron 서비스가 현재 실행 중임을 확인했습니다.

- ~ 후에
/etc/crontab파일을 열고 다음 구문을 추가하고 저장했습니다.

- 다음에
/etc/cron.monthly디렉토리로 이동하여 실제 백업을 수행하기 위한 실행 명령을 저장하는 스크립트를 작성하고 저장하십시오.

- 각 문장의 의미는 다음과 같습니다
set $(date): 현재 연도($1), 월($2), 일($3), 시($4), 분($5) 및 초($6) 가져오기fname="backup-$2$3tar.xz": 파일 이름backup-$2$3tar.xz의 형식으로 지정- $2와 $3는 각각 월과 일을 나타냅니다.
tar cfJ /backup/$fname /home:home디렉토리와 그 하위 디렉토리는 xz로 묶이고 압축됩니다.backup디렉토리에 저장
- 다만 아직 해당 파일에 대한 실행 권한이 없기 때문에 다음과 같이 실행 권한을 부여했습니다.

- 실제로
backup디렉토리 생성systemctl restart crond명령을 통해 cron 서비스를 다시 시작하면 위에서 작업한 구성 파일을 읽을 수 있었습니다.

- 마지막으로 시스템 시간을 임의로 변경하여 결과를 확인하였다.
표준 시간으로 되돌리려면 ‘rdate -s time.bora.net’

- 03:01임을 확인한 후,
backup폴더를 보면 아래와 같이 백업 파일이 잘 저장되어 있는 것을 확인할 수 있습니다.

에서
- cron은 반복 작업을 예약하는 데 사용되는 반면 at은 일회성 작업을 예약하는 데 사용됩니다.
- 적용 예
- 예약:
# at (시간)- 전)
# at 3:00am tomorrow-> 내일 3시 - 전)
# at 11:00pm January 30-> 1월 30일 밤 11시 - 전)
# at now + 1 hours-> 1시간 후
- 전)
at>명령 프롬프트에서 예약 명령 입력 후Enter- 완료되면
Ctrl + D - 확인:
# at -l - 해제:
# atrm (작업 번호)
- 예약:

기본 네트워크 개념

- TCP/IP: 네트워크를 통한 컴퓨터 간의 통신에 가장 널리 사용되는 프로토콜 중 하나입니다.
- 호스트 이름 및 도메인 이름
- 호스트 이름은 각 컴퓨터에 할당된 이름입니다.
- 도메인 이름(또는 도메인 주소)은
hanbit.co.kr같은 형식
- IP 주소
- 각 컴퓨터의 LAN 카드에 할당된 고유하고 겹치지 않는 주소
- 4바이트로 구성되며 각 숫자는 0에서 255까지의 숫자입니다.
- 예: 서버 가상 머신의 IP 주소는 192.168.111.100입니다.
- 네트워크 주소
- 동일한 네트워크에 속하는 공유 주소(예: 192.168.111.0)
- 브로드캐스트 주소
- 내부 네트워크의 모든 컴퓨터가 수신하는 주소
- 현재 주소의 마지막 자리를 255(클래스 C)로 변경한 주소.
- 게이트웨이, 라우터
- 네트워크 간에 데이터를 전송하는 컴퓨터 또는 장치
- VMware의 게이트웨이 주소는 192.168.111.2로 설정됩니다.
- 넷마스크 및 클래스: 네트워크 크기 결정(예: 255.255.255.0 – 클래스 C)
- 도메인 이름 시스템(DNS) 서버(= 이름 서버)의 주소입니다.
- URL을 컴퓨터의 IP 주소로 변환하는 서버
- 구성 파일은
/etc/resolv.conf - VMware의 경우 VMware는 192.168.111.2를 게이트웨이 및 DNS 서버로 설정하고 192.168.111.254를 DHCP 서버로 설정합니다.
DHCP 서버는 자동으로 IP 할당을 담당합니다.
네트워크 관련 명령어
nmtui- 대부분의 네트워크 관련 작업은 이 명령에서 수행됩니다.
- 자동 또는 고정 IP 주소 결정
- IP 주소, 서브넷 마스크 및 게이트웨이 정보 입력
- DNS 정보 입력
- 네트워크 카드 드라이버 설정
- 네트워크 장치 설정(ens160)
- 텍스트 기반으로 작동
- 대부분의 네트워크 관련 작업은 이 명령에서 수행됩니다.

systemctl <start/stop/restart/status> NetworkManager: 네트워크 설정 변경 후, 변경된 내용을 시스템에 적용하라는 명령어ifup (장치 이름)그리고ifdown (장치 이름): 네트워크 장치를 켜거나 끄는 명령ifconfig (장치 이름): 장치의 IP 주소 설정에 대한 정보 출력nslookup: DNS 서버 작동 테스트 명령ping (IP 주소 또는 URL): 네트워크의 컴퓨터가 응답하는지 테스트하는 명령
네트워크와 관련된 주요 파일
/etc/sysconfig/network: 기본적인 네트워크 정보를 담고 있는 파일/etc/sysconfig/network-scripts/ifcfg-ens160: ens32 장치에 대한 모든 네트워크 정보가 포함된 파일/etc/resolv.conf: DNS 서버의 정보 및 호스트 이름을 포함하는 파일/etc/hosts: 현재 컴퓨터의 호스트 이름과 FQDN이 포함된 파일
네트워크 보안을 위한 SELinux
- SELinux(Security Enhanced Linux)는 보안 취약성으로부터 Linux를 보호하기 위해 개발되었습니다.
- 세 가지 수준: 시행, 허용, 비활성화됨
- 구성 파일
/etc/sysconfig/selinux또는 편집system-config-selinux명령으로 설정 - 작동 방식
- “Enforce”는 시스템 보안을 손상시키는 기능을 감지하는 경우 시스템이 기능을 전혀 실행하지 못하게 합니다.
- “허용됨”은 시스템 보안에 영향을 미치는 감지된 기능이 허용되지만 콘텐츠가 기록됨을 의미합니다.
- “Disabled”는 SELinux를 사용하지 않습니다.