리눅스 access , alias

2025. 5. 21. 00:37IT & Programming/Linux

리눅스에서 access alias 명령어에 대해 설명드리겠습니다.

1. access 명령어

access 명령어는 파일이나 디렉터리에 대한 현재 사용자의 접근 권한을 확인하는 데 사용됩니다. 실제로 파일을 읽거나 쓰거나 실행하려고 시도하지 않고, 권한이 있는지 여부만 알려줍니다. 주로 쉘 스크립트 내에서 특정 작업을 수행하기 전에 권한을 검사하는 용도로 많이 사용됩니다.

access 명령어는 사실 시스템 콜 access()를 사용하는 유틸리티입니다.

주요 사용법:

access [옵션] 파일명_또는_디렉터리명
Use code with caution.Bash

주요 옵션:

  • -r : 읽기 권한(read permission)이 있는지 확인합니다.
  • -w : 쓰기 권한(write permission)이 있는지 확인합니다.
  • -x : 실행 권한(execute permission)이 있는지 확인합니다.
  • -f : 파일이 존재하는지 확인합니다 (권한은 확인하지 않음). -e도 동일한 기능을 하는 경우가 많습니다.

반환 값 (Exit Status):

  • 0 : 성공 (요청한 권한이 있거나 파일이 존재함)
  • 1 (또는 0이 아닌 값) : 실패 (권한이 없거나 파일이 존재하지 않음)

예시:

  1. myfile.txt 파일에 대한 읽기 권한 확인:만약 읽기 권한이 있다면 0이 출력되고, 없다면 1 (또는 다른 0이 아닌 값)이 출력됩니다.
  2. access -r myfile.txt
    echo $? # 이전 명령어의 종료 상태(반환 값) 출력
    Use code with caution.Bash
  3. myscript.sh 파일에 대한 실행 권한 확인:
  4. access -x myscript.sh
    if [ $? -eq 0 ]; then
        echo "스크립트를 실행할 수 있습니다."
        ./myscript.sh
    else
        echo "스크립트 실행 권한이 없습니다."
    fi
    Use code with caution.Bash
  5. /etc/shadow 파일에 대한 쓰기 권한 확인 (일반 사용자는 권한이 없을 것입니다):
  6. 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 등)의 내장 명령어입니다.

주요 사용법:

  1. 현재 설정된 모든 별칭 보기:
  2. alias
    Use code with caution.Bash
  3. 특정 별칭의 정의 보기:예: alias ll
  4. alias 별칭이름
    Use code with caution.Bash
  5. 새로운 별칭 만들기:
    • 주의: = 앞뒤에는 공백이 없어야 합니다.
    • 명령어 문자열은 작은따옴표(')로 감싸는 것이 일반적입니다. 변수 확장을 원하면 큰따옴표(")를 사용할 수도 있습니다.
  6. alias 별칭이름='실행할 명령어 문자열'
    Use code with caution.Bash
  7. 별칭 삭제하기:
  8. unalias 별칭이름
    Use code with caution.Bash

예시:

  1. ls -l ll이라는 별칭으로 만들기:이제 터미널에 ll을 입력하면 ls -l이 실행됩니다.
  2. alias ll='ls -l'
    Use code with caution.Bash
  3. 자주 사용하는 grep 옵션과 함께 별칭 만들기:이제 grepi "pattern" filename 형태로 사용할 수 있습니다.
  4. alias grepi='grep -i --color=auto' # 대소문자 구분 없이, 색상으로 결과 표시
    Use code with caution.Bash
  5. 디렉터리 이동 단축:
  6. alias ..='cd ..'
    alias ...='cd ../..'
    Use code with caution.Bash
  7. rm 명령어에 항상 확인 프롬프트(-i)를 추가 (실수 방지):
  8. alias rm='rm -i'
    Use code with caution.Bash
  9. 시스템 업데이트 명령어 묶기 (Debian/Ubuntu 계열):
  10. alias update='sudo apt update && sudo apt upgrade -y'
    Use code with caution.Bash

별칭의 영구 저장:

터미널에서 직접 alias 명령어로 설정한 별칭은 해당 터미널 세션에서만 유효합니다. 터미널을 닫거나 로그아웃하면 사라집니다.

별칭을 영구적으로 사용하려면 쉘 설정 파일에 추가해야 합니다:

  • Bash 쉘: ~/.bashrc 파일 (또는 ~/.bash_aliases 파일에 작성하고 ~/.bashrc에서 이를 불러오도록 설정)
  • Zsh 쉘: ~/.zshrc 파일

파일을 열어 alias 명령어를 추가한 후, 파일을 저장하고 다음 명령어를 실행하거나 새 터미널을 열면 적용됩니다.

# Bash의 경우
source ~/.bashrc

# Zsh의 경우
source ~/.zshrc
Use code with caution.Bash

주의사항:

  • 별칭 이름은 기존 명령어 이름과 동일하게 만들 수 있습니다. 이 경우 별칭이 우선적으로 실행됩니다. 원래 명령어를 실행하려면 명령어 앞에 \ (백슬래시)를 붙이거나, 명령어의 전체 경로를 입력합니다. (예: \rm, /bin/rm)
  • 별칭은 쉘 스크립트 내에서는 기본적으로 비활성화되어 있는 경우가 많습니다. 스크립트 내에서 별칭을 사용하려면 스크립트 상단에 shopt -s expand_aliases (Bash의 경우)를 추가해야 할 수 있습니다. 하지만 스크립트에서는 별칭보다는 함수를 사용하는 것이 더 권장됩니다.

access는 주로 스크립팅에서 권한 확인에, alias는 사용자의 편의성을 높이는 데 유용하게 사용되는 명령어들입니다.

thumb_upthumb_down
 

leeoscar.tistory.com

반응형