Programming/OS, Program, Framework Tip 49

명령어 - sed

기가막힌 스트림 에디터입니다.Input stream 으로부터 들어오는 텍스트 문자열을 단순하게나마 수정할 수 있습니다. 스트림 에디터이기 때문에 작업 결과가 표준 출력(STDOUT, 스트림)으로만 보여지지만, 명령어의 옵션이나 리다이렉션을 통해 파일로도 저장할 수 있습니다. 예를 들어 굳이 텍스트 에디터로 파일을 열지 않아도 파일 내 모든 apple을 banana로 바꿀 수 있으며, 제일 빠릅니다. 참고) https://linux.die.net/man/1/sed

명령어 - watch

파일의 내용을 실시간으로 보고 싶을 때가 있었는데, watch라는 명령어를 사용하면 된다더군요. 있어보이는 말로 어떤 명령어나 파일을 모니터링 할 때 쓸 수 있습니다. # ls -l 의 결과가 바뀔 때 해당 사항에 대해 하이라이트 됩니다. watch -d ls -l # 파일의 끝에 내용이 추가될 때 실시간으로 보여줍니다. # 5초마다 갱신되며, tail 명령어 옵션의 영향으로 마지막 30줄만 표시됩니다. watch -n 5 "tail /var/log/log.file -n 30" # 현재 사용자를 실시간으로 보여주며, 변경 사항을 하이라이팅합니다. watch -d -w 참고) https://linux.die.net/man/1/watch

라즈베리파이 - BLE 비콘화하기

BLE 비콘을 이용한 IoT 관련 제품/서비스가 한창 많아지는 추세입니다. 저 또한 진행해봤구요. 남겨둔 문서 중 라즈베리파이를 BLE 비콘화하기 위한 삽질을 발견해 포스팅합니다. 라즈베리파이2와 라즈베리파이3 모두 해봤기 때문에 잘 작동할 겁니다. 관련 서비스를 공부하는 분들에게 도움이 됐으면 좋겠습니다. 0. 준비 라즈베리파이2는 무선랜과 블루투스 모듈이 포함되어 있지 않습니다. 따라서 USB 무선랜카드와 USB 블루투스 BLE 지원 동글을 구매하셔야 합니다. 라즈베리파이3는 모두 포함되어 있습니다. 그대로 진행하시면 됩니다. 그리고 적절한 OS(데비안 기반인 라즈비안 추천)가 설치되어 있다는 전제 하에 진행하겠습니다. 1. bluez 패키지 설치 먼저 bluez 패키지를 설치해 줍니다. 이미 설치되..

리눅스의 프로세스와 쓰레드

아래 내용에서 잘못된 점은 꼭 알려주세요 [프로세스와 쓰레드] 먼저 프로세스와 쓰레드의 의미는 다음과 같습니다. 프로세스(Process)는 프로그램 하나가 실행될 때 쓰이는 단위입니다. OS로부터 메모리 공간을 할당받고, 스케쥴링 될 수 있습니다. 쓰레드(Thread)는 프로세스 안의 작은 작업 단위입니다. 따라서 프로세스는 작업을 위해 최소 하나 이상의 쓰레드가 있어야 합니다. 쓰레드는 여러개가 존재할 수 있고, 프로세스의 메모리 자원을 공유할 수 있으며, 때문에 하나의 자원에 여러 쓰레드가 달려들 때 일어날 수 있는 동기화 문제를 신경써야 합니다. 자기 자신만의 스택을 가질 수 있습니다. 다시 말해 프로세스는 그저 프로그램이 메모리에 로드되어 있고, 실행(스케쥴링)될 수 있다는 그 자체로 봅니다. 여..

우분투 16.04 LTS 에서 이클립스 데스크탑 아이콘 먹통 고치기

안드로이드 악성코드 분석에 관심이 생겨 윈도에서 분석 해보다가,윈도에서 쓰이는 분석 툴(dex2jar, apktool, JD-GUI 등등)들이 전부 리눅스 환경에서도 이상없이 작동하는 것 뿐 아니라,어떤 툴 (droidbox)은 리눅스 환경에서만 작동한다는 걸 알고..기존에 사용 중인 우분투 16.04 LTS 로 이사했다 이번에 윈도우 10 1주년 업데이트(레드스톤 1) 에서 우분투 Bash 가 윈도우에 거의 네이티브하게 올라간다는 소식도 있지만,GUI 툴들은 아무래도 사용이 힘들 것이고.. 어차피 우분투 16.04 와 윈도 10을 듀얼부팅하고 있었으니 간단하게 이사를 했다 근데 소스 코드 분석을 위해 이클립스 네온을 설치했는데,얘를 실행시키려고 보니까 자동으로 생긴 Desktop entry 로는 죽어도..

Node.js 와 npm 최신버전 설치 및 업데이트하기

170124 - 최신 버전으로 내용 업데이트 (Node.js v7.4.0, npm 4.0.5) 우분투 12.04 이상, 데비안 7 이상에서만 가능한 방법입니다.Node.js, npm 은 x86과 arm 시스템 모두 동일합니다. 오드로이드 XU4 등 arm 기반 보드에서도 아래 명령어를 통해 설치하시면 됩니다. 1. Node.js 최신버전 설치 curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash - sudo apt-get install -y nodejs Node.js 업데이트 sudo npm cache clean -f sudo npm install -g n sudo n stable 2. npm 최신버전 설치 sudo curl -L https://np..

올리디버거(OllyDBG) 1.10 기본 설정

올리디버거 사이트: http://www.ollydbg.de/올리디버거 단축키 모음 사이트: http://www.ollydbg.de/quickst.htmWin32 API 관련 Help File: https://tuts4you.com/download.php?view.258 올리디버거 압축을 푼 후Plugin과 UDD 폴더를 만든다. 그리고 BOOKMARK.DLL 과 Cmdline.dll 파일을 Plugin 폴더에 넣는다Win32 API 관련 Help 파일을 올리디버거의 디렉토리에 넣는다올리디버거를 실행해 Options - Appearance 에서 Directories 탭으로 간 후 UDD와 Plugin 폴더 설정Help - Select API help file 에서 다운받은 Help File 선택 올리디버거..

Ubuntu 에 Nginx, MariaDB 최신버전 설치하기

15.10 에서 확인됨 16.01.25 현재 Nginx 최신버전은 1.9.9 이고, MariaDB 최신 버전은 10.1.10 이다. Nginx - http://nginx.org/ MariaDB - https://downloads.mariadb.org/ 우분투 상에서 이들을 단순히 apt-get 으로 받으려면 좀 예전 버전이 받아진다. 따라서, 새로운 repository(저장소)를 추가해 최신 버전을 받을 수 있게 해야 한다 1) 먼저, /etc/apt/sources.list 에 해당하는 저장소들을 추가한다 물론 apt-get 을 만지는 거니까 root 권한이 있어야 한다 sudo vi /etc/apt/sources.list 후 맨 마지막 부분에 다음 스크립트 추가 # Nginx deb http://ngi..