[Linux] 리눅스 배시셸 환경 설정, 앨리어스, 히스토리
·
전공/리눅스시스템관리
배시셸 환경 설정 셸 변수, 환경 변수 셸 변수: 현재 셸에서만 사용할 수 있고 서브 셸로는 전단되지 않는 변수 환경 변수: 현재 셸뿐만 아니라 서브 셸로도 전달되는 변수 주요 환경 변수 환경 변수 의미 환경 변수 의미 HISTSIZE 히스토리 저장 크기 PATH 명령을 탐색할 경로 HOME 사용자 홈 디렉터리의 절대 경로 PWD 작업 디렉터리의 절대 경로 LANG 사용하는 언어 SHELL 로그인 셸 LOGNAME 사용자 계정 이름 set, env, echo set: 셸 변수와 환경 변수 모두 출력 env: 환경 변수만 출력 echo: 특정 변수 출력 셸 변수 정의하기 형식 - [변수명] = [문자열] export 기능 - 지정한 셸 변수를 환경 변수로 변경 형식 - export [옵션] [셸 변수] 옵..
[Linux] 리눅스 입출력 방향 변경(리다이렉션)
·
전공/리눅스시스템관리
표준 입출력 장치 표준 입출력 장치의 파일 디스크립터 파일 디스크립터 파일 디스크립터 대신 사용하는 이름 정의 0 stdin 명령의 표준 입력 1 stdout 명령의 표준 출력 2 stderr 명령의 표준 오류 출력 리다이렉션 명령의 결과를 출력이 아닌 파일에 저장 - 파일 덮어쓰기: > > 기능 - 파일 리다이렉션(덮어쓰기) 형식 - [명령] 1> [파일명] 또는 [명령] > [파일명] 더보기 덮어쓰기 방지: set -o noclobber 설정 해제: set +o noclobber >> 기능 - 파일에 내용을 추가 형식 - [명령] >> [파일명] 오류 리다이렉션 오류는 기본적으로 화면으로 출력 ls /abc > ls.err -> /abc 파일 또는 디렉터리가 없다고 가정, ls.err 파일에 오류 메..
[Linux] 리눅스 셸 기본 사용법, 특수문자
·
전공/리눅스시스템관리
유저 셸 커널 하드웨어 셸의 기능 - 명령어 해석기 기능 - 플그래밍 기능: 셸 스크립트 - 사용자 환경 설정 기능 셸 기본 사용법 셸 지정 및 변경 - 사용자의 기본 셸은 /etc/passwd 파일에 저장 chsh 기능 - 사용자 로그인 셸 변경 형식 - chsh [옵션] [사용자명] 옵션 -s shell: 지정하는 셸(절대 경로)로 로그인 셸을 바꿈 -l: /etc/shells 파일에 지정된 셸 출력 로그인 셸과 서브 셸 - 서브 셸: 사용자가 프롬프트에서 다른 셸을 실행하여 생성한 셸 - ctrl+d 또는 exit로 서브 셸 종료 셸 내장 명령 - 셸 자체적으로 가지고 있는 명령 - ex) cd - 일반적인 리눅스 명령들은 /bin이나 /usr/bin 등 다른 디렉터리에 실행파일 존재 출력 명령 e..
[객체지향프로그래밍][Java] 클래스와 객체 2 (접근 지정자, static, final)
·
전공/객체지향프로그래밍
접근지정자 public: 어떤 클래스에서든 접근 가능 protected: 같은 패키지에 있는 다른 클래스나, 상속받은 자식 클래스에서 접근 가능 private: 해당 클래스 내부에서만 접근 가능 default(package-private): 같은 패키지 내에서만 접근 가능, 따로 접근 지정하지 않았을 경우 자동으로 지정 접근지정자는 객체지향 프로그래밍에서 캡슐화를 구현 클래스 내부 상태와 행동을 적절히 제어 코드의 유지 보수성과 재사용성 향상 클래스 접근 지정 public class World { // public 클래스 } 멤버 접근 지정 멤버에 접근하는 클래스 private 디폴트 접근 지정 protected public 같은 패키지의 클래스 x o o o 다른 패키지의 클래스 x x x o 접근 가..
[객체지향프로그래밍][Java] 클래스와 객체 1 (클래스의 구성, 생성자, this, 객체 배열, 오버로딩, 가비지 컬렉션)
·
전공/객체지향프로그래밍
클래스의 구성 public class Circle { // public: 접근 권한, class 클래스 선언, Circle 클래스 이름 public int radius; // 원의 반지름 필드 public String name; // 원의 이름 필드 public Circle() { //원의 생성자 메소드 } public double getArea() { // 원의 면적 계산 메소드 return 3.14*radius*radius; } 클래스 선언, class Circle class 키워드로 선언 클래스는 { } 안에 모든 필드와 메소드 구현 class Circle은 Circle 이름의 클래스 선언 클래스 접근 권한, public -> 다른 클래스들에서 Circle 클래스를 사용하거나 접근할 수 있음을 선언..
[객체지향프로그래밍] 이론
·
전공/객체지향프로그래밍
객체의 특징 특징 예시 크기 작은 물체, 큰 물체 형태 원, 사각형, 삼각형 등 색상 빨강, 파랑 노랑 등 무게 가벼운 물체, 무거운 물체 재질 나무, 금속, 플라스틱, 유리 등 기능 한 가지 기능, 여러 가지 기능 용도 가구, 전자제품, 운송 수단 등 위치 바닥에 놓인 물체, 책상 위에 놓인 물체, 벽에 걸린 물체 등 관계 서로 붙어 있는 물체, 쌓여 있는 물체, 연결된 물체 등 변화 녹아 없어지는 물체, 커지는 물체, 움직이는 물체 등 객체 지향의 핵심 개념 캡슐화 데이터와 데이터를 처리하는 메소드를 하나의 논리적인 단위로 묶는 것 데이터의 접근을 제한, 메소드를 통해 안전하게 데이터를 처리 자동차 클래스에서 앤진, 바퀴, 핸들 등의 상태 주행, 정지, 좌/우 회전 등의 행동 캡슐화하여 외부에서 직접..
[Java] 자바 기본 문법 4
·
프로그래밍 언어/Java
자바의 예외 처리 컴파일 오류 - 문법에 맞지 않게 작성된 코드 - 컴파일할 때 발견 예외(Exception) 오동작이나 결과에 악영향을 미칠 수 있는 실행 중 발생한 오류 정수를 0으로 나누는 경우 배열보다 큰 인덱스로 배열의 원소를 접근하는 경우 존재하지 않는 파일을 읽으려고 하는 경우 정수 입력을 기다리는 코드가 실행되고 있을 때, 문자가 입력된 경우 자바에서 예외처리 가능 예외 발생 -> 자바 플랫폼 인지 -> 응용프로그램에서 전달 응용프로그램이 예외를 처리하지 않으면, 응용프로그램 강제 종료 try-catch-finally 예외가 발생할 때 대응하는 응용프로그램 코드 try { 예외가 발생할 가능성이 있는 실행문(try 블록) } catch (처리할 예외 타입 선언) { 예외 처리문(catch ..
[Java] 자바 기본 문법 3
·
프로그래밍 언어/Java
반복문 자바 반복문 종류 for 문 while 문 do while 문 for문 for (초기문; 조건식; 반복 후 작업) { 작업문 } 초기문 -> 조건식 -> 작업문 -> 반복 후 작업 (-> 조건식 -> 작업문 -> 반복 후 작업) - 초기문, 조건식, 반복 후 작업 생략 가능 while문 while (조건식) { 작업문 } 반복 조건이 참이면 반복, 거짓이면 반복 종료 - 반복 조건이 없으면 컴파일 오류 do - while문 do { 작업문 } while (조건식); 작업문 -> 조건식 (-> 작업문 -> 조건식) 중첩 반복 반복문이 다른 반복문을 내포하는 주고 너무 많은 중첩 반복은 프로그램 구조를 복잡하게 함 -> 2중 또는 3중 반복이 적당 반복문 제어 continue 반복문을 빠져나가지 않으..
[Java] 자바 기본 문법 2
·
프로그래밍 언어/Java
자바에서 키 입력 System.in - 키보드로부터 직접 읽는 자바의 표준 입력 스트림 - 키 값을 바이트(문자x)로 리턴 - 키 값을 바이트 데이터로 넘겨주므로 응용프로그램이 문자 정보로 변환해야 함 Scanner System.in이 키를 읽고, 읽은 바이트를 다양한 타입으로 변환하여 리턴 - java.util.Scanner 클래스 객체 생성 import java.util.Scanner; ... Scanner sc= new Scanner(System.in); - scanner는 입력되는 키 값을 공백으로 구분되는 아이템 단위로 읽음 - '\t', '\f', '\r', ' ', '\n' - 개발자가 원하는 다양한 타입의 값으로 바꾸어 읽을 수 있음 Scanner 주요 메소드 메소드 설명 String ne..
[Java] 자바 기본 문법 1
·
프로그래밍 언어/Java
/* * 소스 파일 : Hello.java */ public class Hello { public static int sum(int n, int m) { return n + m; } // main() 메소드에서 실행 시작 public static void main(String[] args) { int i = 20; int s; char a; s = sum(i, 10); // sum() 메소드 호출 a = '?'; System.out.println(a); // 문자 '?' 화면 출력 System.out.println("Hello"); // "Hello" 문자열 화면 출력 System.out.println(s); // 정수 s 값 화면 출력 } } /* * 출력 결과 * ? * Hello * 30 */ 코드..