본문 바로가기

개발자 일지/Linux18

[리눅스 기초]less 명령어 사용법, 단축키, 사용 이유 리눅스 명령어 less를 알아보려고 합니다. 리눅스 명령어 less는 vi나 nano와 같이 서버 로그를 볼 때 유용한 명령어 입니다.    less와 같이 알아보면 좋은 명령어와 관련하여 포스팅을 해놨으니 참고하시면 도움이 될 것 같습니다. 여기를 누르시거나 아래를 참고해주세요.  [리눅스 기초]파일 편집(nano,vi) 이용하기-생활코딩 리눅스 강의를 기반으로 정리, 추가 보충 학습 했다. -리눅스 문서 편집기 중 하나인 nano,vi 사용법을 익혀본다. -가상머신 프로그램인 오라클 버츄얼박스로 우분투(ubuntu) 12.10를 사용하roadofdevelopment.tistory.com1. less 명령어란? 리눅스 명령어인 less는 텍스트 파일을 읽기 전용으로 빠르게 열고 탐색할 수 있는 리눅스 .. 2024. 9. 13.
Vmware로 리눅스 서버 및 tomcat 설치하기 - Vmware를 사용하여 리눅스 서버를 생성해본다. - Centos7을 설치한다. - apache-tomcat을 설치하여 접속테스트까지 해본다. 잘 설명된 블로그들을 통해 웹서버를 VMware로 구축해보았다. 아래 블로그를 주로 참고하였다. https://nullgoyatten.tistory.com/5 VMware로 CentOS7에 톰캣(tomcat) 서버 구축하기 서버 구축 개요 서버를 만들어 보자 모름지기 서버란 결국 컴퓨터다 서버를 구축하려면 컴퓨터가 필요한데 구매를 하기엔 비용적으로나 공간적으로나 낭비가 크다 따라서 많은 개발자들이 가 nullgoyatten.tistory.com 1.Vmware 설치 버추얼박스로 쓰다가 VMware 써보니 설정 등이 더 간단하고 안 막히는 것 같다. 공식사이트에.. 2023. 2. 5.
[리눅스 기초]cron을 사용하여 정기적으로 실행하기 -리눅스 크론(cron)을 사용하여 정기적으로 프로세스를 실행하는 방법을 학습한다. -생활코딩의 리눅스 강의를 바탕으로 학습 및 보충학습하였다. -ubuntu 12.10을 사용하였다. 크론이란 특정 시간에 특정 작업을 자동으로 수행해야 할 때 크론(cron)을 사용한다. 스케쥴링 역할을 한다. 예를 들어 새벽 4시에 정기적으로 사용자들에게 메일을 발송하는 경우가 대표적이다. 크론 작업 설정은 crontab에서 한다. crontab은 /etc/crontab에 위치해 있다. 여기 설정된 크론 설정 정보를 통해 자동으로 수행될 프로세스가 결정된다. 크론 설정은 crontab 명령어를 통해 할 수 있다. crontab -e를 입력하면 편집할 편집기를 설정하라는 메뉴가 나온다.(최초1번만 나옴) 2번 nano를 .. 2021. 5. 16.
[리눅스 기초]daemon,service에 관하여 -daemon의 개념 및 명령어와 이를 실행하는 service 명령어를 알아본다. -생활코딩의 리눅스 강의를 바탕으로 학습 및 보충학습하였다. -ubuntu 12.10을 사용하였다. daemon이란 백그라운드에서 항상 실행되고 있는 프로세스로 메모리에 상주해 있다가 사용자 요청이 오면 응답하는 프로세스이다. 리눅스 시스템의 1번프로세스(PID=1)인 init 프로세스가 실행한다. 데몬 프로그램의 명령어들은 명칭뒤에 d가 붙는다. httpd,ftpd 등이다. 아파치를 설치(sudo apt-get install apache2)한 후, cd /etc/init.d명령어로 디렉토리 이동후 ls -al로 명령을 내리면 apache2 데몬을 확인할 수 있다. /etc/init.d라는 디렉토리에는 데몬 프로그램들이 위.. 2021. 5. 9.
[리눅스마스터2급]1차 시험 문제 학습하기 -리눅스마스터 2급 1차 시험의 내용들을 복기하며 모르는 것들은 최소한으로 정리해본다. -족보 문제를 기준으로 나왔던 문제들을 분석하는 식으로 한다.(족보 출처는 맨 아래 명시) 리눅스마스터2급을 왜 보는가 자격증이 필요해서 따려는 것은 아니다. 그냥 번아웃 증상 완화를 위한 긴급처방 + 리눅스 관련 상식들을 전반적으로 알고 싶은 욕구 정도의 목적을 갖고 있다. 아무래도 시험이라는 목적이 있으면 단기간에 흡수하는 효율이 높아지기 때문에 출퇴근 시간이나 회사에서 짬낼 때 공부하기가 좋다. 인터넷에 족보들이 많고 구글 검색만 해도 나오기에 온라인 시험인 1차 시험은 아마 대부분 붙을 것이라고 본다. 그러나 붙고 끝나는 것이 아니라 몰랐던 것들은 최소한으로 정리해놔야 15,000원이 안 아까울 것이라고 생각했.. 2021. 5. 8.
[리눅스 기초]백그라운드, 포그라운드 프로세스 -리눅스에서 프로세스가 실행되는 방식인 포그라운드, 백그라운드 프로세스를 학습한다. -생활코딩의 리눅스 강의를 바탕으로 학습 및 보충학습하였다. -ubuntu 12.10을 사용하였다. 포그라운드와 백그라운드란 프로세스가 실행되는 방식에는 두 가지가 있다. 포그라운드(foreground)와 백그라운드(background)인데 해석 그대로 앞과 뒤에서 실행되는 프로세스를 의미한다. 포그라운드는 터미널에서 우리가 작업할 때 화면에 출력된 결과를 보고 명령을 입력하는 대화식 작업을 한다. 명령을 실행하고 결과 출력때까지 기다리는 방식으로 처리된다. 백그라운드는 포그라운드 프로세스가 실행되는 동안에 뒤에서 다른 프로세스를 실행하여 한 터미널에서 여러 프로세스를 동시에 실행한다. 데몬, 백신 프로그램같은 것이 예이.. 2021. 5. 6.
[리눅스 기초]파일을 찾는 방법(location,find,whereis) -리눅스에서 파일, 명령어 정보를 찾는 명령어들을 알아본다. -생활코딩의 리눅스 강의를 바탕으로 학습 및 보충학습하였다. -ubuntu 12.10을 사용하였다. find 리눅스에서 파일을 검색할 때 가장 기본적으로 사용되는 명령어이다. 단점은 처음부터 하나씩 검색을 수행하여 속도가 느리다는 것이다. 그렇기 때문에 다음에 소개할 locate를 더 많이 사용한다. find . -name *.log : 현재 디렉토리(.)를 기준으로 모든 log확장자를 가진 파일 검색 find / -name *.log : 루트디렉토리(/)를 기준으로 모든 log확장자를 가진 파일 검색 find ~ -name *.log : 자신의 홈디렉토리(~)부터 모든 log확장자를 가진 파일 검색 find . -type f -name tec.. 2021. 5. 4.
[리눅스 기초]프로세스 확인하기(ps, top) -리눅스의 프로세스를 확인하는 명령어와 옵션들을 살펴본다. -생활코딩의 리눅스 강의를 바탕으로 학습 및 보충학습하였다. -ubuntu 12.10을 사용하였다. 실행중인 프로그램을 '프로세스'라고 한다. 프로세스를 보기 위한 명령어는 ps와 top가 있다. ps와 top 명령어의 차이가 어떤건지 헷깔렸는데 KLDP에 잘 정리가 된 댓글이 있었다.(출처는 글 마지막에 명시) top : 그때 그때의 cpu 사용률. ps : 프로세스 전체 사용시간 동안의 cpu 사용률 top은 모니터링 툴, ps 는 스냅샷이라고 비유했다. 또 다른 블로그들에 공통적으로 정리된 차이점이 있는데, ps는 ps한 시점에 proc에서 검색한 cpu 사용량 top은 proc에서 일정 주기로 합산해 cpu 사용율 출력 라고 정리되어 있다.. 2021. 5. 3.
[리눅스 기초]리눅스 디렉토리 구조 -리눅스의 디렉토리 종류 및 구조에 대해 알아본다. -생활코딩의 리눅스 강의를 바탕으로 학습 및 보충학습하였다. -ubuntu 12.10을 사용하였다. 리눅스에서는 루트 디렉토리(/)를 기준으로 트리형태로 여러 디렉토리가 존재한다. 디렉토리의 종류와 성격마다 명령어, 파일들이 분류되어 있다. 이는 리눅스가 파일시스템표준안(Filesystem Hierachy Standard, FHS)을 따르기 때문이다. FHS에 맞게 명령어와 파일들이 적절한 디렉토리에 잘 정리가 되어 있다. 표준안은 강제성이 없기 때문에 현재 일부 리눅스 시스템은 FHS를 잘 따르지 않는다고 한다. 현재는 자주 안 쓰이는 디렉토리들도 있고 필수적으로 쓰이는 디렉토리들도 있는데 알아야 하는 디렉토리들을 정리한다. /(root) 가장 최상위.. 2021. 3. 18.
[리눅스 기초]쉘 스크립트(Shell Script) 개념 및 사용법, 컴파일 언어와 인터프리터 언어의 차이점 -리눅스의 쉘 스크립트에 대해 알아본다. -생활코딩의 리눅스 강의를 바탕으로 학습 및 보충 학습하였다. -ubuntu 12.10을 사용하였다. 쉘 스크립트란? 쉘 스크립트(Shell Script)는 쉘로 하는 프로그래밍이라고 볼 수 있다. Java나 C언어 처럼 조건문, 반복문 등의 일반적인 프로그래밍 문법을 사용할 수 있다. 그러나 컴파일 방식이 아닌 인터프리터를 통한 스크립트 방식이라는 차이점이 있다. 컴파일 언어와 인터프리터 언어의 차이점을 대충 알고 있어서 이 기회에 한 번 정리해본다. 컴파일 언어 스크립트 언어 컴파일러를 거쳐서 기계어로 번역한 후 한 번에 실행(번역 후 실행) 인터프리터가 코드를 한줄 한줄 해석하며 실행(번역하며 실행) 컴파일을 하기 위해 변수 선언 등의 제약사항이 많음 변수를.. 2021. 3. 14.
[리눅스 기초]I/O Redirection 개념 및 사용법 -리눅스의 I/O Redirection의 개념과 사용법을 알아본다. -생활코딩의 리눅스 강의를 바탕으로 학습하였다. -ubuntu 12.10을 사용하였다. I/O Redirection이란? 직역하는대로 Input/Output의 재방향(화)이다. 입력과 출력의 기본적인 방향을 바꿔 입력값을 모니터 출력(기본출력)이 아닌 파일에 출력하여 저장하거나 파일값을 출력하는 등 입출력 방향을 재설정할 수 있다. 리눅스의 기본 입출력은 다음과 같다. 표준입력(stdin: 키보드) 표준출력(stdout: 모니터) 표준에러(stderr: 모니터) 즉, 기본적으로 키보드의 표준입력값은 모니터에 출력된다. 또한 에러 역시 모니터에 기본적으로 출력된다. I/O Redirection 명령어를 사용하면 이런 표준값들을 변경하여 다.. 2021. 3. 12.
[리눅스 기초]CLI 개념 및 사용 이유, 다중명령어(세미콜론,파이프라인 등) -리눅스 CLI 개념 및 사용하는 이유에 대해 알아본다. -다중명령어인 세미콜론(;)과 파이프라인(|)을 알아본다. -생활코딩 리눅스 강의를 기반으로 학습 및 보충학습하였다. CLI란? Command Line Interface의 약자이다. 명령어 기반의 인터페이스로, 명령어를 내려 유저와 컴퓨터가 상호작용하는 방식이다. 반대까지는 아니지만, 다른 방식의 인터페이스가 그 유명한 GUI(Graphic User Interface)이다. GUI는 마우스 등의 입력장치를 통해 그래픽적으로 컴퓨터를 사용하는 방식이다. 리눅스는 GUI,CLI 모두 사용할 수 있지만 CLI를 더 많이 쓴다고 한다. 특히 서버 운영을 위한 리눅스는 CLI방식으로 많이 이용한다. GUI 방식은 그래픽을 이용하는 만큼 리소스 낭비가 있기 .. 2021. 3. 9.
[리눅스 기초]다운로드 방법 - wget, git clone -리눅스에서 링크를 이용하여 다운로드 받는 방법을 알아본다. -혹시 wget,git clone을 알기 위해 오신 분이라면, 이번 포스팅은 작동 안 되는 부분 중 미해결 부분들이 많아서 다른 블로그를 참고하는 것이 더 좋을 것 같습니다. 정리 목적으로 포스팅한 것이며 추후 해결된 부분은 다시 업데이트할 예정입니다.리눅스에서 파일을 다운로드 받는 방법은 여러 방법이 있는 것 같은데 그 중 2가지를 소개한다. 잠깐 전에 포스팅한 apt-get install과 차이점이 헷깔렸는데, apt-get install은 리눅스 전용 기본 패키지들을 다운로드 받는 것이고 아래 소개하는 wget, git은 일반적인 파일들(리눅스와 관련여부 상관없이)을 다운로드 받는 것으로 보인다. wget url주소 : url주소로 다운로.. 2021. 3. 7.
[리눅스 기초]패키지 매니저(Package Manager) -생활코딩 리눅스 강의를 기반으로 정리, 추가 보충 학습 했다. -리눅스에서 새로운 소프트웨어 등을 설치할 수 있는 패키지 매니저의 개념과 명령어 등에 대해 알아본다. -가상머신 프로그램인 오라클 버츄얼박스로 우분투(ubuntu) 12.10을 사용하였다. 패키지 매니저란? 리눅스에서 소프트웨어를 다운로드 및 업데이트 받을 때 패키지 매니저를 사용한다. 패키지 간에 서로 필요한 관계를 의존성(dependency)라고 하는데, 패키지 매니저는 이러한 의존성 관계 시스템이라고 볼 수 있다. 일종의 앱스토어라고 볼 수 있다. 리눅스보다 nodejs를 먼저 배웠는데 nodejs의 NPM(Node Package Manager)도 이러한 시스템을 모티브로 만들어진 것 같다. 참고로 mkdir, ls 등의 명령어는 기.. 2021. 3. 7.
[리눅스 기초]파일 편집(nano,vi) 이용하기 -생활코딩 리눅스 강의를 기반으로 정리, 추가 보충 학습 했다. -리눅스 문서 편집기 중 하나인 nano,vi 사용법을 익혀본다. -가상머신 프로그램인 오라클 버츄얼박스로 우분투(ubuntu) 12.10를 사용하였다. 리눅스에서의 파일 편집 리눅스에서는 메모장, 워드패드 같은 파일 편집기가 존재하는데 nano, vi, vim 등 많은 편집기들이 존재한다. nano는 가장 기본적인 편집기로 최소한의 기능만을 갖고 있다. vi는 nano보다 좀 더 다양한 기능을 갖고 있다. 그리고 vim은 'vi improved'로 UNIX 기본 편집기 vi의 업그레이드 버전이라고 보면 된다. 리눅스는 vim만 설치되어 있어서 vi 명령어와 vim 명령어 모두 vim을 실행한다. 실습은 nano로 진행하려고 한다. nano.. 2021. 3. 2.
[리눅스 기초]help와 man -생활코딩 리눅스 강의를 기반으로 정리, 추가 보충 학습 했다. -리눅스의 명령어 help, man을 살펴 본다. -가상머신 프로그램인 오라클 버츄얼박스로 우분투(ubuntu) 12.10을 사용하였다. 중요한 명령어나 옵션들은 숙달되어 외워 사용해야 하거나 구글링으로 찾아 사용할 수 있다. 하지만 좀 더 디테일하게 확인하기 위해 스스로 내부 명령어 메뉴얼을 참고할 수 있다. 리눅스를 잘 다루는 개발자들은 자주 사용할 것 같다. help와 man 명령어 명령어 --help : 명령어에 대한 간단한 관련 메뉴얼이 나온다. 위의 이미지는 보는 것 처럼 mkdir --help를 통해 간단한 메뉴얼을 확인할 수 있다. 상단의 Usage: mkdir [OPTION]... 부분은 명령어를 쓰는 방식 및 명령어의 기능.. 2021. 3. 1.
[리눅스 기초]디렉토리, 파일 관련 명령어 -생활코딩 리눅스 강의를 기반으로 정리, 추가 보충 학습 했다. -리눅스의 디렉토리, 파일에 대한 명령어와 구조를 살펴본다. -가상머신 프로그램인 오라클 버츄얼박스로 우분투(ubuntu) 12.10를 사용하였다. CLI와 GUI 운영체제를 다루는 방식은 CLI(Command Line Interface)와 GUI(Graphic User Interface)로 나눌 수 있다. 대부분 알다시피 윈도우에서 마우스를 이용해 아이콘을 클릭하여 명령을 내리는 방식을 GUI 방식이라고 한다. 리눅스 OS 역시 GUI방식으로 설치가 가능하다. CLI방식은 윈도우 CMD나 리눅스 터미널을 사용하는 방식이다. 리눅스의 경우 터미널에 명령어를 입력하면 쉘(Shell)이 이를 해석하여 커널이 해석할 수 있는 명령어로 변경되어 하.. 2021. 3. 1.
커널(kernel)과 쉘(shell)에 관하여 -운영체제(리눅스)를 구성하는 두 가지 요소인 커널과 쉘에 대해 알아본다. 커널(kernel)이란? '커널'이란 운영체제(OS)의 두 가지 구성요소 중 하나이다. 커널은 하드웨어를 직접적으로 제어하는 운영체제의 핵심이며 프로세스 관리, 메모리 관리, I/O 시스템 관리, 파일 시스템 관리 등을 수행한다. 흔히 리눅스의 우분투, 센토스 등의 배포판은 리눅스 커널을 기반으로 만들어졌다고 보면 된다. 리눅스 커널을 기반으로 만들어진 배포판들을 흔히 리눅스라고 칭한다. 커널은 리눅스가 부팅될 때 메모리로 로드된다. 쉘(shell)이란? '쉘'이란 운영체제(OS)의 두 가지 구성요소 중 나머지 하나이다. 쉘은 커널을 컨트롤할 수 있으며 커널은 하드웨어를 컨트롤한다. 즉, 하드웨어를 유저가 컨트롤하기 위한 인터페이.. 2021. 2. 22.