TIL
[에스넷시스템 부트캠프] TIL Day6 - 메타캐릭터, 히스토리, 환경파일, 네트워크 1
yulee_to
2025. 5. 27. 00:59
728x90
1. 메타캐릭터
Bash 쉘이 특별한 의미로 해석하는 기호들로, 일반적인 문자와 다르게 명령어 실행 흐름이나 문자열 처리에 영향을 준다.
- ''(작은 따옴표(single quotation)) : 쉘이 해석할 수 없도록 막아줌
- ""(큰 따옴표(Double quotation)) : 쉘이 해석할 수 없도록 막아주지만 인식되는 문자($, ``, \)도 있음
- ``(역 따옴표(Back quotation)) : 쉘이 해석할 때 명령어로 인식
- \ (역 슬래쉬(Back slash)) : 바로 이후에 있는 문자를 쉘이 해석할 수 없도록 막아줌
- 명령어 연결 연산자
- ; (세미콜론(Semicolon)) : 앞 명령어의 성공 여부와 관계 없이 다음 명령어를 실행
- &&(AND) : 앞 명령어가 성공한 경우에만 다음 명령어를 실행 (종료 상태 코드가 0일 때)
- ||(OR) : 앞 명령어가 실패했을 때만 다음 명령어 실행 (종료 상태 코드가 0이 아닐 때)
❗주의사항
세미콜론으로 여러 개의 명령어를 수행할 때 앞 명령어의 성공 여부와 관계 없이 다음 명령어를 실행한다.
예를 들어 /test가 없는 상황에서 # cd /test ; rm -rf * ; 을 수행하면 cd 명령어는 실패해도 rm 명령어는 동작해서 예상치 못한 결과가 나올 수 있다.
이런 경우엔 rm -rf * 보다는 절대경로를 명시해서 삭제해주는 것이 좋다.
2. 히스토리
사용자가 터미널에서 실행한 명령어 이력을 자동으로 저장하고 관리하는 기능이다. Bash에서는 기본적으로 히스토리 기능이 활성화되어 있으며 기본으로 1000개의 명령어가 저장된다.
히스토리는 exit, logout 등의 기능을 사용한 정상 종료인 경우에 저장이 된다.
# history 10
: 최근 10개의 히스토리 출력
HITSIZE
: 명령어에 저장할 명령어 수
💡Ctrl + r 단축키
Ctrl + r 단축키를 이용하면 과거에 사용한 명령어 중 가장 마지막에 실행한 것부터 역순으로 검색해준다.
원하는 키워드가 명령어의 중간에 위치한 경우도 검색이 되고, 일부만 입력해도 검색이 가능하다.
3. 환경파일
/etc는 전체 설정 범위, ~/.bash*는 계정 설정 범위 환경 파일이 위치해있다.
1) 환경 파일이 읽혀지는 순서
1-1) 로그인시에 읽히는 환경 파일
■ /etc/profile # 시스템 전체 설정
└─ /etc/profile.d/*.sh # 여기에 포함된 스크립트도 함께 실행
■ ~/.bash_profile # 사용자 설정 (우선순위 있음)
├─ 없으면 → ~/.bash_login
└─ 그것도 없으면 → ~/.profile
└─ ~/.bashrc # 보통 ~/.bash_profile 안에서 이걸 명시적으로 실행
└─ /etc/bashrc # 시스템 전체 기본 bash 설정
1-2) 로그아웃할 때마다 읽히는 환경 파일
■ ~/.bash_logout
1-3) 쉘이 실행될 때마다 읽히는 환경 파일
■ ~/.bashrc
└─ /etc/bashrc
└─ /etc/profile.d/*.sh
4. 네트워크
PDU : Protocol Data Unit의 약자로, 각 네트워크 계층에서 데이터를 표현하는 단위 (패킷, 프레임, 세그먼트 등)
1) 인가의 종류
사용자가 인증을 거친 뒤, 해당 사용자가 어떤 리소스에 접근할 수 있는지 어떤 행동을 할 수 있는지를 판단하는 절차이다.
- RBAC (Role-Based Access Control) : 역할 기반 인가로 가장 널리 사용되는 방식이다. 유지보수가 용이하고, 역할만 변경해도 권한 통제가 가능하다.
- ABAC (Attribute-Based Access Control) : 속성 기반 인가로 시간, 위치, 기기 등을 조건에 따라 접근을 제어한다. 유연하지만 설정이 복잡한 편이다.
- MAC (Mandatory Access Control) : 강제적 접근 제어로 군사/정부 시스템 등에서 사용된다. 보안 정책에 따라 절대적인 규칙으로 접근을 통제한다.
- DAC (Discretionary Access Control) : 임의적 접근 제어로 리소스 소유자가 권한을 부여한다. 리눅스의 파일 퍼미션이 DAC 방식으로 동작한다.
2) 컴퓨터의 4계층
- 사용자 영역 : 사용자가 직접 실행하는 프로그램들이 동작하는 공간
- 커널 영역 : 운영체제의 핵심 코드가 실행되는 공간
- 드라이버 계층 : 커널의 하위에서 특정 하드웨어를 제어하는 모듈
- 하드웨어 계층 : 물리적으로 존재하는 장치들
관련 개념 정리
- 프로세스 : 실행 중인 프로그램으로, 운영체제로부터 고유한 메모리 공간을 할당받는다. 각 프로세스는 독립적인 주소 공간을 가지며, 커널이 이를 관리한다.
- 플랫폼 : 운영체제 + 하드웨어를 아울러 하나의 실행 환경을 의미한다.
- 메모리 : 프로그램이 실행될 때 사용하는 가상의 주소 공간을 블록 단위로 나누어 사용한다.
- 동기화 : 프로세스를 진행하기 위해 사용되는 CPU, MEM 등의 시스템에서 장치를 사용하기 위해 또는 애플리케이션을 사용함에 있어 순서, 데이터 일치를 위해 사용하는 기술이다.
5. 네트워크 실습
실제 장비 없이 네트워크를 실습할 수 있는 Cisco Packet Tracer 프로그램을 설치했다.
💡 시뮬레이션과 애뮬레이션의 차이
시뮬레이션은 실제 시스템을 모델링하여 동작을 흉내내는 것이고, 애뮬레이션은 실제 시스템의 기능과 동작을 가능한 한 똑같이 구현하여 실제처럼 동작하도록 만드는 것을 말한다.
✍️ 하루 회고
오늘은 컨디션이 좋지 않아 수업에 충분히 집중하지 못했다.
다행히 네트워크는 전공 수업이나 정처기 공부 때 한 번 익힌 내용이라 어렵지는 않았고, 시간이 날 때 복습 영상을 다시 보며 놓친 부분을 정리할 계획이다.
728x90