리눅스를 좋아하는, 특히 커맨드-라인 인터페이스를 좋아하는 분들은

각자 나름의 커스터마이징된 환경 꾸미는 것을 좋아하는 경우가 많다.

 

우분투와 같은 리눅스를 설치하면 기본적으로 bash가 설치되지만

리눅스를 많이 사용하는 분들은 zsh으로 바꿔서 사용하는 것 처럼 ... ^^

 

이처럼 커맨드-라인을 사용하는 환경을 커스터마이징 할 때

자주 언급되는 유틸리티 중 하나가 바로 "fzf (command-line fuzzy finder)" 이다.

- https://junegunn.github.io/fzf/

 

fzf

 

버전이 아직도 v0.56.3 에 머물러 있음에도 (ㅋㅋㅋ 절대 v1.0 릴리즈를 하지 않겠다는 의지?!)

Star 갯수에서 유추할 수 있듯이 global에서 유명한 툴이다.

 

GitHub

 

우리나라에서 더더욱 유명한 이유는 !!!

개발자가 우리나라 분이시다 !!!

 

Junegunn Choi

 

푸릇푸릇한 잔디밭도 대단하고,

Sponsors 목록.... 오!!!!! 국내 개발자 중에 저 정도의 Sponsors 목록을 갖고 있는 분은 처음 봤다!!!

 

 

1. Installation

Homebrew를 이용해서 설치하는 것이 기본적으로 권장하는 방법이고,

운영 체제에 따라서 편하게 설치할 수 있는 다양한 방법을 제공해주고 있지만

(개인적인 취향으로) 지원만 해준다고 하면 git clone 방식으로 설치하는 것을 권장한다.

- https://github.com/junegunn/fzf?tab=readme-ov-file#using-git

 

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

 

버전 업그레이드가 필요하다고 하면 다음과 같이 할 수 있다.

- https://github.com/junegunn/fzf?tab=readme-ov-file#upgrading-fzf

 

cd ~/.fzf && git pull && ./install

 

 

2. shell integration (zsh)

설치 과정에서 자동으로 셋업 해주기는 하는데,

혹시 잘 안되는 경우가 있을까 하여 추가적으로 확인하는 과정을 넣어보았다.

 

가이드 문서에는 다음과 같이 되어있다. (zsh이 아닌 경우 아래 링크 참조)

- https://github.com/junegunn/fzf?tab=readme-ov-file#setting-up-shell-integration

 

# Set up fzf key bindings and fuzzy completion
source <(fzf --zsh)

 

하지만, 설치 과정에서 자동으로 반영해준 내역은 조금 다르다.

 

.zshrc

 

어!? 뭔가 파일을 불러오네!?

그러면, 그 파일을 추가로 확인해보자.

 

.fzf.zsh

 

가이드 문서에 있는 내용과 결국은 같기는 한데, 경로 추가도 포함되어 있어서 더 좋은 것 같다.

 

뭐, 여하튼 이렇게 잘 반영되어 있으면 좋고,

혹시 반영이 안되어 있으신 분은 위 내용 참고해서 반영해주면 된다.

 

그런 후에, 터미널을 재시작 하던지 아니면 "source ~/.zshrc" 하던지 하고

fzf가 잘 설치되어 있는지 확인해보면 된다.

 

version

 

3. Simple Usage

nano 에디터를 이용해서 어떤 파일을 편집하고 싶다고 해보자.

그런데, 파일 이름은 알고 있지만 어느 경로에 있는지 까지는 모른다거나 타이핑하기 귀찮은 상황이라면...

 

> nano $(fzf)

 

제일 아래 부분에서 원하는 파일 이름을 하나씩 타이핑하면

위에 추천하는 파일들을 실시간으로 업데이트 하면서 보여준다.

 

원하는 파일이 있으면 화살표 키를 이용해서 고른 다음에 엔터를 치면 된다.

 

4. Short-Key

단축키도 지원을 해준다.

커맨드-라인 상태에서 "Ctrl + R" 키를 누르면 이전에 사용했던 이력을 보여준다.

 

 

현재 디렉토리 기준으로 하위 디렉토리를 포함한 파일들의 목록을 보여주는 것은 "Ctrl + T"이다.

 

 

이외에도 다양한 기능들을 제공해주고 있는데...

한 번에 다 공부하기에는 부담스러워서 이번에는 일단 여기까지~~~

 

더 알고 싶으신 분들은 공식 문서를 참고하기 바란다.

- https://github.com/junegunn/fzf?tab=readme-ov-file#usage

 

반응형

배포본 인기 순위를 확인할 수 있는 사이트 중에서
그나마 가장 영향력이 큰 distrowatch에서 2011년부터 부동의 1위를 차지하고 있는 Linux Mint 이다.

- [공식 사이트] https://distrowatch.com/
- [소개 포스팅] http://www.whatwant.com/704

(최근에 Arch 기반의 Manjaro가 인기가 급상승하고 있지만 Ubuntu 기반의 Mint를 이기긴 힘들거다 ^^)


'2018년 2월 3일' 기준으로 다운로드 받을 수 있는 내역은 아래와 같다.



그런데, 위 이미지에서 메뉴를 살펴보면 "LMDE 2"라는 항목이 보일 것이다.

기본적으로 Linux Mint는 Ubuntu를 base로 하지만,
Debian을 base로 하고 있는 배포판으로 "LMDE 2"라는 이름으로 제공해주고 있다.

Mint는 Ubuntu의 패키지를 그대로 사용할 수 있다는 장점이 있는 반면
Ubuntu와 마찬가지로 버전이 바뀔 때 재설치 수준의 대대적인 빅뱅 업그레이드(?)를 수행해야 한다.
(상위 버전으로 올릴 수는 있지만 솔직히 서비스를 하고 있는 서버에서 상당히 부담스러운 작업이다)

반면 LMDE의 경우에는 Debian 패키지를 사용하고, 말 그대로의 Rolling Release를 하게 되므로
지원기간 만료 걱정없이 작은 패키지 업그레이드 수준으로 꾸준히(?) 사용할 수 있다는 장점이 있다.




일단 Ubuntu에 중독되어 있는 필자이기에..... Linux Mint를 선택하도록 해보겠다.
그런데, 그냥 Ubuntu 쓰면 되는데 왜 Mint가 인기일까?





▶ VirtualBox에 Linux Mint 설치 時 이슈

- 증상 : Linux Mint 18.3 다운로드 후 VirtualBox에 설치하고자 하였으나 화면이 정상 출력이 안됨!
- 환경 : Windows7 - VirtualBox Version 5.2.6
- 해결 : 디스플레이 옵션에 3D를 켰더니 해결이 되었다. 이유는 모르겠음!


▶ 한글 지원

- 예전에는 한글 지원이 부족했다고 하는데... 최근에는 지원 잘된다.





▶ VirtualBox Guest Additions 설치

- 제대로 사용하기 위해선 Guest Additions를 설치해야 한다.



▶ Update

- 그냥 Ubuntu 사용하듯이 하면 된다. "sudo apt-get update / upgrade" 모두 잘 된다.



▶ 메뉴

- Windows의 시작메뉴와 비슷한 구성이다.



설치하고 이것 저것 해보는데...


내가 느낀 점은.... 음... 예쁜 우분투다!


그렇다고해서 우분투 짝퉁이 아니라....

우분투를 사용하는 분이라면 Linux Mint로 넘어가는 것을 고려할 가치가 있다는 말이다.



★ "sudo apt-get update"를 실행할 때에 해시 값이 틀리다고 나오면,
     저장소를 kr 쪽으로 변경하고 해보면 해결이 된다.


반응형

어렷을적 슬렉웨어(Slackware)를 설치하면서 무수히 커피를 마셨고,
레드헷(Red Hat)에 빠졌다가 페도라(Fedora)가 나오면서 왠지 배신감에 다른 배포판을 찾게 되었고...

젠투(Gentoo)의 빌드 매력에 잠시 빠져 허덕이기도 하고
필요에 의해서 솔라리스(Solaris), 수세(SUSE), 센트(CentOS), 아치(Arch) 等도 잠시 사용을 했었다.


물론 지금 필자의 블로그를 보신 분이라면 알겠지만, 최근에는 우분투(Ubuntu)에 푸욱~ 빠져 있다.
거의 지배적인 위치에 있다보니 너무나 많은 레퍼런스가 있고, 사용하기에도 편하고
업무에서도 거의 표준으로 사용하기에 개인적인 취향과 업무와 일치하기도 쉽고.... ^^


그러다가 갑자기 떠오른 생각!

   "전세계적으로 가장 많이 사용되는 배포판이 무엇일까?"


그런데 가만히 생각해보니, 이러한 순위를 종종 봤던 기억이 떠올랐다. 다른 블로그 또는 기사로 접했던 것이다.
그 아티클에서 인용을 하던 사이트는 다음과 같다.

   - http://distrowatch.com/



이 사이트에서 방문자들이 검색하는 내용을 가지고 순위를 제공해주고 있다.



필자는 당연히 Ubuntu가 1위를 하고 있을 것이라 생각했다. 하지만... 2위?!

사실 순위표 전체를 가지고 평가하면 Ubuntu가 1위가 맞다!!!
Ubuntu 기반의 배포판들을 모두 더하면 탁월하게 1위다! Mint, kubuntu, xubuntu, Lubuntu 等 모두 Ubuntu 가족들이다.

뭐 여하튼, 위에서 보는바와 같이 글로벌하게 가장 많이 사용하는 리눅스 배포판은 바로 "Mint"이다!



그래서인지, Mint 홈페이지에 보면 세상에서 3번째로 많이 사용되는 가정용 운영체제라고 자부하고 있다.
윈도우즈, Mac 다음으로 Mint ~ !!


Ubuntu 기반이다보니 당연하게도 Debian을 뿌리로 두기 때문에,
데비안 패키지와 우분투 패키지를 사용할 수 있다는 장점은 물론이고 커뮤니티 기반으로 활발한 괜찮은 배포판이다.



Mint 배포판도 한 번 국내에 많은 보급이 되도록 한 번 살펴보도록 해야겠다!
(이미 많이 알려져있을 수도 있지만, 업무에서 사용하는 용도로는 아직 아닌 것 같기에...)

반응형

프로세스 번호
   - 각 프로세스의 고유 번호
   - 무작위로 부여

작업 번호
   - 현재 실행되고 있는 백그라운드 작업의 순차 번호
   - 가장 최근에 수행한 백그라운드 작업에는 "+" 기호

Background 작업
   - 프로세스를 뒤로 보낼 때 명령어 뒤에 "&"를 붙여서 실행
   - 완료되면 작업 번호와 함께 "Done" 메시지 출력
   - 현재 실행중인 foreground 작업을 background로 보낼 때
         1: [Ctrl]+[z]
         2: $> bg
   - background 작업 취소
         1: $> jobs
         2: $> fg %작업번호
         3: [Ctrl] + [c]
jobs
   - 현재 수행 중인 background 작업 표시

ps
   - 현재 프로세스 상태 확인
   - 추천 옵션 : $> ps auwx

pstree
   - 프로세스 상태를 트리 형식으로 표시, 종속성 확인

kill
   - 프로세스를 종료 : $> kill <pid>
   - $> kill -KILL(9) <pid> : 하드웨어적 종료
   - $> kill -TERM(15) <pid> : 소프트웨어적 종료
   - $> kill -HUP(1) <pid> : 종료 후 재시작(프로세스 종료는 아니고, 코드 및 데이타 refresh)
   - $> kill -2 <pid> : foreground의 [Ctrl]+[c] 효과
   - $> kill -3 <pid> : foreground의 [Ctrl]+[\] 효과

killall
   - 데몬 이름을 직접 입력하여 종료


반응형

'OS > Ubuntu' 카테고리의 다른 글

Linux Version 확인  (0) 2010.04.09
우분투 설치시 키보드/마우스 동작 불가  (0) 2010.03.26
04. Shell  (0) 2008.10.30
03. man 사용법  (0) 2008.10.30
02. 리눅스 설치하기  (0) 2008.10.23

Shell의 종류
   - Bourne Again Shell (bash) : $
   - 나머지는 무시~

$> echo $SHELL
-> 변수 $SHELL의 값을 출력

그러면, '$'를 출력하고 싶으면?!
$> echo \$SHELL
-> "$SHELL" 글자 그대로 출력
'$', 외에도 "", '' 도 사용 가능

bash의 환경 설정 파일
   - 사용자 환경 설정 파일 : .bash_logout, .bash_profile, .bashrc
   - 원본은 /etc/skel/ 밑에 존재
   - 파일명 앞의 '.'은 숨김 파일을 의미
   - 모든 사용자 공통 환경 설정 파일 : /etc/profile, /etc/bashrc
   - 인식 순서 : /etc/profile -> ~/.bashrc_profile -> ~/.bashrc -> /etc/bashrc

PATH 설정하기
   - $> echo $PATH
   - 전체 사용자에게 추가 : /etc/profile 편집
   - 특정 사용자에게 추가 : ~/.bash_profile 편집
   - 현재 로그에서만 추가 : $> PATH=$PATH:<추가할 경로>

alias
   - ~/.bashrc 편접
   - alias lsa='ls -a' 추가

prompt
   - /etc/bashrc 편집
   - PS1="[\u@\h \W] \\$
   - 절대 경로 표시 : PS1="[\u@\h \PWD] \\$


logout시에 실행
   - ~/.bash_logout 편집

doskey
   - 이전 명령어 불러오기
   - 위 방향키

자동완성
   - [TAB] 키

반응형

'OS > Ubuntu' 카테고리의 다른 글

우분투 설치시 키보드/마우스 동작 불가  (0) 2010.03.26
05. 프로세스  (0) 2008.10.31
03. man 사용법  (0) 2008.10.30
02. 리눅스 설치하기  (0) 2008.10.23
01. 리눅스란 무엇일까?  (1) 2008.10.23

그냥 아무 생각없이 우분투로 배포판 결정!

http://www.ubuntu.com/

2008.10.23 기준으로 8.10 Beta 판 선택

http://www.ubuntu.com/testing/intrepid/beta


설치



VMware Tools

https://help.ubuntu.com/community/VMware/Tools

Ubuntu는 데스크탑이라 개발에 필요한 stdio.h가 없다고 한다.
build-essestial을 설치하면 된다고 한다.

sudo apt-get update

sudo apt-get install build-essential

sudo apt-get install build-essential linux-headers-`uname -r` psmisc

choose VM->Install VMware Tools.

sudo cp /media/cdrom0/VMwareTools-6.0.3-8004.tar.gz /home/whatwant/

cd /home/whatwant/

tar zxvf VMwareTools-6.0.3-8004.tar.gz

cd vmware-tools-distrib/

sudo ./vmware-install.pl

이하 질문에 모두 <enter>

sudo vmware-toolbox

설치 완료


개인적 취향으로 midnight-command 설치
$> sudo apt-get install mc

반응형

'OS > Ubuntu' 카테고리의 다른 글

우분투 설치시 키보드/마우스 동작 불가  (0) 2010.03.26
05. 프로세스  (0) 2008.10.31
04. Shell  (0) 2008.10.30
03. man 사용법  (0) 2008.10.30
01. 리눅스란 무엇일까?  (1) 2008.10.23

리눅스는 독자적인 운영체제이다.
   - 윈도우 응용프로그램과 같은 방식의 리눅스도 있는데...

리눅스의 사용범위
   - 개인용 데스크탑
   - 워크스테이션 (정의는 뭐지?)
   - 서버 (웹서버, 메일서버, 파일서버, 스트리밍서버)
   - 임베디드 시스템
   - 클러스터링 환경 (여러 컴퓨터가 1대와 같이...)

리눅스 배포판
   - Linux = Kernel + GNU S/W + X-WIndow + 기타 App
      - SlackWare
      - Redhat
      - Debian
      - Caldera
      - Suse
      - Ubuntu
      - Fedora
      - Gentoo
      - etc

공개버전 / 상용버전
   - 리눅스는 공짜다?
   - 서비스만?

리눅스 탄생 배경
   - 리누스토발즈가 커널 개발(1991) : 0.02 (이거 만져볼 수 있을까?!)
   - Minix 기반 PC용 Unix (Minix가 뭔지 확인해볼까?)
   - 리차드 스톨만 FSF의 GNU 프로젝트 지원
   - Gnu is not Unix
   - General Public License : 소스 공개 및 수정 재배포 권리까지 포함
   - 이와 관련해서 정리된 문서가 어디 있었는데...

커널
   H/W -> 커널 -> 쉘 -> App

커널 버전
   - linux-x,y,z.tar.gz
      x : Major Version
      y : 홀수(베타), 짝수(안정)
      z : 버그 수정 횟수
   - http://www.kernel.org/

커널과 모듈
   - 자주 사용하는 부분은 커널에 포함하고,
   - 가끔 사용하는 부분은 모듈로 작성하여 필요시 호출
   - monolithic-Kernel

다중사용자, 다중 작업 시스템
   - 각각의 메모리 영역이 보호되어야 함 = Protected Mode

POSIX(유닉스 표준)를 준수

가상콘솔 지원
   - 기본 6개 : Ctrl+Alt+F1~F6

캐릭터 디바이스 / 블록 디바이스
   - 캐릭터 디바이스 : 프린터, 마우스, 스캐너
   - 블록디바이스 : ODD, FDD

공유 라이브러리
   - Windows의 DLL(Dynamic Linked Library)과 유사

멀티부팅 / 파티션
   - 멀티부팅 : LILO, GRUB
   - 파티션 : fdisk

반응형

'OS > Ubuntu' 카테고리의 다른 글

우분투 설치시 키보드/마우스 동작 불가  (0) 2010.03.26
05. 프로세스  (0) 2008.10.31
04. Shell  (0) 2008.10.30
03. man 사용법  (0) 2008.10.30
02. 리눅스 설치하기  (0) 2008.10.23

+ Recent posts