쉘(Shell)이란? 쉘은 운영체제 상에서 다양한 운영 체제 기능과 서비스를 구현하는 인터페이스를 제공하는 프로그램이다.(참고1) Shell은 껍데기를 뜻하는 영단어인데, 사용자와 운영체제의 내부(커널) 사이의 인터페이스를 감싸는 층이 쉘이기 때문에 그러한 이름이 붙게 되었다. 일반적으로 명령 줄 인터페이스(CLI) 방식과 그래픽 사용자 인터페이스(GUI) 두 가지 종류로 분류된다. 쉘은 사용자의 명령어를 읽어 해석하는 명령어 인터프리터(command interpreter)라고 할 수 있다. 터미널과 쉘의 차이 리눅스에서 터미널은 사용자로부터 명령 텍스트를 입력받고 결과를 출력하는 프로그램이다. 쉘은 터미널로부터 명령을 받아 컴퓨터에게 명령을 전달하는 프로그램이다. 터미널이 쉘을 감싸고 있는 Wrappe..
윈도우 10 프로세스 강제 종료하는 법 윈도우 10에서 프로세스를 강제로 종료할 때는 taskkill 명령어를 이용할 수 있다. taskkill 명령어는 프로세스 이름이나 PID를 이용해 프로세스를 종료할 수 있다. > taskkill /IM [프로세스명] > taskkill /PID [PID] /IM : 프로세스 이름을 지정해 종료한다. /PID : 프로세스 ID(PID)를 지정해 종료한다. /T : 하위 프로세스 포함하여 종료한다. /F : 강제로 종료한다. 예시 특정 포트를 점유하는 프로세스 종료 특정 포트를 점유하는 프로세스를 종료하는 일은 생각보다 많다. 우선 netstat 명령어로 특정 포트를 점유하는 프로세스를 검색하자. 예를 들어 9080 포트를 점유하는 프로세스를 검색하자. netstat..
netstat 명령어 netstat 명령어는 네트워크 상태를 출력하는 명령어이다. netstat 명령어를 사용하면 현재 어떤 포트가 열려있고 사용되는지 알 수 있다. 리눅스의 netstat 명령어와 비슷하지만 조금 다르다. 참고) [Linux] 리눅스 netstat 명령어 사용법, 리눅스 네트워크 상태 확인하기, 리눅스 netstat 설치 [Linux] 리눅스 netstat 명령어 사용법, 리눅스 네트워크 상태 확인하기, 리눅스 netstat 설치 netstat 명령어 netstat은 network status의 줄임말로 말 그대로 네트워크 상태를 확인하는 명령어이다. $netstat [옵션] 자주 사용하는 옵션 -a : 모든 네트워크 상태 출력 -n : 도메인 주소를 숫자로 출력 -t code-lab1..
자바(JDK) 설치 이클립스를 설치하기 전에 JDK를 설치하지 않았다면 먼저 설치하자. 이클립스 단일로는 할 수 있는 게 별로 없고, JDK가 있어야 자바 프로그래밍을 할 수 있다. 윈도우 키 + R 버튼을 눌러 실행창에 cmd를 입력해 명령 프롬프트에 접속하자. cmd 창에 java -version 명령을 입력했을 때 버전이 제대로 나온다면 JDK가 제대로 설치되어 있는 것이다. 확인되지 않는다면 아래 글을 참고해 설치하자. 참고) [Windows] 윈도우10 자바(JDK)설치 하는 법, 자바 환경변수 설정 [Windows] 윈도우10 자바(JDK)설치 하는 법, 자바 환경변수 설정 자바(JAVA), JRE, JDK? 자바를 설치하려고 하면 JRE 혹은 JDK라는 용어를 듣게 된다. 그리고 자바를 설치..
자바(JAVA), JRE, JDK? 자바를 설치하려고 하면 JRE 혹은 JDK라는 용어를 듣게 된다. 그리고 자바를 설치하고 싶은데 JDK를 설치하라는 소리를 들으면 혼동이 오기도 한다. 쉽게 말하자면 JRE(Java Runtime Environment)는 자바 실행 환경을 뜻하고 말 그대로 자바 프로그램을 실행할 수 있는 환경을 구성한다. JDK(Java Development Kit)는 JRE를 포함하고 있으며 자바 프로그램의 실행을 넘어 개발을 할 수 있는 도구들까지 포함하고 있다. 대부분 자바를 설치하려는 사람들은 자바를 이용해 프로그램을 개발하기 위해 설치할 것이다. 그렇기 때문에 자바를 설치할 때 JDK를 설치하라는 것이다. JVM, JRE, JDK에 대해 더 자세히 알고싶다면 다음을 참고하자...
텔넷(telnet)이란? 텔넷(telnet)은 네트워크 통신을 테스트할 때 많이 사용하는 명령이다. telnet 명령어를 통해 원격 서버에 접속 할 수 있다. 예를 들어 'telnet 192.168.0.1 8080'와 같이 입력하면 192.168.0.1 IP 주소의 8080 포트로 접속을 시도한다. 이러한 텔넷은 텍스트 기반으로 동작하고 보안 연결을 제공하지 않기 때문에 민감한 정보를 전송하지 않도록 해야 한다. 윈도우 10에서 텔넷 사용하는 방법 윈도우는 보안에 취약한 텔넷 서비스를 비활성화시켜놓았다. 하지만 텔넷 명령어를 사용하고 싶다면 아래와 같이 활성화 시킬 수 있다. 가장 먼저 제어판에 들어가준다. 제어판은 검색해서 들어가거나 윈도우+R키를 눌러 실행창에서 'control'을 입력해 들어갈 수 ..
아이피(IP) 주소란? 아이피 주소(IP Address)는 Internet Protocol 주소를 나타내는 것으로, 네트워크에서 통신을 할 때 쓰는 프로토콜을 의미한다. 우리가 택배를 받을 때 배달 주소를 적듯이, IP 주소가 있어야 데이터를 송수신할 수 있다. 아이피 주소를 통해 각각의 호스트를 구분하여 데이터를 송수신한다. 아이피 주소에 대해 더 자세히 알고싶다면 다음을 참고하자. 참고) [네트워크] IP,IP 클래스, IPv4, IPv6이란? | IP 클래스 구분 IP 주소 IP는 Internet Protocol의 약자로 기기간 네트워크 통신을 할 때 쓰는 프로토콜을 의미한다. IP에서 IP 기기의 주소를 나타내는 것이 바로 IP주소이다. 흔히 우리가 사용하는 IP는 이 IP주소를 의 code-la..
Makefile이란? make 프로그램이란? 리눅스에서 Makefile은 소스 파일들을 쉽게 빌드할 수 있도록 돕는 make 프로그램의 설정 파일이다. [그림 1]과 같이 여러 개의 헤더 파일과 소스 파일을 빌드한다고 하자. 각 파일의 내용은 아래와 같다. hello.h void hello(); hello.c #include void hello() { printf("hello "); } world.h void world(); world.c #include void world() { printf("world\n"); } main.c #include "hello.h" #include "world.h" int main() { hello(); world(); return 0; } 이 헤더 파일과 소스 파일들을 ..
vi 편집기(vi editor)란? vi 편집기는 리눅스에서 기본으로 제공하는 문서 편집기이다. 다양한 명령어와 단축키를 지원하기 때문에 제대로 익힌다면 문서 작업의 효율성을 높일 수 있다. vi 편집기를 업그레이드 한 vim(vi improved) 에디터가 있는데, 근래 리눅스에서는 기본으로 vim 에디터를 적용하고 있다. 따라서 vi 명령어를 실행하면 기본적으로 vim 에디터를 실행하므로 vi와 vim 편집기를 구분하지 않고 vi라고 부르겠다. vi 초기 설정하기 vi는 편리한 도구이지만 그대로 사용하기에는 불편한 부분이 많다. 따라서 초기설정을 해주는 게 좋다. vi의 설정은 홈디렉토리(~)에서 .vimrc 파일을 변경하여 진행할 수 있다. 하지만 처음에는 .vimrc 라는 파일이 없기 때문에 만들..
GCC란? GCC는 GNU 컴파일러 모음(GNU Compiler Collection)이다. GNU는 운영 체제의 하나이자 컴퓨터 소프트웨어의 모음집이다.(참고1) 현재 대부분 GNU와 LINUX를 결합하여 사용하기 때문에 이 조합을 짧게 "Linux"라고 부르는 경우가 많다. 즉, GCC는 리눅스에서 사용하는 컴파일러 모음이라고 생각해도 무방하겠다. GCC는 한때 C언어만을 지원했지만 현재는 C++, JAVA, 포트란 등 다양한 언어를 컴파일 할 수 있도록 지원한다. 컴파일러에 대해 잘 모른다면 다음을 참고하자. 참고) [프로그래밍 언어론] 컴파일러와 인터프리터의 차이점 컴파일러(Compiler)란? 컴파일러는 특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램을 ..