본문 바로가기
728x90

분류 전체보기287

[Linux 기초] 쉘 스크립트란 무엇인가? 쉘 스크립트란 무엇인가? 우리는 쉘을 이용해서 하나만의 명령을 지정할 수 있지만 여러개의 명령을 순차적으로 실행하는것을 통해서 하나의 업무를 진행할 수 있다. 순차적으로 명령을 실행해야 하는 것을 어딘가에 작성한 후 추후에 재사용할 수 있도록 하는 것이다. 또한 6개월 ~ 1년사이에 한번씩 사용하지만 매우 복잡한 코드거나 하나라도 오타가 나면 안될 경우 역시 쉘 스크립트를 사용하는 것이 안전하고, 사용자에게 편의를 준다. 쉘 스크립트 실습 먼저 우리는 간단한 실습을 위해 script라는 디렉토리를 만든 다음 script 디렉토리로 이동 해 주었다. 우리는 .log으로 끝나는 파일들을 정기적으로 bak 이라는 디렉토리로 백업을 시키려고 한다. 먼저 쉘 스크립트가 아닌 명령어를 통해서 실행해보도록 하자. 먼.. 2022. 12. 17.
[Linux 기초] 쉘과 커널 쉘이란 무엇인가? 쉘을 공부할 때 같이 커널도 공부를 하는게 좋다. 커널이란 알맹이 코어 이런 뜻을 가지며, 쉘은 껍데기, 주변 이라는 뜻을 가진다. 먼저 이 사진을 보면 가장 안쪽에 하드웨어가 있다. 하드웨어란 우리가 쓰는 CPU, 메모리, SSD 등을 의미한다. 컴퓨터를 쓴다는건 결국 기계를 동작시켜 결과를 얻어내는 일이다. 하드웨어를 감싸는 것이 바로 커널이다. 커널은 하드웨어를 직접적으로 제어하는 운영체제에서 가장 중심이 되는 코어이다. 그 커널 바깥쪽에는 쉘이 존재한다. 쉘은 사용자가 리눅스에서 ls 명령어를 내리면 디렉토리의 리스트를 보여주는것 같은 입력한 명령이 쉘을 대상으로 명령을 내리는 것이다. 쉘은 우리가 입력한 명령을 해석해서 커널이 이해할 수 있는 방식으로 커널에게 전달한다. 그렇다.. 2022. 12. 14.
[Linux 기초] 왜 CLI를 사용하는 것인가? 우리는 왜 명령어를 이용해서 리눅스를 다루게 되는 걸까? 우리가 GUI와 CLI를 이용해서 컴퓨터를 이용한다면 당연히 GUI가 많은 컴퓨터의 에너지를 사용하게 된다. 일반인들이 사용하는 컴퓨터 시스템은 쉽게 사용하게 하기 위해 많은 컴퓨터 에너지가 사용에 초점이 맞춰진다. 하지만 서버 컴퓨터 같은 경우 일반인에 대한 초점이 아니기 때문에 명령에 집중하는 기능만 가지면 컴퓨터 용량, CPU, Memory 등 에너지를 효율적으로 사용할 수 있다. 두 번째 이유는 GUI 방식은 쉽다는 장점이 있지만 많은 노동이 필요하다. 예를들어 GUI 시스템에서 일을 처리한다고 가정하면 주어진 프로그램을 실행시킬 때 어떤 일을 실행한 후 기다리고 완료된 후 다음일을 진행하게 된다. 즉 배우기는 쉽지만 그걸 이용해서 순차적으.. 2022. 12. 11.
[Linux 기초] 다운로드 방법 (wget, git) 명령어 기반 환경인 리눅스 환경에서 파일을 다운로드 받을 때는 어떻게 해야할까? GUI 방식에서는 다운로드를 클릭하면 다운로드를 받는 형식이다. 하지만 리눅스 환경에서는 다르게 다운로드를 받는다. 가장 많이 사용하는 것 중 하나가 wget이라는 프로그램이다. URL을 통해서 파일을 다운로드 받는게 가능하다. 그렇다면 URL은 어떻게 알아내야 할까? 이렇게 GUI 환경에 보면 Copy Link address를 할 수 있다. 이걸 복사한 이후 그 주소를 wget 뒤에 붙여 넣을 수 있다. 그 후 ls -l을 통해서 다운로드 받은 download 파일을 알 수 있었다. 두번째로는 git 이라고 하는 프로그램이다. git은 버전관리 시스템이라는 카테고리에 속하는 구체적인 제품 중 하나이다. 이 git은 굉장히 .. 2022. 12. 11.
[Java] Collection이란? 자바에는 컬렉션(Collection)이라는 것이 존재한다. Collection은 많이 사용되지만 정확하게 어떤 것인지는 모른채로 사용을 하는데 이에 대해서 정리 하고자 한다. Collection이란? 객체의 모음, 그룹이라 할 수 있다. 자바에서 모든 컬렉션 클래스와 인터페이스를 포함 하는 "Collection Framework"라는 개념이 JDK 1.2에서 정의 되었다. Collection 인터페이스(java.util.Collection)와 Map 인터페이스(java.util.Map) 자바 컬렉션 클래스의 주요 "루트" 인터페이스이다. Collection 인터페이스는 List, Set과 이미지에는 없지만 Queue 3가지의 상위 인터페이스로 분류할 수 있다. Map은 Collection에 포함되지 않지.. 2022. 12. 11.
[Linux 기초] Package Manager Package란 흔히 프로그램 혹은 애플리케이션 혹은 앱이라고 부르는 것들을 의미한다. 그리고 우리가 컴퓨터를 사용한다고 하는 것은 이러한 Package에 있는 기능을 이용해 다양한 처리를 하는 것이 컴퓨터를 사용하는 행위라 할 수 있다. 윈도우나 맥과 같은 컴퓨터와 마찬가지로 리눅스에서도 여러가지 소프트웨어 패키지가 존재한다. 기본적으로 탑재되어 있는 패키지들 역시 존재한다. ls, mkdir 등 모두 패키지라고 할 수 있다. 이렇게 기본적으로 내장된 프로그램 말고 기본적으로 포함되어 있지 않지만 여러가지 패키지를 설치해야 할 때가 있다. 오늘날의 리눅스는 패키지 매니저를 기본적으로 지원한다. 이 매니저는 다운, 삭제 서칭 등 관리를 지원한다. 리눅스에서는 대표적으로 apt, yum이라는 것이 있다. .. 2022. 12. 8.
728x90