리눅스 access , alias
2025. 5. 21. 00:37ㆍIT & Programming/Linux
리눅스에서 access와 alias 명령어에 대해 설명드리겠습니다.
1. access 명령어
access 명령어는 파일이나 디렉터리에 대한 현재 사용자의 접근 권한을 확인하는 데 사용됩니다. 실제로 파일을 읽거나 쓰거나 실행하려고 시도하지 않고, 권한이 있는지 여부만 알려줍니다. 주로 쉘 스크립트 내에서 특정 작업을 수행하기 전에 권한을 검사하는 용도로 많이 사용됩니다.
access 명령어는 사실 시스템 콜 access()를 사용하는 유틸리티입니다.
주요 사용법:
주요 옵션:
- -r : 읽기 권한(read permission)이 있는지 확인합니다.
- -w : 쓰기 권한(write permission)이 있는지 확인합니다.
- -x : 실행 권한(execute permission)이 있는지 확인합니다.
- -f : 파일이 존재하는지 확인합니다 (권한은 확인하지 않음). -e도 동일한 기능을 하는 경우가 많습니다.
반환 값 (Exit Status):
- 0 : 성공 (요청한 권한이 있거나 파일이 존재함)
- 1 (또는 0이 아닌 값) : 실패 (권한이 없거나 파일이 존재하지 않음)
예시:
- myfile.txt 파일에 대한 읽기 권한 확인:만약 읽기 권한이 있다면 0이 출력되고, 없다면 1 (또는 다른 0이 아닌 값)이 출력됩니다.
-
access -r myfile.txt echo $? # 이전 명령어의 종료 상태(반환 값) 출력
Use code with caution.Bash - myscript.sh 파일에 대한 실행 권한 확인:
-
access -x myscript.sh if [ $? -eq 0 ]; then echo "스크립트를 실행할 수 있습니다." ./myscript.sh else echo "스크립트 실행 권한이 없습니다." fi
Use code with caution.Bash - /etc/shadow 파일에 대한 쓰기 권한 확인 (일반 사용자는 권한이 없을 것입니다):
-
access -w /etc/shadow echo $? # 아마도 1이 출력될 것입니다.
Use code with caution.Bash
ls -l과의 차이점:
- ls -l은 파일 시스템에 저장된 권한 비트를 보여줍니다.
- access는 현재 명령어를 실행하는 사용자(프로세스)의 실제 유효 ID(effective UID/GID) 를 기준으로 접근 가능 여부를 판단합니다. 이는 SUID/SGID 비트가 설정된 경우 ls -l과 결과가 다를 수 있음을 의미합니다. 하지만 대부분의 경우 유사한 결과를 보입니다.
2. alias 명령어
alias 명령어는 자주 사용하는 긴 명령어나 옵션 조합을 짧은 별명(alias)으로 만들어 편리하게 사용하도록 도와줍니다. 쉘(bash, zsh 등)의 내장 명령어입니다.
주요 사용법:
- 현재 설정된 모든 별칭 보기:
-
alias
Use code with caution.Bash - 특정 별칭의 정의 보기:예: alias ll
-
alias 별칭이름
Use code with caution.Bash - 새로운 별칭 만들기:
- 주의: = 앞뒤에는 공백이 없어야 합니다.
- 명령어 문자열은 작은따옴표(')로 감싸는 것이 일반적입니다. 변수 확장을 원하면 큰따옴표(")를 사용할 수도 있습니다.
-
alias 별칭이름='실행할 명령어 문자열'
Use code with caution.Bash - 별칭 삭제하기:
-
unalias 별칭이름
Use code with caution.Bash
예시:
- ls -l을 ll이라는 별칭으로 만들기:이제 터미널에 ll을 입력하면 ls -l이 실행됩니다.
-
alias ll='ls -l'
Use code with caution.Bash - 자주 사용하는 grep 옵션과 함께 별칭 만들기:이제 grepi "pattern" filename 형태로 사용할 수 있습니다.
-
alias grepi='grep -i --color=auto' # 대소문자 구분 없이, 색상으로 결과 표시
Use code with caution.Bash - 디렉터리 이동 단축:
-
alias ..='cd ..' alias ...='cd ../..'
Use code with caution.Bash - rm 명령어에 항상 확인 프롬프트(-i)를 추가 (실수 방지):
-
alias rm='rm -i'
Use code with caution.Bash - 시스템 업데이트 명령어 묶기 (Debian/Ubuntu 계열):
-
alias update='sudo apt update && sudo apt upgrade -y'
Use code with caution.Bash
별칭의 영구 저장:
터미널에서 직접 alias 명령어로 설정한 별칭은 해당 터미널 세션에서만 유효합니다. 터미널을 닫거나 로그아웃하면 사라집니다.
별칭을 영구적으로 사용하려면 쉘 설정 파일에 추가해야 합니다:
- Bash 쉘: ~/.bashrc 파일 (또는 ~/.bash_aliases 파일에 작성하고 ~/.bashrc에서 이를 불러오도록 설정)
- Zsh 쉘: ~/.zshrc 파일
파일을 열어 alias 명령어를 추가한 후, 파일을 저장하고 다음 명령어를 실행하거나 새 터미널을 열면 적용됩니다.
주의사항:
- 별칭 이름은 기존 명령어 이름과 동일하게 만들 수 있습니다. 이 경우 별칭이 우선적으로 실행됩니다. 원래 명령어를 실행하려면 명령어 앞에 \ (백슬래시)를 붙이거나, 명령어의 전체 경로를 입력합니다. (예: \rm, /bin/rm)
- 별칭은 쉘 스크립트 내에서는 기본적으로 비활성화되어 있는 경우가 많습니다. 스크립트 내에서 별칭을 사용하려면 스크립트 상단에 shopt -s expand_aliases (Bash의 경우)를 추가해야 할 수 있습니다. 하지만 스크립트에서는 별칭보다는 함수를 사용하는 것이 더 권장됩니다.
access는 주로 스크립팅에서 권한 확인에, alias는 사용자의 편의성을 높이는 데 유용하게 사용되는 명령어들입니다.
thumb_upthumb_down
leeoscar.tistory.com
반응형