반응형

GNU-Linux 34

UNIX as IDE: 1. Introduction

이 시리즈의 원 저자인 Tom Ryder의 허락을 받고 올리는 번역글입니다. IDE가 할 수 있는 기능을 UNIX 계열의 shell 안에서도 원활하게 할 수 있는 비결을 초보자도 알기 쉽게 잘 설명한 글일 뿐만 아니라 UNIX 자체의 철학이나 기본 사용법을 따라잡기에도 굉장히 좋은 글이라 생각되어 우리말로 옮기고자 합니다. 프로그래밍 용어는 웬만하면 원래 영단어로 쓰겠습니다. 언제든지 더 좋은 표현에 대한 의견은 감사합니다. UNIX as IDE: Introduction2012년 2월 9일 Tom Ryder가 작성 초보 개발자부터 고수까지 IDE(Integrated Development Environment)의 개념은 모두 비슷하게 알고 있을 것이다. 공통된 인터페이스 안에서 프로젝트 구성, 파일 작성,..

GNU-Linux 2017.11.06

Vim 사용자가 되기 위한 첫 걸음 (.feat tmux)

추석을 낀 긴 연휴를 맞아 나의 개발 허세를 채우기 위해 Vim을 공부했다. Sublime Text, Atom 등의 슈퍼 메모장 시리즈를 쓰다가 업무 상 Python IDE인 PyCharm을 써오던 상황이었는데, 양 쪽의 장단점은 모두가 잘 알고 있으리라고 생각된다. 개인적으로 싫어하는 점을 꼽자면 슈퍼 메모장: 플러그인을 통해서 IDE 기능을 탑재해서 강력해질 수 있다고 하지만 오히려 Text Editor의 본질에서 벗어나는 것 같달까. 나도 Atom에 터미널 플러그인을 연결해서 편리하게 쓴 적이 있지만, 딱 그 정도였다. 플러그인은 또 다른 공부 거리이다. 플러그인 설치해서 파악하고 쓸려면 차라리 Vim을 공부해서 쓰는 것이 낫지 않을까?PyCharm은 너무 무겁더라. Docker 끼고 django ..

GNU-Linux 2017.10.06

Linux 초보의 tmux (terminal multiplexer) 입문

tmux는 많은 pseudoterminal을 window와 session 단위로 관리하는 도구이다. 하나의 tmux 서버가 세션을 관리하고, tmux 클라이언트는 tmux 서버와 소켓으로 통신하며 그 세션의 pseudoterminal들을 사용자가 원하는 방식대로 보여준다고 한다. 지식의 한계로 더 자세하게 설명할 수 없기 때문에, man tmux와 man pty를 남겨두고 본론으로 넘어가겠다.긴 추석 연휴를 맞이하야 Vim 스터디를 하다보니 Vim 플러그인을 이것 저것 둘러보다 보니 vim-dispatch 플러그인을 보다 보니 tmux 환경 하에서 비동기적으로 수행된다는 말을 보다 보니 이러다 저러다 보니 tmux에 첫 발걸음을 내밀게 되었다. 그래서 이번 포스트를 통해 첫 걸음을 걸은 과정을 기록하려 ..

GNU-Linux 2017.10.05

Vim의 화면 분할: window, tab 활용

vimtutor에서 다루지 않은 화면 분할에 대해 간단하게 정리한다. vim에서 화면을 관리하는 두 가지 방법으로 window와 tab이 있다. window는 화면을 쪼개는 개념이고, tab은 window를 추가하는 개념이다. vim은 여러 탭을 관리할 수 있고 (기본값으로 최대 10개의 탭을 열 수 있다), 각각의 탭에서 화면을 쪼개서 여러 파일을 다룰 수 있는 식이다. 이 글에서는 window와 tab 관련한 핵심 명령어 몇 가지만 정리한다. 여기에 나열된 것 보다는 직접 :help를 통해 도움말을 읽는 것을 추천한다. 화면 분할 :help windows :split: 화면을 가로로 쪼갠다.:vsplit: 화면을 세로로 쪼갠다.ctrl+w [hjkl]: 원하는 방향으로 화면을 이동ctrl+w ctrl..

GNU-Linux 2017.10.05

apt update 중 Hash Sum Mismatch 오류 해결

나는 노트북을 키면 습관적으로 apt update부터 한다. 그런데 종종 "Hash Sum Mismatch"라며 update가 안될 때가 있다. 나는 아무런 잘못도 안 했는데... 당신이 정말 아무런 잘못을 하지 않았다고 생각하는가? 잘못 안 한 것이 맞다. 오히려 Ubuntu repository에서 문제가 있는 것이다. 이 상황에서 다른 조치를 취하기 전에, Software & Updates 설정에서 이것 한 가지만 체크해보자. Software & Updates 설정에서 Download Server를 다른 서버로 선택하고 다시 update를 받으면, 그리고 당신이 정말 아무 잘못을 하지 않았다면, 문제는 해결 될 것이다. kr.archive.ubuntu.com에서 문제가 있었으니, 그거 말고 다른 서버..

GNU-Linux 2017.09.19

Ubuntu Desktop iBus 한글 설치 및 설정

Ubuntu Desktop을 새로 설치한 뒤, 한글 타자를 치기 위해 항상 한참 구글링을 해야한다. 그리곤 고새 까먹은 뒤 몇 개월 혹은 몇 년 뒤 또 같은 과정을 반복한다. 이를 방지하기 위해 오늘 iBus Hangul 설치 방법을 확실하게 정리한다. Ubuntu 16.04 LTS 기준. 언어 패키지 업데이트 Ubuntu 설치 후 처음으로 Language Support를 실행시키면 자동으로 업데이트할 것인지 물어본다. 이 업데이트를 해주자. 업데이트 후 위 그림처럼 Language for menus and windows 리스트에서 Korean이 있는지 확인한다. 없으면 그 아래 Install / Remove Languages... 버튼을 눌러서 Korean을 추가해준다. 그리고 재부팅을 한다. Text..

GNU-Linux 2017.08.24

일상적 작업을 위한 Ubuntu Desktop 명령어 모음

일상적으로 GUI에서 많이 쓰이는 작업을 수행하는 CLI 명령어 모음이다. Ubuntu 16.04 LTS Desktop 기준이며, 별도의 패키지 설치 없이 작동 가능한 것만 모으려고 한다. 새로운 것을 찾을 때마다 업데이트 예정... nautilus: 파일 탐색기touch: 빈 파일 만들기 (사실 더 많은 기능이 있으므로 touch --help를 찾아보자) gvfs-trash: 휴지통 명령어gvfs-trash FILENAME: 해당 파일 휴지통에 버리기gvfs-ls trash:// : 휴지통에 있는 파일 목록 보기 (마치 ls 휴지통처럼)gvfs-trash --empty: 휴지통 비우기xargs: standard input의 내용을 이용해 명령문 생성 ls | grep PATTERN | xargs -I{..

GNU-Linux 2017.08.19

Ubuntu Desktop 기본 단축키

Ubuntu 16.04 LTS Desktop을 기준으로 기본으로 설정되어 있는 단축키를 정리한다. 이것만 알아두어도 꽤나 편리하게 데스크탑을 사용할 수 있다. 참고로 KP0는 숫자패드(keypad) 0를 의미한다. Systemctrl alt l: 화면 잠금 ctrl alt del: 로그 아웃 Windowsalt tab: 다른 창 활성화alt `: 같은 프로그램 내의 다른 창 활성화ctrl super up: 창 크기 최대화ctrl super down: 창 크기를 최소화하거나, 최대화된 창의 크기를 되돌리기ctrl alt KP5: 창의 최대화 on/offctrl alt KP0: 창 크기 최소화ctrl alt s: 쉐이드 상태 on/offalt F4: 창 닫기alt F7: 창 이동 모드 (마우스 커서 이용)a..

GNU-Linux 2017.08.15

vim tutorial (vimtutor 요약 정리)

익숙해지면 강력한 텍스트 에디터 vim의 가장 기본적인 사용법을 정리한다. 기본 작동 논리vim에 들어오면, 기본(normal) 모드로 시작하는데, 이는 명령어 대기 모드이다. 입력 모드가 아닌 상태에서는 키보드 입력이 바로 글자 입력으로 인식 되지 않는다. 간단히 i를 눌러서 입력 모드로 들어가보자. 그리고 키보드 입력을 열심히 하면, vim 창에 글자 입력이 된다. 그리고 ESC키를 누르면 입력 모드에서 빠져나와 기본 모드로 들어온다. 이제 기본 모드에서 dd를 입력해보자. dd라고 입력되지 않고 명령어 dd가 실행되며, 이 뜻은 커서가 위치한 줄 삭제이다. 자신이 쓴 내용이 지워짐을 확인할 수 있다.방향키에 자유로워 지고 기본 모드, 입력 모드, 수정 모드 등의 간략한 모드들만 이해하면 vim은 매..

GNU-Linux 2017.01.27

ubuntu 환경 변수 vs. 지역 변수

linux (ubuntu) 시스템에서 환경 변수와 지역 변수를 다루고 관리하는 법을 정리하겠다.환경 변수, 지역 변수란?프로그래밍 언어를 이용해 코딩을 할 때 가장 많이 사용하는 것은 아마도 assignment 일 것이다. 다음과 같이 변수에 값을 할당하는 것이다. a = 1 환경 변수와 지역 변수 역시 위 코딩에서 a와 같은 변수이다. 다만 운영 체제 내에서 쓰일 뿐이다. 환경 변수와 지역 변수의 차이는 사실 그 이름에서도 나타난다.환경 변수는 시스템 전체에 적용되고 있는 변수지역 변수는 현재 터미널에서만 적용되는 변수 환경 변수 다루기이미 내 컴퓨터는 많은 환경 변수를 갖고 있다. 기본적으로 시스템이 저장해두고 있거나 프로그램 설치 시 자동으로 추가되어있기 때문이다. 현재 정의되어 있는 환경 변수 리..

GNU-Linux 2016.12.19