# alias
설정 방법: 아래 내용을 `~/.bashrc` 또는 `~/.zshrc`에 추가한 뒤 `source ~/.bashrc` 또는 `source ~/.zshrc`로 적용
## 자주 쓰는 alias
```sh
# 기본 ls 출력 단축
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
# 디렉터리 이동 단축
alias ..='cd ..'
alias ...='cd ../..'
alias -- -='cd -' # 이전 디렉터리로 이동
# 편집/조회/검색
alias v='vim'
alias c='clear'
alias h='history'
alias gs='git status'
# 안전한 rm (실수 방지)
alias rm='rm -i'
# 네트워크 관련
alias ports='lsof -i -nP | grep LISTEN'
# 편리한 grep (색상 유지)
alias grep='grep --color=auto'
# 마지막 명령을 sudo로 재실행
alias please='sudo $(history -p !!)'
```
## 유용한 shell functions (bash / zsh 호환)
```sh
# 만든 다음 바로 그 디렉터리로 이동
mkcd() {
if [ -z "$1" ]; then
echo "usage: mkcd
"
return 1
fi
mkdir -p -- "$1" && cd -- "$1"
}
# 자동으로 압축 해제 (tar, zip, rar, gz 등)
extract() {
if [ -z "$1" ]; then
echo "usage: extract "
return 1
fi
case "$1" in
*.tar.bz2) tar xjf "$1" ;;
*.tar.gz) tar xzf "$1" ;;
*.tar.xz) tar xf "$1" ;;
*.bz2) bunzip2 "$1" ;;
*.rar) unrar x "$1" ;;
*.gz) gunzip "$1" ;;
*.tar) tar xf "$1" ;;
*.tbz2) tar xjf "$1" ;;
*.tgz) tar xzf "$1" ;;
*.zip) unzip "$1" ;;
*.Z) uncompress "$1";;
*) echo "extract: '$1' - unknown archive method"; return 1 ;;
esac
}
# 간단한 HTTP 서버 실행 (현재 디렉터리)
serve() {
local port
port=${1:-8000}
# python3 우선, 없으면 python
if command -v python3 >/dev/null 2>&1; then
python3 -m http.server "$port"
else
python -m SimpleHTTPServer "$port"
fi
}
# 쉘 환경 재시작 (zsh/bash를 자동으로 감지)
reload-shell() {
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
if [ -f ~/.zshrc ]; then
source ~/.zshrc
fi
}
# 편리한 tar 생성 (파일명 자동화)
tarc() {
if [ -z "$1" ]; then
echo "usage: tarc [files...]"
return 1
fi
tar czvf "$1" "${@:2}"
}
```
### 사용 예
- `mkcd projects/new` : `projects/new` 디렉터리를 만들고 이동
- `extract archive.tar.gz` : 압축 자동 해제
- `serve 9000` : 현재 디렉터리를 포트 9000에서 서빙
- `tarc backup.tgz src/ README.md` : src/와 README.md를 포함하여 압축
설정 후 즉시 적용하려면 `source ~/.bashrc` 또는 `source ~/.zshrc`를 실행