Auxiliary Memory
  • Auxiliary Memory
  • Recent Changes
  • Disclaimer
  • general
    • Homelab
      • Planning
      • Configuring RPi
      • Dockerize Unifi Controller
      • Moving Unifi Controller to Bare Metal RPi
    • Lifehack
      • Coding on iPad
      • Faster internet with Cloudflare WARP
  • lifelog
    • Links
    • Movies
    • Books
      • Reading Queue
    • Public Memos
      • 2020 Memo
    • Yearly Records
      • Records of 2020
      • Records of 2019
  • books
    • The Rust Programming Language
    • Lambda Calculus
    • SICP
    • Introduction To Algorithms
      • 1.1. 알고리즘의 역할
      • 1.2. 시작하기
    • Linux System Programming 2/E
      • 1. 핵심 개념 소개
  • Programming
    • Git
    • When to refactoring?
    • Microservices
    • Functional Programming
      • ADT
      • Functor and Monads
    • OS
      • CPU Modes
    • Debugging
      • objdump
    • DevOps
      • How our infrastructure organized
      • Optimize Dockerfile
    • Spring Framework
    • Web
      • OAuth
        • Sign in with Apple
    • SQL
      • Prepared Statement
    • Programming Languages
      • TypeScript
      • Python
        • GIL
      • Rust
      • F#
        • Dos & Don'ts
      • Go
      • JVM
        • JVM memory structure
        • JVM GC
        • Kotilin
        • Java
          • Why main method should be static
  • My Environment
    • My Macbook
    • My Keyboards
    • My PyCharm
    • My CLI
      • iTerm2
      • Dotfiles
        • Refactoring .zshrc
      • Useful Commands
Powered by GitBook
On this page
  • JSON 예쁘게 출력하기
  • 커맨드라인에서 JetBrains 계열 IDE 열기
  • 쉽게 뭔가를 찾자, fzf
  • fzf + cd = fd
  • AWS-CLI 리전을 쉽게 전환하는 유틸리티

Was this helpful?

  1. My Environment
  2. My CLI

Useful Commands

유용한 커맨드라인들

PreviousRefactoring .zshrc

Last updated 4 years ago

Was this helpful?

JSON 예쁘게 출력하기

curl -GET ... | python -m json.tool

회사에서 Kong이란 게이트웨이를 쓰는데 라우트 정보를 받으려고 curl을 치면 줄바꿈이 전혀 없는 JSON 뭉치가 나온다. 도저히 알아볼수 없는 매직아이라 정렬을 할수 없을가 생각하던 도중 쉘 스크립트는 개쩌는 파이프라는게 있기 때문에 curl 출력을 JSON 포매터에 먹여보았더니 이쁘게 포맷된 결과를 받을 수 있었다.

커맨드라인에서 JetBrains 계열 IDE 열기

alias charm="pycharm ."
alias lion="clion ."

요즘 젯브레인스에서 IDE에 대한 커맨드라인 명령어를 제공한다. alias와 조합해서 쓰면 편하다.

쉽게 뭔가를 찾자, fzf

general-purpose command-line fuzzy finder.

파일을 찾으면서 프리뷰를 보고싶다면 다음의 명령어를 활용해보자.

fzf --preview "cat {}"

fzf + cd = fd

커맨드라인에서 디렉토리를 전환할때 매번 숨쉬는것과 같이 ls 한번 치고 cd를 수행하는것이 귀찮기 때문에 fzf로 옮겨갈 디렉토리를 보고 바로 선택한 디렉토리로 옮겨가고 싶었다.

fd() {
  DIR=`find * -maxdepth 0 -type d -print 2> /dev/null | fzf-tmux` \
    && cd "$DIR"
}

fzf에는 프리뷰 기능도 있기때문에 프리뷰로 선택한 디렉토리 안에 무엇을 있는지도 동시에 보기 위해 tree를 활용한 프리뷰를 추가했다.

fd() {
+  DIR=`find * -maxdepth 0 -type d -print 2> /dev/null | fzf-tmux --preview "tree {} -L 3"` \
-  DIR=`find * -maxdepth 0 -type d -print 2> /dev/null | fzf-tmux` \
    && cd "$DIR"
}

AWS-CLI 리전을 쉽게 전환하는 유틸리티

~
❯ aregion
> ap
  7/23
> ap-east-1
  ap-south-1
  ap-northeast-3
  ap-northeast-2
  ap-southeast-1
  ap-southeast-2
  ap-northeast-1

줄바꿈으로 구분된 리전의 목록 문자열을 만든 후, 그 문자열에서 fzf를 돌려서 리전을 선택하면 환경 변수를 설정하도록 함수를 구성했다.

function aregion {
    REGIONS="
us-east-2
... (중략)
sa-east-1
    " \
    && REGION=`echo $REGIONS | fzf --height 10 --layout reverse` \
    && export AWS_DEFAULT_REGION="$REGION"
}

먼저 에서 기본 틀을 빌렸다.

aws-cli 에서 리전을 설정하려면 매번 export AWS_REGION=ap-northeast-2 식으로 타이핑을 해 주어야 하는데 좀 귀찮은 감이 있어서 fzf 를 사용해 아래처럼 쓸 수 있는

https://www.jetbrains.com/help/idea/working-with-the-ide-features-from-command-line.html
fzf 공식 예제
간단한 유틸리티를 하나 만들어 보았다.