리눅스: 50개의 글
들어가며 linux에서 ssh키를 이용해 서버에 접속하는 경우가 많습니다. 특히 분산처리할때는 ssh키를 등록해 놓고 처리를 해야지 패스워드 없이 작업을 원활하게 진행이 가능합니다. 그렇다면 ssh키를 등록한다는 말이 무엇을까요? ssh-key는 내가 너의 비밀번호를 이미 알고 있으니, 다음부터는 너한테 비밀번호 물어보지 않고 접속할께 알겠지? 라는 의미라고 생각하시면 됩니다. 등록하는 방법은 서버와 클라이언트로 나누어서 생각하면, 서버는 내가 ssh를 통해 접속하고자 하는 컴퓨터를 의미하고, 클라이언트는 서버에 접속하기 위한 컴퓨터라고 생각하시면 됩니다. 클라이언트에서 ssh키를 생성하고, 생성된 키를 서버에다가 등록해주면 끝입니다. 그럼 생성하고 등록하는 방법에 대해서 알아보도록 하겠습니다. ssh ..
들어가며 서버에서 작업을 하다보면 나의 로컬에 있는 데이터를 서버로 전송하거나, 서버에 있는 데이터를 내 로컬로 전송을 해야 하는 경우가 있습니다. 그럴때는 Ubuntu에서 제공하는 기본 커맨드인 scp를 사용하시면 됩니다. scp는 Security CoPy의 약자로 보안이 보장된 복사라고 할 수 있습니다. 보안이 보장 되었다는 말은 무엇이냐, 우리가 ssh를 통해 서버에 접속을 하면 22번 포트가 open이 되어 있어야 합니다. scp는 ssh와 동일한 포트를 사용하여 SSL기반의 세션 보안 프로토콜을 사용하기 때문에 기존에 사용하던 FTP와 다르게 보안측면에서 뛰어납니다. $ scp @: source_path : 내가 복사하고자 하는 파일이 경로를 입력합니다. username : 사용자 계정 아이디를..
shell script를 작성할때 parameter의 개수를 체크하는 방법입니다. if [ "$#" -ne 1 ]; then echo 'all' else VERSION=$1 echo "$VERSION" fi
리눅스 shell script에서 주석을 하는 방법 들어가며 쉘스크립트를 작성할때 가장 다른 점이 주석하는 방법입니다. 한 줄은 쉽게 '#'를 통해 주석이 가능하지만, 블록을 주석하기 위해서는 아래와 같은 방법을 사용해야 합니다. :
들어가며 리눅스 shell에서 날짜, 시간에 대해서 정보가 필요할 경우가 있습니다. 저 같은 경우에는 로그 파일을 떨어뜨릴때 현재시간이 포함된 파일명을 함께 저장하고 싶을때 사용하는데요. shell script를 작성할때 사용하면 유용하니 사용 방법에 대해서 설명해 드리겠습니다. 리눅스에서 중요한 명령어 중 하나인 man의 명령어를 통해 date를 어떻게 사용하는지는 너무너무 친절하게 나와있으니, 추가적으로 궁금하거나 알고 싶은 내용이 있으면 확인을 해보는게 좋습니다. 특히 linux를 주로 사용하는 유저라면 man에 익숙해지는게 중요하니 아래 내용을 한번 확인해보세요. $ man date 예제 아래 예제에서 현재 시간을 가져오고, 현재 시점에서 +/-를 하는 방법에 대해 설명하고 있습니다. 그 외에도 ..
Crontab 설정 및 로그 - 스케줄링하기 들어가며 우리가 프로그래밍을 하다보면 주기적으로 실행을 해야할때가 있다. 예를들면 이 스크립트를 매일 아침 7시에 실행해줘, 아니면 1시간 간격으로 실행이 필요할 때가 있다. 물론 프로그램 상에서 구현을 하면 되지만, 그렇게 되면 항상 프로세스를 띄워놓아야 하는 단점이 있다. 그렇다면 리눅스에 있는 스케줄 관리를 해줄 수 있는 놈이 있다면 얼마나 좋을까? 그게 바로 Crontab이다. Crontab은 Linux에서 제공하는 스케줄러의 역할로서, 우리가 설정해 놓은 쉘 명령을 일정/주기에 따라 실행해주는 서비스라고 생각하면 된다. 우리가 사전에 crontab에 시간과 실행해야할 커맨드를 입력해 놓으면 알아서 실행을 해준다. 얼마나 편한가? 그럼 설정하는 방법과 ..
들어가며 윈도우에서 리눅스 원격 접속하는 방법은 다양합니다. 흔히 많이 사용하는건 VNC를 사용하지만, 본 포스팅에서는 xRDP와 XFCE4를 설치하는 방법에 대해서 설명하겠습니다. 우분투의 데스크탑 관리자는 xRDP을 지원하지 않기 때문에, 가볍고 빠른 XFCE Desktop Manager를 설치해야 합니다. 설치하기 xRDP 설치 $ sudo apt-get install xrdp XFCE4 설치 $ sudo apt-get install xfce4 xRDP 환경 설정 (마지막줄에 startxfce4 를 추가) $ echo xfce4-session > ~/.xsession $ vi /etc/xrdp/startwm.sh xRDP 재시작 $sudo service xrdp restart 설치시 오류 1) 접속..
MacOS $ sudo yum install python3 $ virtualenv -p python3 env $ source env/bin/activate $ pip3 install -r requirements.txt Centos $ sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm $ sudo yum install -y python35u python35u-pip $ virtualenv -p python3 venv $ source venv/bin/activate $ pip3 install -r requirementx.txt 출처 : ourcstory.tistory.com/216?category=630693
쉘(shell) 쉘(shell)은 명령어 해석기, 명령행 인터페이스이자 스크립트 언어이다. 유닉스 계열의 운영체제는 보통 텍스트 모드의 터미널 화면에서 명령행에 명령어를 타이핑 하여 사용한다. 이 명령어를 해석하는 프로그램이 쉘(shell)이다. 즉 쉘은 명령어 해석기 또는 명령행 인터페이스를 의미한다. 쉘을 사용하는 것은 윈도우의 '명령 프롬프트'에서 명령을 실행하는 것과 유사하지만 리눅스의 쉘은 훨씬 강력한 기능을 제공한다. 쉘 명령은 GUI 도구로는 수행하기 어려운 다양한 고급 기능을 제공한다. 또한 쉘은 스크립트 언어이기도 하다. 쉘 명령어로 구성된 쉘 스크립트 프로그램을 작성하면 쉘이 스크립트 파일을 읽어 일련의 명령을 수행할 수 있다. 윈도우 명령 프롬프트 창 리눅스 콘솔 창 쉘은 운영체제의 ..
유닉스(UNIX)와 리눅스(Linux) UNIX는 다중 사용자, 다중 작업을 지원하는 신뢰성 높은 운영체제이다. Linux는 UNIX '계열'의 운영체제이며 UNIX의 무료 공개 버전이다. 핀란드의 리누스 토르발스(Linus Benedict Torvalds)가 UNIX의 소스코드를 사용하지 않고 최초로 독립적 커널을 이용해서 개발했다. Linux는 독점, 배타되지 않는 자유 소프트웨어로 'GNU GPL(General Public License, 일반 공개 라이선스)'에 따라 누구에게나 자유롭게 배포될 수 있기 때문에 전 세계의 수많은 프로그래머에 의해 지속적으로 발전되어왔다. 유닉스의 등장과 발전 Multics → Unics → Unix → UNIX AT&T의 Multics는 1969년에 어셈블리 언어로..