달력

11

« 2024/11 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

'alias 구성'에 해당되는 글 1

  1. 2015.11.11 [Linux초보] bashrc에서의 alias
2015. 11. 11. 09:45

[Linux초보] bashrc에서의 alias sbin2015. 11. 11. 09:45

 Linux Server에서 작업을 하다 보면 자주 쓰는 명령어들의 인자값을 Typing하거나 특정 command 조합을 일일이 Typing하는게 여간 귀찮은게 아니다. 필자처럼 성격이 급한 사람들은 정확도 보다는 빠른 typing을 추구하다 보니 오타도 종종 발생하고, 귀찮기도 하고... 업무 효율도 떨어지는 듯 하다.

자주 쓰는 command, 인자 등을 bash에 별칭으로 등록하여 사용해 보자.

필자는 아래의 명령들에 대한 별칭을 구성해 봤다.

# grep -irn : grep 쓸 일이 거의 99% Source root 내에서의 특정 단어이다 보니 거의 확정적인 옵션을 i, r, n을 쓰게 된다.

# find . -name : find 역시 특정 이름을 기반으로 찾기 때문에 다른 옵션들은 잘 사용하지 않는다.

# cd ~ : 한참 source의 Sub-directory에 들어가다 보면 최상위로 나와야 하는데, 'cd ~' typing 시간이 아깝다.

# rma : source 관리 중 삭제가 필요한 경우 거의 r, f 를 많이 쓴다.

# Removing SVN Tag : Source 추가나 SVN Tag 충돌 등을 피하고자 할 때 쓰는 find/xargs 조합은 typing하기가 너무 귀찮다.


이 내용들을 .bashrc 내 alias로 구성해 보았다.

# .bashrc


# Source global definitions

if [ -f /etc/bashrc ]; then

        . /etc/bashrc

fi


# Uncomment the following line if you don't like systemctl's auto-paging feature:

# export SYSTEMD_PAGER=


# User specific aliases and functions

alias ll='ls -lash'

alias test_echo='echo $1'

alias grepp='grep -irn $1'

alias delsvntag='find . -name ".svn" | xargs rm -rf'

alias rma='rm -rf'

alias ~='cd ~'

alias findd='find . -name $1'

 bold 부분이 기본 생성되어 있는 .bashrc 내에 alias를 추가한 부분이다.

 안타까운 것은, 인자값을 alias 중간에 구성이 불가능하다는 것이다. $1을 만나면 escape되는 특성 때문에 사용하고자 하는 인자는 1개여야 하고 문장의 가장 마지막에 위치하여야 하는 제약사항이 생긴다.

 .bashrc의 수정이 다 되었다면 간단히 source 명령으로 바로 적용해 보자

# source ~/.bashrc

 이후 개인별 별칭 동작을 확인하면 된다.

 인간은 망각의 동물이라 필자는 간혹 본인이 만들어 놓고도 기억하지 못하는 경우가 종종 발생한다. 이에 해당 alias들에 대한 usage를 아예 profile에 printing하여 login 할 때 마다 볼 수 있게 하곤 한다.

~/.bash_profile 내에 echo 문으로 추가하여 Usage를 작성해 보았다.

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

echo "==============================="

echo "      Simon's Alias List"

echo "==============================="

echo 'll : ls -lash'

echo 'grepp : grep -irn'

echo 'delsvntag : Delete all SVN Tag'

echo 'rma : rm -rf'

echo '~ : change directory to home'

echo 'findd : find . -name'

echo "==============================="



'sbin' 카테고리의 다른 글

Python 유용한 팁 모음  (0) 2017.02.23
svn 누락된 파일 add하기  (0) 2017.02.23
Eclipse에서 SVN 사용하기(6)- Delete  (0) 2012.12.20
Eclipse에서 SVN 사용하기(5)- Commit  (0) 2012.12.19
Eclipse에서 SVN 사용하기(4)- Check Out  (0) 2012.11.28
:
Posted by [LunatiC]Simon