반응형

리눅스에서 명령어를 사용하다 보면 결과 값을 다른 명령어로 전달하고 싶은 때가 있다. 내 경우에는 k8s pod 이름을 다른 명령어로 전달 하고 싶었다.

찾아보니 xargs 라는 명령어가 있었다.

xargs = eXtended ARGuments 
- 사용 방법 : xargs [options][command][arguments]
- 옵션 : 여러가지가 있는데 내가 사용해본 옵션만 적겠다.
  -i : 원하는 위치에 인자 입력하기  - 인자를 입력하고 싶은 위치에 {} 를 입력하여 지정할수 있다. 
  -v : 실행된 명령어 확인하기

 

k get pod -o=custom-columns='DATA:metadata.name' | grep test-[0-9] | xargs -i -t kubectl get po {}
kubectl get po test-67b7988799-j8gks
NAME                                        READY   STATUS    RESTARTS   AGE
test-67b7988799-j8gks   1/1     Running   0          17h

1. k get pod -o=custom-columns='DATA:metadata.name'  : k8s pod 이름을 검색한다.
2. grep test-[0-9] | : pod 이름중 "test-숫자" 라는 패턴의 pod 이름을 검색한다.
3. xargs -i -t kubectl get po {}검색한 pod 이름을 {} 에 넣어준다.
4. kubectl get po test-67b7988799-j8gks : -t 옵션에 의해서 실행된 명령어를 확인할 수 있다.

 

728x90
반응형
반응형
nohup은 HUP(hangup) 신호를 무시하도록 만드는 POSIX 명령어이다. HUP 신호는 전통적으로 터미널이 의존 프로세스들에게 로그아웃을 알리는 방식이다. 일반적으로 터미널로 향하는 출력은 별도로 넘겨주기 처리를 하지 않았을 경우 nohup.out이라는 이름의 파일로 출력된다.

(출처 : https://ko.wikipedia.org/wiki/Nohup)

다시 말해 nohup 명령어는 터미널을 종료해서 세션이 끊어지더라도 계속 동작을 할수 있게 해준다. 

사용방법

nohup 프로세스 &

nohup.out 파일 생성하지 않으려면 

nohup 프로세스 1>/dev/null 2>&1 &

1>dev/null 은 표준출력 사용하지 않는다는 의미
2>&1 표준 에러를 표준 출력과 같게 한다는 의미

참고사항

표준입력 = 0
표준 출력 = 1
표준 에러 = 2

> :  파일이 없으면 새로 만들고 있으면 덮어쓴다.
>> : 파일이 없으면 새로 만들고 있으면 끝에 덧붙인다. 

 

728x90
반응형

'Development > Linux' 카테고리의 다른 글

xargs 명령어  (0) 2024.01.17
[리눅스 명령어] arp  (0) 2021.11.16
[리눅스 명령어] 디스크 관련 명령어  (0) 2021.06.04
파일 찾기, 파일 날짜별 삭제  (0) 2021.05.21
[리눅스 명령어] IP 관련 명령어  (0) 2021.03.08
반응형
du 디렉토리명

디렉토리와 모든 하위 디렉토리 용량을 표시해준다.

옵션
-s : 선택한 디렉토리의 용량을 보여준다.
-h : 용량 단위를 알기 쉽게 보여준다.
-d : 숫자 숫자만큼의 하위디렉토리까지 출력한다.
-a : 파일 용량도 출력한다.

df -h

디스크의 사용량을 알 수 있다.

 

728x90
반응형

'Development > Linux' 카테고리의 다른 글

[리눅스 명령어] arp  (0) 2021.11.16
[리눅스 명령어] nohup  (0) 2021.06.09
파일 찾기, 파일 날짜별 삭제  (0) 2021.05.21
[리눅스 명령어] IP 관련 명령어  (0) 2021.03.08
dpkg lock 에러  (0) 2020.09.17
반응형

ip link
- ip link set eth0 up
- eth0 인터페이스활성화

ip addr
- IP 정보 출력

ip addr add
- ip addr add ip/24 dev eth0
- eth0 인턴페이스에 IP 추가

route
- 라우팅 정보 출력

ip route add
- ip route add default via XXX.XXX.X.X
- 게이트웨이 설정
- ip route add XX.XX.XX.X/24 via XXX.XXX.X.X dev eth0
- 정적 라우팅 정보 설정

 

728x90
반응형

'Development > Linux' 카테고리의 다른 글

[리눅스 명령어] 디스크 관련 명령어  (0) 2021.06.04
파일 찾기, 파일 날짜별 삭제  (0) 2021.05.21
dpkg lock 에러  (0) 2020.09.17
netstat 사용 중인 포트 찾기  (0) 2020.07.30
openSSH 서버 활용하기  (0) 2017.04.18
반응형

 

netstat

-a [all] 모든 네트워크 상태 출력
-c [continuous] 현재 실행 명령어를 매 초마다 실행
-l [listening] 대기중인 네트워크 
-n [numeric] 도메인 주소를 숫자로 출력
-p [program] pid 와 사용중인 프로그램명 출력
-r [route] 라우팅 테이블 출력
-t [tcp] TCP 프로토콜만 출력
-u [udp] UDP 프로토콜만 출력

 

LISTENING : 현재 서비스를 대기중 

ESTABLISHED : 다른 컴퓨터와 연결된 상태

CLOSED : 연결이 완전히 종료된 상태

TIME WAIT : 연결은 종료되었지만 당분간 소켓은 열어놓은 상태

 

netstat -ano | find "7000"

- 포트가 7000 번인 

 

PID 가 7000번인 프로스세 찾기

- tasklist /FI "PID eq 7000"

 

프로세스 종료 

- taskkill /pid 7000

 

프로세스 강제 종료 

- taskkill /f /pid 7000

 

 

728x90
반응형

'Development > Linux' 카테고리의 다른 글

[리눅스 명령어] IP 관련 명령어  (0) 2021.03.08
dpkg lock 에러  (0) 2020.09.17
openSSH 서버 활용하기  (0) 2017.04.18
우분투 리눅스 설치 삽질기!  (3) 2017.04.17
Command Line 명령어  (0) 2016.01.14
반응형

현재 우분투 리눅스가 설치되어있는 넷북은 작업 환경이 정말 열악하다.

집에서 쓰는 거라서 보조 모니터가 있는것도 아니고 조그만한 화면을 들여다 보고 있으면 정말 목이 아프다. 

그래서 굳이 넷북에서 직접 작업할 필요가 있을까라는 생각을 했다. 

데스크탑도 있고 맥북도 있는데 굳이 그 조그만한 화면을 들여다 볼 필요가 있을까라는 생각을 했다. 

원격 접속해서 사용해도 큰 무리가 없을것 같은데.


그래서 책을 찾아보니 OpenSSH 서버라는 것이 있었다. 


telnet 과는 거의 동일 하지만 데이터 전송 시 암호화를 한다는 차이점을 가지고 있다. 


apt-get install openssh-server


이렇게 간단하게 명령어 한번만 치면 설치가 순식간에 진행된다. 



참고로 내가 사용한 -y 옵션은 패키지 설치시 설치여부 확인을 자동으로 진행해주는 옵션이다. 



systemctl restart ssh : 서비스를 재기동한다.

systemctl enable ssh : 서비스를 항상 기동하도록 설정한다.

systemctl status ssh : 서비스 상태를 확인한다. 


그리고 나서 여기 캡쳐 상에는 없지만 ufw allow 22/tcp 로 방화벽에서 SSH 포트인 22번 포트를 허용하도록 한다.



이 화면은 맥북에서 접속한 화면이다. 

ssh 사용자이름@IP 로 접속을 하면 된다. 위에는 이름과 IP 가 나와서 블러 처리를 했다. 

이렇게 함으로써 이제부터는 굳이 작은 넷북 화면 안쳐다보고 맥북에서 작업을 할 수 있게 되었다. 

필요한 것을 찾아가면서 이것 저것 적용해보는 재미가 쏠쏠한것 같다. 그러면서 아는것도 생기니 일석이조다. 


728x90
반응형

'Development > Linux' 카테고리의 다른 글

dpkg lock 에러  (0) 2020.09.17
netstat 사용 중인 포트 찾기  (0) 2020.07.30
우분투 리눅스 설치 삽질기!  (3) 2017.04.17
Command Line 명령어  (0) 2016.01.14
sed 명령어  (0) 2016.01.12
반응형

집에 있던 삼성 넷북 NT-N150을 어떻게 하면 쓸수 있을가 고민을 했다. 

처음 샀을때에 윈도우 XP가 깔려 있던 모델이고 성능을 봐서도 거의 폐급 수준이다. 도저히 그냥은 사용할 수 없는 수준이어서 업그레이드를 시도했다. 


마침 집에 있던 128기가 짜리 SSD가 있어서 하드는 이것으로 교체했다. 어차피 공부용으로 쓰거나 테스트 용으로 사용할거라서 많은 용량은 필요하지 않았다. 그리고 2기가 램을 하나 구매해서 기존 1기가 램과 교체를 했다.


자. 이제 하드웨어는 준비가 끝났고 OS는 뭘 깔아야 할까.


데스크탑은 윈도우10을 쓰고 있고 , 맥북에는 맥OS 가 설치되어있고. 이제 남는것은 리눅스다. 

그럼 리눅스는 어떤것을 설치해야 하나. 이번에 한빛 리더스를 통해서 받은 우분투 책도 있겠다 공부도 할겸 우분투로 정했다. 


그런데 이렇게 보면 정말 짧은 몇줄로 끝난 일이었지만 여기까지 오는 길은 정말 많은 일들이 있었다. 


비하인드 스토리.

처음에는 그냥 넷북에다 ubuntu-16.04.2-desktop-amd64 이미지를 받아서 무작정 설치했다. 물론 설치는 성공적으로 끝났다. 하지만 이건 너무 느려서 마우스를 움직일 수 없는 지경이었다. 그래서 혹시 64비트를 설치해서 그런가? 라는 생각에 ubuntu-16.04.2-desktop-i386을 받아서 설치했다. 하지만 결과는 똑같았다. 그래서 이번에는 14 버전 이미지를 받아서 설치해봤다. 여전히 느리다. 

인터넷을 검색해 보니 centos 가 좀더 가볍다고 하길래 centos 를 받아서 설치를 했다. 그런데 이번에는 설치가 안된다. 

설치가 안됐던 원인은 이미지를 usb 부트디스크로 만드는 과정에서 난 Universal-USB-Installer-1.9.7.2를 사용했는데 이게 잘 작동을 안해서였다. 이미지 만들때 이미 에러가 난 상황이니 설치가 제대로 안될 수 밖에. 이것때문에 설치만 4,5번 했다. 

centos를 설치해서 봤는데 뭔가 만족스럽지가 않다. 여전히 느렸기 때문이다. 

다시 검색을 해보니 루분투라는게 있더라. 그래서 다시 그 이미지 구해다가 설치를 했는데 이건 뭔가 더 맘에 안들었다. 

그래서 내린 결론은 지금의 성능으로는 그냥 아무것도 못하는게 맞다는 결론을 내렸다. 그래서 위에서 쓴것과 같이 업그레이드를 했다.

그리고 나서 다시 ubuntu-16.04.2-desktop-i386를 설치했다. 그랬더니 그래도 할만한 정도로 넷북이 돌아갔다. 처음에 64비트를 설치 안한 이유는 그래도 혹시나 성능이 딸릴까봐 32비트를 설치했다. 그런데 우분투에 Docker를 설치하려고 했더니 64비트를 설치하라는 말이 있어서 결국은 다시 ubuntu-16.04.2-desktop-amd64로 바꿔 설치했다. 대체 몇번을 재설치 한건지 모르겠다.

비하인드 스토리 끝.


아래 화면들은 설치하면서 아이폰으로 찍은 과정이다. 



USB를 꼽고 부팅을 하면 위와 같이 화면이 나온다. 

여기에서 한국어 선택하고 계속을 클릭한다. 



무선 네트워크는 아직 연결하지 않는게 좋다고 나와있어서 연결을 하지 않았다.

연결을 하게 되면 업데이트 항목까지 설치 시점에 다운로드 하기 때문에 시간이 많이 걸린다고 한다.



그래픽과 와이파이 정도는 설치를 해줘야 하기때문에 아래를 체크하고 계속을 클릭한다.



항상 OS를 설치할 때에는 무조건 깨끗한게 좋다. 어차피 백업할 자료도 없기 때문에 무조건 싹 지우고 설치한다. 



난 서울에 살고 있기 때문에 서울 선택하고 계속 버튼을 누른다.



계정 이름과 정보를 누르고 암호도 넣어준다. 



그러면 이렇게 파일 복사하고 설치가 완료된다.




봤듯이 설치는 간단하다. 하긴 요즘은 윈도우도 USB 로 부팅디스크 만들어서 설치하면 금방 다 설치가 되니 별다른 차이는 없는것 같다. 

이렇게 해서 나의 우분투 리눅스 설치 삽질이 끝났다. 덕분에 우분투 이미지 만들어서 설치하는것은 눈감고도 할수 있을것 같다. 아주 많은 삽질과 시간과 비용이 들어갔지만 재미는 있었다. 어렵게 설치하고 만들어놨으니 앞으로 공부하면서 잘 써먹어야겠다. 



728x90
반응형

'Development > Linux' 카테고리의 다른 글

netstat 사용 중인 포트 찾기  (0) 2020.07.30
openSSH 서버 활용하기  (0) 2017.04.18
Command Line 명령어  (0) 2016.01.14
sed 명령어  (0) 2016.01.12
[Unix]tar 명령어  (0) 2012.11.12
반응형



  예전에는 그냥 JAVA 기반에 eclipse 설정만 하고 코딩만 했었다. 주변 환경에 대해서는 거의 신경을 안썼고 별로 관심도 없었다. 그런데 점점 프로젝트를 하면서 개발 환경 구성하는 작업들을 볼 기회가 많아졌다. 그리고 내가 직접 구성하거나 환경 설정을 해야 하는 일도 자주 생기게 되었다. 그러다 보니 자연 스럽게 리눅스에 대한 관심이 가게 되었다. 항상 사용할때마다 구글에서 검색해서 명령어 정도만 찾아보고 뭔가 기억해야 겠다는 생각은 해본적이 없었다. 그때그때 찾아 쓰면 되지 라는 생각이 컸다. 


  올해 초에 이 책이 나온 것을 알고 살가 말까 고민 하고 있던 시기에 한빛리더스 14기에 선정이 되었고 첫번재 미션으로 받은 도서 목록에 이 책이 있었다. 그래서 미션 도서 선정 때 아무런 망설임이 없이 이 책을 선택했다.


  이 책에서는 VMware를 사용해서 일반 호스트 PC에 4개의 게스트 OS를 구성해서 실습을 진행하고 있다. 게스트OS로는 리눅스 서버 2대, 리눅스 클라이언트 1대, 윈도우 클라이언트 1대로 구성되어있다. VMware를 사용한 이유는 책에서도 언급이 되어있지만 집에서 사용하는 1대의 PC에서 window가 아닌 다른 운영체제를 구성하는 부분에 대한 부담을 덜기 위함이다. 


  우분투 리눅스에 대한 설명을 하면서 중간중간 일반적인 하드웨어, 네트워크에 대한 내용들도 나와 있어서 전반적인 서버 구성 및 네트워크 구성에 대한 지식도 쌓을 수 있다. 책을 보면서 실습 하는 것도 중요하지만 이런 배경이 되는 기초지식에 대한 이해도 중요하다고 생각하는 나로써는 책의 내용이 정말 만족스러웠다. 

 

 

  각각의 챕터 앞부분에는 학습목표와 진행 방향이 간단히 요약 정리되어 있어서 이번 챕터에서는 무엇을 공부하고 무엇을 알아야 하는구나 라는 것을 알 수 있다. 



 


  또 설명을 하면서 캡쳐 화면이 많아서 실습 하는데에 도움이 많이 된다. 실제 PPT를 보는 듯한 느낌의 화면과 상세한 설명, 주석으로 내용을 이해하는데 어렵지 않았다. 위에 그림처럼 캡쳐 화면에서 화살표 표시는 실습하는데 헷갈리지 않고 차례차례 진행하는데 도움이 되었다. 그리고 꼭 알아야 되는 부분에 중요 표시를 해둬서 나처럼 처음 공부하는 사람들이 어떤 부분이 핵심이고 아닌지를 잘 판단할 수 있다. 


  그리고 마지막으로 중요한 점은 유투브 동영상 강의가 있다는 점이다. 솔직히 책 두께로 봐서는 들고다니면서 읽기는 불가능 하다. 하지만 그것을 대신해서 유투브 강의가 제공되니 이동시에는 강의를 시청하고 책과 병행 하면서 예습, 복습을 한다면 더 효과적으로 이해를 할수 있다. 


  책 두께에서 오는 포스처럼 약간 바이블 같은 느낌이 나는 학습 책이지만 그만큼 그 역할을 충실히 하고 있는 책이 아닌가 생각이 된다. 그만큼 저자 분이 책 내용에 세심한 노력을 기울였다는 생각이 책 곳곳에 보인다. 한가지 분야에 대한 책을 고를때 상당히 고민을 많이 하는 편인데 이번에 정말 좋은 책을 잘 읽었다는 생각이 들었다. 


상세보기


728x90
반응형

+ Recent posts