참고 : 

www.yes24.com/Product/Goods/97822179

 

기사패스 NCS 정보처리기사 실기 문제집 1100제 (2021)

정보처리기사 자격증은 대한민국 대표적인 IT자격증입니다. 과거 30년 동안 전산분야 전문인력을 배출하는데 밑거름 역할을 수행하였습니다. 그러나 최근 IT기술은 4차 산업혁명, 인공지능, 빅데

www.yes24.com

www.aladin.co.kr/shop/wproduct.aspx?ItemId=265700557

 

2021 수제비 정보처리기사 실기 (1권+2권 합본세트) 2020년 기출 문제 수록

T 비전공자를 위해 만들어진 수험서다. NCS 모듈 제작에 참여한 경험을 기반으로, 다양한 모듈에서 시험 출제 빈도를 분석하여 출제 비중이 높은 내용 위주로 구성했다. 출제 비중이 낮고 이해하

www.aladin.co.kr

데이터 입출력 구현

  • 데이터 베이스
    • 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합
    • 종류
      • 파일시스템
      • 관계형 데이터 베이스 관리시스템 (RDBMS)
        • 상하 관계로 표시
        • 유연성이 좋음
        • 유지 관리 용의
      • 계층형 데이터베이스 관리시스템 (HDBMS)
        • 상하 종속적인 관계
        • 접근 속도 빠름
        • 유연하게 대응 쉽지 않음
  • 데이터베이스 기술 트랜드
    • 빅데이터
    • NoSQL
    • 데이터 마이닝
      • 데이터 웨어하우스에 저장된 데이터 집합에서 사용자 요구에 따라 정보를 발견하기 위한 기법
      • 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술
      • 주요기법
        • 연관 규칙 : 종속관계 찾기/ 동시에 발생하는 트랜잭션의 연관 관계 발견
        • 분류 규칙 : 과거 수집된 레코드 분석 -> 분류 별 특성을 속성의 조합으로 나태내는 나무 형태의 분류 모형
        • 특성 발견 : 반복적인 학습을 통함 -> 모형 만들어냄
        • 데이터 군집화 : 유사 특징을 갖는 데이터 그룹화/ 정보가 없는 상태에서의 데이터 분류
        • 연속 규칙 : 새로운 값 예측 (시계열 분석 이용)
      • 절차
        • 목적 설정
        • 데이터 준비(사전 준비)
        • 가공
        • 데이터 마이닝 적용
        • 정보 검증
        • .
        • .
        • data선택
        • data 정제/보완
        • data변환
        • data mining 적용 및 평가
  • 빅데이터
  • NoSQL
  • 데이터 마이닝
  •  

www.acmicpc.net/problem/2304

 

2304번: 창고 다각형

첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의

www.acmicpc.net

 

이건 알고리즘 공부하기 전에 말도 안 되게 짰다가

틀려서 다시 오랜만에 시도한 문제이다.

c++ 중에 map이라는 걸 사용할 것이다.

map은 key값과 value가 한 쌍으로 되어있는 컨테이너이다.

 

 

알고리즘
1. map에 넣는다 (위치, 높이)
   1-1). map에 넣으면서 높이가 젤 큰 값을 구한다. (위치도 젤 큰 값)
   1-2). map에 넣으면서 마지막 위치를 구한다.

2. iterater를 이용하여 map의 젤 앞의 위치와 높이를 저장하고 iter를 map의 두 번째 위치로 바꾼다.

3. iter를 1-1)에서 구한 젤 큰 위치 값까지 for을 돌린다.
   3-1). 앞의 높이가 현재 가리키고 있는 iter의 높이보다 작거나 같으면
          사각형의 넓이를 더해준다.
          앞의 위치를 현재 위치, 앞의 높이를 현재 높이로 대입한다.

4. 젤 큰 값은 앞의 for문으로 돌리지 않았기 때문에 높이만 더해준다(넓이가 1이라서)

5. iter를 lower_bound를 이용하여 1-2)에서 구한 마지막 위치로 가리킨다.

6. iter를 이용하여 젤 뒤의 위치와 높이를 저장하고 iter를 map의 뒤에서 두번째 위치로 바꾼다.

7. iter를 1-1)에서 구한 젤 큰 위치 값까지 for문 돌린다.
   7-1). 뒤의 높이가 현재 가리키고 있는 iter의 높이보다 작으면 
          사각형의 넓이를 더해준다.
          뒤의 위치를 현재위치, 뒤의 높이를 현재 높이로 대입한다.

8. 넓이를 출력

 

 

위 그림식으로 끝에서 젤 큰 높이를 향하여 더해준다.

 

이 문제에서의 반례는

이러한 상황이다. 최대의 높이가 두개 이상일 경우,

이 반례를 생각하지 않는다면 최대 높이만 구하여한다면 틀린다. 

나도 그렇게 틀렸었다.

 

소스 코드

#include<iostream>
#include<map>
using namespace std;

int main() {
	map<int, int> m;
	int testcase;
	int row, hight;
	int max_row = 0, max_hight = 0;
	int sum = 0;
	int last_row = 0;
	cin >> testcase;
	while (testcase--) {
		cin >> row >> hight;
		m.insert(pair<int, int>(row, hight));
		if (max_hight <= hight) {
			max_hight = hight;
			max_row = row;
		}
		if (last_row < row) {
			last_row = row;
		}
	}

	map<int, int>::iterator iter;
	iter = m.begin();
	int my_row = iter->first;
	int my_hight = iter->second;
	iter++;
	for (; my_row != max_row; iter++) {
		if (my_hight <= iter->second) {
			sum += (iter->first - my_row) * my_hight;
			my_row = iter->first;
			my_hight = iter->second;
		}
		
	}
	sum += my_hight;
	
	iter = m.lower_bound(last_row);

	my_row = iter->first;
	my_hight = iter->second;
	iter--;
	for (; my_row != max_row; iter--) {
		if (my_hight <= iter->second) {
			sum += (my_row - iter->first) * my_hight;
			my_row = iter->first;
			my_hight = iter->second;
		}
	}
	cout << sum;
	return 0;
}

'Coding Test > Problem_solving' 카테고리의 다른 글

[백준] 11399_ATM (python, c++)  (0) 2021.06.28
[백준] 9237_이장님 초대 (c++)  (0) 2021.06.16
[백준] 1373_2진수 8진수 (c++)  (0) 2021.03.11
[백준] 10808 알파벳 개수  (0) 2021.03.09
[백준] 1874_스택 수열  (0) 2021.02.18

set과 map의 차이점 

set : key만 사용

map: key와 값이 한 쌍으로 저장함

 

set 의 장점

정렬 가능

key가 비어있는지 없는지 

검색 속도가 빨라야 할 때

 

set의 사용법

  • #include <set>
  • 선언 : set < key자료type, 비교함수 > 변수이름
    • 오름차순 : set<string>s;
    • 내림차순 : set<string, greater<string>> s;
  • key 추가
    • s.insert ("hi")
    • 특정 위치에 추가 : s.insert ( s.begin(), "hh" ) : 첫 번째 위치에 "hh"저장
  • 탐색
    • for_each 사용 
    • for -> iterator(반복자) 사용

 

참고 :

modoocode.com/260

 

C++ 레퍼런스 - for_each 함수

 

modoocode.com

hwan-shell.tistory.com/130

 

C++ set 사용법과 설명...

set에 대해 설명하고자 합니다. 사용법도요. 아마 set을 사용하려고 검색하셔서 오시게 된 분이시라면, set의 특징을 잘 아시는 분일겁니다. 네, set의 특징은 다음과 같습니다. 1. 숫자든 문자든 중

hwan-shell.tistory.com

 

'study > C or C++' 카테고리의 다른 글

c++ 소수점 자릿수 출력  (0) 2021.06.29
1일차  (0) 2019.04.28

5. 소프트웨어 설치

5.1_ 개념 및 사용법

① 프로그램 설치의 개요

  • c 언어 -> tar로 압축하여 배포,
  • 레드햇 : 기본(RPM), 온라인 (YUM)
  • 데비안 : 기본(Dpkg), 온라인 (apt-get, apt)
  • 수세 : 기본(YaST), 온라인(zypper, zypp)

② 소스 설치법

  • 압출 풀기 -> 디렉터리 이동 -> configure -> make -> make install
  • tar, gcc, make필요
  • configure
    • 사용자들이 자신의 환경에 맞도록 손쉽게 수정 O
    • 시스템에서 찾아냄
    • makefile만듦
  • make 
    • 소프트웨어 컴파일하는 유틸리티
    • 타겟과 의존성 관련 작업
    • 실행 파일 만듦
  • make install 
    • 컴파일된 실행파일을 지정한 속성으로 지정된 디렉터리에 설치
  • cmake
    • make의 대체 프로그램
    • 멀티플랫폼 지원
    • make 과정 수행 X
    • 다양한 플랫폼 지원
    • 독자적인 설정 스크립트 이용
    • 타임스탬프를 통해 파일 내용 변화 알 수 있다
    • 평행 빌드 지원
    • 크로스 컴파일 가능
    • Dart, CTest, CPack 포함

③ 패키지 설치법

  • RPM 개요
  • 데비안 패키지 관래의 개요

 

5.2_ 소프트웨어의 설치 및 삭제 

① tar와 압축관련 유틸리티

  • tar
    • -c : 하나로 묶어 새로운 tar만듦
    • -x : 푼다
    • -v : 대상이 되는 파일 보여줌
    • -f 파일명 : 이름 지정, -쓰면 표준 입출력됨
    • -r : tar파일 뒤에 파일 추가
    • -t : tar파일 안에 묶여 있는 파일의 목록 출력
    • -h : 심볼릭 링크가 가리키고 있는 원본 파일 저장
    • -C : 디렉터리 변경할 때
    • -p : 파일 생성 되었을 때, 권한 그대로 유지
    • -P : 맨 앞의 \를 포함해서 절대 경로 관련 정보 유지 (--absolute-path)
    • -Z : 예전 유닉스 계열 표준 앞축 파일인 tar.Z에 사용
    • -z : gzip 관련 옵션, tar.gz에 사용
    • -j : bzip2 관련 옵션, tar.bz2에 사용
    • -J : xz 관련 옵션, tar.xz에 사용
  • compress, uncompress
  • gzip, gunzip
    • -d : 압출 풀 때
    • -1 : 압출 시간 줄임, 압축률 떨어짐 --fast
    • -9 : 압축 최대로 압축, 시간 많이걸림, 압출률 좋음
    • -c : 결과를 표준 출력으로 보낼 때, tar와 병행해서 작업할 때
    • -l : 압축 파일에 대한 정보 출력
  • bzip2, bunzip2
  • xz, unxz

② rpm 사용법

  • rpm 사용법의 개요
  • 설치 및 갱신 모드
    • -i : 새로운 패키지 설치, 이전 있으면 설치 X
    • -U : 업그레이드할 때 사용
    • -F : 이전 버전이 설치 되어 있는 경우만 설치
    • -v : 메시지 자세히 보여줌
    • -h : 설치 상황을 "#" 기호로 표시
    • --force : 강제로 설치할 때
    • --nodeps : 의존성 관계 무시하고 설치, 강제로 설치
  • 제거모드
    • -e : 삭제, 의존성 갖는 패키지는 삭제 안함
    • --nodeps : 의존성 가져도 삭제
  • 질의 모드
    • -q : 질의시 꼭 사용
    • -i : 설치된 패키지 정보 출력
    • -l : 설치한 파일 정보 출력
    • -a : 설치된 모든 패키지 목록
    • -p 패키지 명 : rpm 패키지이 파일에 대한 정보 보여줌
    • -f 파일명 : 지정한 파일의 설치한 패키지 이름 출력
    • -d : 해당 패키지의 문서 파일 출력
    • --queryformat : 질의의 결과를 원하는 형태로 출력할 때, printf와 유사
  • 검증 모드

③ yum

  • yum의 개요
    • 의존성 문제 해결
  • 사용법
    • yum [옵션] [코멘드] [패키지_파일명]
    • 옵션
      • - y : 모든 질의 예스
      • - v : 자세한 정보 출력
    • command
      • list [항목] : 전체 패키지에 대한 정보 출력
        • 기본값 all
      • info [패키지] : 패키지에 대한 정보 출력
      • check - update : 'yum list updates'와 같다.
      • updata [패키지명] : 패키지 업뎃할 때
      • install [패키지] 
      • serch [문자열] : 문자열이 포함된 패키지 찾아줌
      • remove, erase
      • groupinstall
      • clean [값] : all, packages, rpadb, dbcache 삭제할 때
      • history : yum 명령 이력

④ dpkg 사용법

  • 사용법
  • 옵션

⑤ apt -get 

  • 개요
    • 데비안 리눅스 
    • yum과 유사
    • 의존성과 충돌성 해결
      • /etc/apt/source.list 관리
    • ATP 라이브러리 이용
    • 시냅틱, 앱티튜드 이용하기도 함
  • 사용법

4. 에디터

4.1_에디터의 종류

① 에디터의 개요

  • 에디터란
  • 리눅스 에디터
    • X 윈도 : gedit
    • 유닉스 : vi

② 에디터의 종류 및 특징

  • PICO
    • 유닉스 기반
    • 이메일 클라이언트 프로그램에 통합되어 배포
    • 소스의 수정 불가
    • 복제 버전 : nano (마우스 가능)
  • emacs
    • 리처드 스톨만 
    • 확장성, 유연성
    • 기능이 너무 많음, 대응하는 LISP를 코드 불러오는데 오래걸림
    • 초보자 사용 어렵
  • vim
    • vi편집기와 호환
    • 다양한 색상
    • 히스토리 기능, 확장된 정규 표현식 문법, 강력한 문법 강조 기능, 다중 되돌리기, 다국어 지원, 문법 검사
    • GUI 기반 :  gVim

 

4.1_에디터의 활용

① pico

  • pico 시작하기
  • pico 이동하기 ctrl+
    • a : 현재 커서가 위치한 줄의 처음으로
    • e : 현재 커서가 위치한 줄의 끝으로
    • p : 커서를 윗줄로
    • n : 커서를 아랫줄로
    • b : 커서를 뒤(왼)로
    • f : 커서를 앞(오)으로

② emacs

  • 시작과 종료하기
  • 커서 이동하기

③ vi

  • 시작하기
    • 명령 모드 : i, a, o, l, A, O
    • 입력 모드 : input mode, insert mode
    • ex 명령 모드 : ':'키 입력했을 때
  • 사용법
    • - r : 손상된 파일 복구
    • +[num] : 파일을 열면서 커서를 지정한 num번째 줄로 이동
      • +값만 입력하면 커서를 마지막 줄로 이동시킴
  • 커서 이동하기
    • h : 왼
    • j : 아
    • k : 위
    • l : 오
    • w : 다음 단어의 처음
    • - : 앞 줄의 첫 문자
    • ^ : 줄의 첫 문자
    • $ : 줄의 맨 끝
    • + : 다음 줄의 첫 문자
    • 0 : 첫 번째 열로
    • G : 젤 끝줄로
    • nG : n번째 행으로
    • gg : 파일의 처음
    • ( : 문장의 처음
    • ) : 다음 문장의 처음
    • { : 문단의 처음
    • } : 다음 문단의 처음
    • H : 화면의 첫 줄
    • M: 화면의 중간
    • L : 화면의 끝
    • ctrl + b : 한 화면 위로
    • ctrl + f : 한 화면 아래로
    • ctrl + u : 반 화면 위로
    • ctrl + d : 반 화면 아래로
    • e : 다음 단어의 맨 뒤로 (오)
    • b : 단어 맨 앞으로
    • z[Enter] : 현재 커서가 위치한 줄을 화면의 첫 줄로
    • n% : n퍼센트에 해당하는 줄로 이동
    • :0 : 줄의 처음으로 이동
    • :$ : 줄의 제일 끝
  • 복사 및 붙이기
  • 삭제하기
  • 되돌리기 및 패턴 검색
  • ex 명령 모드
  • ex 명령 모드와 특수 문자
  • 문자열 치환
  • vi 환경 설정
  • 관련 파일 : exrc

3. 프로세스 관리

3.1_ 개념 및 유형

① 프로세스 개요

  • 프로세스란
  • 프로세스의 생성
    • fork : 복사본 형태의 프로세스 실행
    • exec : 원래 프로세스를 새로운 프로세스로 대체하는 형태
    • 부팅-> init 최초의 프로세스 발생, PID 1 
  • 프로세스의 종류
  • 멀티태스킹과 작업 전환

② 시그널과 데몬

  • 시그널
    • 프로세스끼리 통신
    • 목록 : kill -l 확인 가능
    • 시그널 번호 - 순서
      • SIGHUP : 터미널에서 접속 끊길 때, 재시작 할 때
      • SIGINT : 키보드에서 옴, 실행 종료 (ctrl + c)
      • SIGQUIT : 실행 중지 (ctrl + \)
      • SIGKLL : 무조건 종료
      • SIGTERM : 정상 종료
      • SIGCONT : 정지된 프로세스 다시 실행
      • SIGSTOP : 입력된 정지 시그널
      • SIGTSTP : 실행 정지후 다시 실행 계속하기 위해 대기 (ctrl + z)
  • 데몬
    • 백그라운드에서 실행
    • 실행 방법
      • standalone : 부팅 시에 실행
        • 메모리에 상주
        • ps 명령으로 확인 가능
      • inet
        • 요청이 들어 왔을 때 관련 프로세스 실행

 

3.2_ 프로세스 유틸리티

① 프로세스 관련 명령어

  • ps 
    • 동작 중인 프로세스의 상태를 출력해 주는 명령
    • 옵션 계열
      • System V : (dash, -)사용
      • BSD : 대시 사용 X
      • GNU : 두 개의 대시 
    • ps [option]
    • 옵션 
      • a : 터미널과 연관된 프로세스 출력
      • u : 프로세스의 소유자를 기준으로 출력
      • x : 터미널에 종속되지 않는 프로세스 출력
      • l : 프로세스의 정보를 길게 보여줌, 우선순위와 관련된 (RPI, NI)값 확인
    • 옵션 항목
      • USER : BSD 계열, 프로세스 소유자의 이름
      • UID : SYSTEM V 계열, 프로세스 소유자의 이름
      • PID : 프로세스의 식별 번호
      • %CPU : CPU 사용 비율 추정치 (BSD)
      • %MEM : 메모리 사용 비율의 추정치 (BSD)
      • VSZ : K단위 또는 페이지 단위의 가상메모리 사용량
      • RSS : 실제 메모리 사용량
      • TTY : 프로세스와 연결된 터미널
      • STAT : 현재 프로세스의 상태 코드
      • START : 프로세스 시작 시간 or 날짜
      • TIME : 총 CPU 사용 시간
      • COMMAND : 프로세스의 실행 명령행
      • STIME : 프로세스가 시작된 시간 혹은 날짜(Sys V)
      • C, CP : 짧은 기간 동안의 CPU사용률
      • F : 프로세스의 플래그 (1:exec 호출 없이 fork된 경우 / 4 : 슈퍼유저 권한 사용자)
      • PPID : 부모 프로세스의 PID
      • PRI : 실제 실행 우선순위
      • NI : nice 우선 순위 번호 
    •  STAT의 주요 값
      • R ( Runnig) : 실행 중 혹은 실행될 수 있는 상태 
      • S ( Sleeping) : 인터럽트에 의한 sleep 상태, 특정 이벤트가 끝나기를 기다리는 상태
      • D ( Disk wait) : 디스크 I/O에 의해 대기하고 있는 상태
      • T ( Traced or stopped) : 정지된 상태
      • W : paging 상태
      • Z ( Zombie) : 작업이 종료되었거나 부모 프로세스로 부터 회수되지 않아 메모리를 차지하고 있는 상태
      • X : 죽어있는 상태, 상태값으로 볼 수 X
      • < : 우선순위가 인위적으로 높아진 상태
      • N (Nice) : 다른 사용자에 의해 인위적으로 우선순위가 낮아진 상태
      • L : 메모리 안에서 페이지가 잠금된 상태
      • s : session Leader
      • I : 멀티 쓰레드 상태
      • + : 포어그라운드 프로세스 그룹
  • pstree
  • top
  • kill
    • 특정한 시그널 보내는 명령
    • 옵션 없이 실행 : 15신호 보냄
    • kill [옵션] [시그널] [PID or %Job_number]
      • - l : 시그널의 종류 출력
      • - s signal : 시그널의 이름 지정
      • - 9 : 강종
  • killall
  • jobs
  • fg
    • fg [%잡 넘버]
    • fg 잡 넘버
  • bg
    • 포어그라운드 실행 중인 프로세스 + ctrl +z  하면 사용 가능
  • nice
    • 프로세스의 우선순위 변경
    • NI값 설정 ( 작을 수록 우선순위 ↑)
    • 일반 사용자 : 증가만 가능
    • root : 감소 가능
    • 옵션 
      • -n 값, - 값, --adjustment=값 : NI 값을 지정한 NI값과 증감, 값 지정 안하면 10지정됨
        • ex) nice -10 bash 
        • nice -- adjustment = 10
        • nice bash
  • renice
  • nohup



② 스케줄링과 cron

  • 스케줄링
    • at, cron
  • cron
    • 시스템 운영에 필요 : /etc/crontab (주기적으로 실행)
    • 사용자 : crontab에 실행
    • 필드
      • 분, 시, 날, 월, 요일, 사용자 이름, 명령어
  • crontab
    • vi가 실행됨
    • 옵션 
      • - l : 내용 출력
      • - e : 작성하거나 수정
      • - r : 내용 삭제
      • - u : root사용자가 특정 사용자의 crontab파일 다룰 때 사용

 

 

2. shell

2.1_ 셸의 개념 및 종류

① 셸의 개념과 특징 - 순서

  • Bourne Shell 
    • 기본 셸
  • C 셸
    • c 언어 기반
    • 히스토리, 별명, 작업 제어
    • 편집 기능 X
  • tcsh
    • C 셸 통합
    • csh기능 강화
    • 명령어 완성 기능, 명령행 편집기능
  • ksh
    • 본 셸 확장
    • 작업 제어, 앨리어스, 히스토리 기능, vi 및 emacs 스타일 명령행 편집 기능, 명령행 완성 기능
  • bash
    • 본 셸 기반
    • 리눅스의 표준 셸
    • 명령어 : sh와 호환
    • ksh + csh 기능 참고
      • 명령어 히스토리, 명령어 완성, 히스토리 치환, 명령어 편집 지원
    • POSIX와 호환됨

② 셸의 확인과 변경

  • 셸의 확인
    • echo $SHELL
      • 로그인 후 사용중인 셸 확인
    • chsh -l
      • /etc/shells 파일 안의 셸들 나열
      • 셸 목록 확인
    • cat /etc/shells 
      • 현재 시스템에서 사용 할 수 있는 셸들 확인
    • etc/passwd
      • 로그인 시 부여되는 셸 정보 확인
  • 셸의 변경
    • chsh

 

2.2_셸 환경 변수

① 셸 변수와 환경 변수

  • 셸 변수
    • 변수명=값
  • 환경 변수

② 주요 환경변수

  • 주요 환경변수
    • HOME
    • PATH
    • LANG : 언어
    • TERM : 로그인한 터미널 종류
    • PWD : 사용자의 현재 작업 디렉터리
    • SHELL : 로그인 셸
    • USER : 사용자의 이름
    • DISPLAY : X 윈도우에서 프로그램 실행시 출력되는 창
    • PS1 : 프롬포트 변수
    • PS2 : 2차 프롬포트 변수
    • HISTFILE : 히스토리 파일의 절대경로
    • HISTSIZE : 히스토리 파일에 저장되는 명령어의 개수
    • HISTFILESIZE : 히스토리 파일의 파일 크기
    • HOSTNAME : 시스템의 호스트명
    • MAIL : 도착한 메일이 저장되는 경로
    • TMOUT : 사용자가 로그인한 후 일정기간동안 작업안할때, 로그아웃 시키는 초
    • UID : 사용자 UID
  • 환경변의 사용 및 변경
    • 프롬포트 형식
      • \d : 요일 월 일 형태로 날짜 표시
      • \h : 호스트 이름 표시
      • \s : 사용 중인 셸 이름 표시
      • \t : 24시 형태의 현재 시간 표시
      • \T : 12시 형태의 현재 시간 표시
      • \@ : 12시 형태의 현재 시간에 AM/PM 추가 표시
      • \u : 현재 사용자의 이름
      • \w : 현재 작업 디렉터리의 절대경로
      • \W : 현재 작업 디렉터리의 전체 경로 중 마지막 디렉터리만
      • \! : 현재 명령의 히스토리 넘버
      • \\ : \를 표시

③ 배시셸의 주요 기능과 관련 파일

  • history
    • 히스토리 리스트에 있는 명령어들 출력됨
    • 명령어들 : .bash_history파일에 추가 기록됨
    • 로그아웃 -> 메모리에 기억된 명령의 목록 파일에 저장
    • 명령문
      • !! : 마지막에 사용한 명령 실행
      • !n : n번째 사용한 명령 실행
      • !-n : 사용한 명령 목록을 역으로 해서 
      • !문자열 : 가장 최근에 사용한 명령 중에 '문자열'로 시작하는 명령 찾아 실행
      • !?문자열? : '문자열' 포함하고 있는 명령 찾아 실행
      • ^문자열1^문자열2 : '문자열 1을 문자열2로 대체한 후 실행
    • 환경변수
      • HISTSIZE
      • HISTFILESIZE
      • HISTFLE
      • HISTCONTROL
      • HISTTIMEFORMAT
  • alias
    • 별명
    • unalias : 해제
      • ex) alias ls = 'ls -alF' : ls라고 명령 실행-> 'ls -alF' 실행 되도록
    • 셸 관련 파일 및 디렉터리
      • /etc/profile : 시스템 전체 적용, 시작관련 프로그램 설정
      • /etc/bashrc : 시스템 전체 적용, alias와 함수를 설정
      • ~/.bash_profile : 개인 사용자 환경설정, 시작프로그램, 로그인 시 읽어드림
        • 사용자가 PATH같은 환경변수 수정 시 사용
      • ./~bashrc : 개인 사용자, alias와 함수들 있음, alias 이 파일에서 설정
      • ~/.bash_logout : 개인 사용자가 로그아웃할 때
      • /etc/profile.d :  일반 사용자의 alias 설정 등과 관련된 스크립트 존재

2. 리눅스 운영 및 관리

1. 파일 시스템 관련 명령

 

1.1_ 권한 및 그룹 설정

① 명령어

  • chmod
    • 파일이나 디렉터리에 접근할 수 있는 허가권을 설정
    • 문자모드
      • 권한
        • r, w, z
      • 사용자
        • u, g, o, a
      • 설정
        • +, -, =
    • 숫자모드 ( 8진수)
    • 옵션
      • - R : 하위 디렉터리를 포함하여 디렉터리 내부의 모든 파일의 접근 권한 변경 (--recursive)
  • chgrp
  • umask

② 특수 권한

  • Set- UID
  • Set - GID
  • sticky-Bit
  • 특수 권한의 확인
  • 특수 권한의 설정

 

 

1.2_ 파일 시스템의 관리

① 리눅스의 파일 시스템

  • minix
  • ext
  • ext2
  • ext3
  • ext4
  • Reiserfs
  • XFS
  • JFS
  • xiafs
  • msdos
  • umsdos
  • vfat
  • isofsnfs
  • smb
  • ncpfs
  • sysv
  • proc

② 관련 명령어

  • mount
  • umount
    • 마운트 된 파일 시스템을 해제시켜줌
  • eject
    • CD-ROM, DVD 등과 같이 이동식 보조 기억장치의 미디어를 꺼낼 때 사용
    • 자동으로 언마운트 작업 수행함
  • fdisk
  • mkfs
  • mke2fs
  • fsck
    • 리눅스 파일 시스템을 검사하고 수리하는 명령
    • 손상된 디렉터리나 파일을 수정할때 임시로 /lost+found디렉터리에 작업 수행
      • 정상적인 복구가 되면 사라짐
  • e2fsck
  • df
  • du

③ 관련 파일

  • /etc/fstab

④ Disk Quota

  • 디스크 쿼터의 개요
  • edquota
  • quotaon/quotaoff
  • repquota
  • quota
  • setquota
  • 사용자 쿼터 설정하기
  • 그룹 쿼터 설정하기

+ Recent posts