리눅스 셸에서 명령어를 입력할 때, 프롬프트 기호 #와 $는 사용자의 권한을 나타내는 중요한 역할을 합니다.
- 루트 사용자 프롬프트 (#) : # 기호는 루트 사용자가 명령어를 입력할 때 나타나는 프롬프트입니다. 루트 사용자는 시스템 관리자 권한을 가지고 있어 시스템의 모든 파일과 디렉토리에 접근할 수 있으며, 시스템 설정을 변경하거나 소프트웨어를 설치/제거할 수 있는 무제한 권한을 가집니다. 그러나 이러한 권한은 시스템에 큰 영향을 미칠 수 있으므로, 신중하게 사용해야 합니다.
- 일반 사용자 프롬프트 ($) : $ 기호는 일반 사용자가 명령어를 입력할 때 나타나는 프롬프트입니다. 일반 사용자는 제한된 권한을 가지고 있으며, 주로 자신의 홈 디렉토리와 특정 파일에만 접근할 수 있습니다. 시스템의 중요한 설정을 변경할 수 없기 때문에, 보안상 더 안전하게 시스템을 사용할 수 있습니다.
리눅스 셸에서 #와 $의 명령어 입력 차이점
그러면 #, $ 차이점을 알아봤으니 제일 중요한 프롬프트에서의 명령어 입력 차이점에 대해서도 알아보겠습니다.
리눅스 셸에서 #와 $ 프롬프트는 사용자의 권한을 나타내며, 각각 입력되는 명령어의 실행 범위와 권한이 다릅니다.
- 루트 사용자 프롬프트 (#)
- 루트 사용자 권한을 가진 # 프롬프트는 시스템 전체에 영향을 미칠 수 있는 명령어를 실행합니다. 예를 들어, 시스템 설정 변경, 소프트웨어 설치/제거, 사용자 계정 관리 등의 명령어를 사용할 수 있습니다.
- 잘못된 명령어 실행 시 시스템이 손상될 수 있으므로 신중하게 사용해야 합니다.
#nano /etc/hosts
#yum install package-name
#useradd newuser
- 일반 사용자 프롬프트 ($)
- 일반 사용자 권한을 가진 $ 프롬프트는 사용자의 홈 디렉토리와 권한이 부여된 파일/디렉토리에만 영향을 미칩니다.
- 예를 들어, 파일 편집, 소프트웨어 사용, 파일/디렉토리 관리 등의 명령어를 사용할 수 있습니다. 시스템에 큰 영향을 미치지 않으므로 보안상 더 안전합니다.
$nano ~/documents/file.txt
$python script.py
$mkdir newdirectory
각각의 권한에 맞는 명령어를 적절히 사용함으로써 시스템을 효율적이고 안전하게 관리할 수 있습니다.