우분투 실전 명령어 | alias/함수로 반복 작업 자동화
반복해서 치는 긴 명령어가 많아지면 오타가 늘고, 결국 작업 속도도 느려집니다. 이럴 때 alias와 shell 함수를 같이 써두면 자주 쓰는 패턴을 짧고 안전하게 고정할 수 있습니다. 특히 로그 확인, 포트 점검, git 상태 확인처럼 하루에 여러 번 반복하는 작업에서 체감이 큽니다.
바로 쓰는 명령어
# 1) 현재 셸에서 바로 테스트
alias ll='ls -alF --color=auto'
alias ports='ss -tulpen'
alias myip='ip -brief addr'
# 등록 확인
alias | grep -E '^(alias ll|alias ports|alias myip)='
# 2) 영구 적용 (bash 기준)
cat <<'EOF' >> ~/.bashrc
# custom aliases
alias ll='ls -alF --color=auto'
alias ports='ss -tulpen'
# nginx 에러 마지막 50줄 빠르게 보기
nerr() {
sudo tail -n 50 /var/log/nginx/error.log
}
# 특정 포트를 점유한 프로세스 찾기: pfind 8080
pfind() {
if [ -z "$1" ]; then
echo "usage: pfind <port>"
return 1
fi
sudo lsof -iTCP:"$1" -sTCP:LISTEN -n -P
}
EOF
# 즉시 반영
source ~/.bashrc
핵심 옵션/패턴
alias 이름='명령어'는 짧은 치환에 적합합니다. 인자가 필요한 경우는 함수가 더 낫습니다.- 함수는
함수명() { ... }형태로 만들고,"$1","$@"로 인자를 안전하게 받습니다. - 운영 서버에서는 별칭 이름을 너무 추상적으로 짓지 말고, 목적이 드러나게 만드세요. (
logs,ports,pfind처럼) - 팀 공용 서버라면 개인 홈의
~/.bashrc대신/etc/profile.d/*.sh로 표준 스크립트를 배포하는 방식이 관리하기 쉽습니다.
자주 하는 실수
alias rm='rm -i'같은 설정을 해두고 자동화 스크립트에서도 같은 동작을 기대하는 실수- 비대화형 실행에서는 alias가 적용되지 않거나, 환경에 따라 동작이 달라질 수 있습니다.
- 함수에서 인자를
"$1"대신$1로 써서 공백/특수문자 입력 시 깨지는 실수 ~/.bashrc를 수정하고source ~/.bashrc를 안 해서 적용이 안 됐다고 오해하는 경우- root와 일반 사용자 설정 파일을 혼동해서, 내가 만든 alias가 sudo 환경에서 안 먹는 문제
검증 방법 (결과 확인 명령어)
# alias/함수 정의가 실제로 잡혔는지 확인
type ll
type nerr
type pfind
# 동작 테스트
ll
ports
pfind 22
# bash 시작 시 로딩 오류 점검
bash -n ~/.bashrc && echo "bashrc syntax OK"
운영 팁
- 개인 서버 운영이라면
~/.bash_aliases파일을 분리하고,~/.bashrc에서 include하는 구조가 유지보수에 좋습니다. - 민감 작업(삭제/중지)은 alias보다 함수로 만들고, 내부에
echo안내문이나 확인 절차를 넣으면 실수를 줄일 수 있습니다. - dotfiles 저장소(예: Git)로 alias/함수 모음을 버전 관리하면 신규 서버 세팅 시간이 크게 줄어듭니다.
출처
- GNU Bash Manual
- Ubuntu Server Guide
- lsof man page