~ $는 무엇을 의미합니까?


27

무엇 ~$을 의미합니까? 예를 들면 다음과 같습니다.

user@ubuntu:~$

지금까지 나는 그 $표시가 일반 사용자를위한 상징 이라는 것을 알고 있습니다. 내가 잘못 본게 아니라면 root#말에.

또한 포럼에서 시작하는 많은 명령을 발견했습니다 $.

$ sudo apt-get update 

그래서 $실제로 무엇 을 의미합니까?

편집 (2014 년 1 월 28 일) :

오늘 나는 8 개월 전에 내 질문에 완전히 대답하는이 비디오를 보았고 여기에서 공유하기로 결정했습니다. :)

BASH 기본 사항 - https://www.youtube.com/watch?v=x73WTEltyHU

답변:


33

~$의 요소 명령 프롬프트 . 이것은 컴퓨터 (또는 더 정확하게 말하면, 실행중인 쉘)가 사용자 입력을 기다리고 있음을 나타냅니다. 명령을 입력 하라는 메시지 가 표시 됩니다.

$단순히 세퍼레이터 분배기이다. 명령 프롬프트와 그 뒤에 오는 명령을 구분합니다. 사람들이 $ sudo apt-get update(귀하의 예) 와 같은 것을 쓰면 sudo apt-get update명령 프롬프트에서 명령을 입력해야 한다고 간단히 말하고 있습니다 . 엄밀히 말하면 아마도이 $맥락에서 중복됩니다.

다른 상황에서는 다른 분리기가 사용될 수 있습니다. 예를 들어, #루트 쉘에 사용됩니다.

~(소위 '물결')는 홈 디렉토리에 대한 속기입니다. 예를 들어, 명령 프롬프트에 나타나면 user@hostame:~$현재 작업 디렉토리 가 홈 디렉토리 임을 나타냅니다 . 따라서 ls특정 디렉토리를 지정하지 않고 list 명령을 실행하면 홈 디렉토리의 내용이 나열됩니다.

( 이것은 $HOME제안한 바와 같이 명령이 아니라 환경 변수 입니다. 홈 디렉토리의 위치를 ​​결정합니다.를 실행하여 그 값을 볼 수 있습니다 $ echo $HOME.)


10
@FEarBG이 답변은 작은 측면에서 실패한다고 생각합니다. 프롬프트는 완전히 사용자 정의 할 수 있으며 장식 일뿐입니다. 빈 프롬프트를 표시하거나 원하는 기호를 사용할 수 있습니다 (예 : 컴퓨터 $에서 프롬프트 기호로 '~ ∴'로 바)). PS1환경 변수를 원하는대로 설정하여 프롬프트를 변경할 수 있습니다 .
Bakuriu 2016 년

@Bakuriu 물론 배쉬를 가정합니다. 다른 껍질은 다를 수 있습니다.
CVn

1
"엄밀하게 말하면 아마도 $는이 상황에서 중복됩니다." -그렇기 때문에 일반적으로 $필요하지 않은 경우 (예 : 로그 사본 또는 출력 예)이 필요하지 않습니다.
user98085

12

전통적으로 쉘 프롬프트는 $, % 또는 #로 끝납니다. $로 끝나는 경우 Bourne 쉘 (POSIX 쉘 또는 Korn 쉘 또는 Bash)과 호환되는 쉘을 나타냅니다. %로 끝나는 경우 C 쉘 (csh 또는 tcsh)을 나타냅니다. #으로 끝나면 쉘이 시스템의 수퍼 유저 계정 (루트)으로 실행되고 있음을 나타냅니다.

출처 : 여기


(구, 일반적으로) 일부 시스템에서는 일반 사용자로도 "#"을 사용할 수 있습니다 (발가락을 잡고있을 수도 있습니다). 대 일반 사용자.
Olivier Dulac


10
  • ~ 홈 디렉토리를 나타냅니다.
  • $시스템의 구분자이며 매뉴얼 페이지 의 명령 \$에서 가져옵니다 .

따라서 명령으로 시작하는 명령을 찾으면 그 $전에 아무것도 추가해서는 안된다고 말합니다.

user@ubuntu:~$

user로그인 한 사용자 이름입니다.
@여기에 링크라는 것입니다.
ubuntu로그인 한 시스템의 이름입니다. 현재 홈 디렉토리
:~에 있다고 말합니다 user.
$\$이스케이프 시퀀스에서 나옵니다 $PS1. 맨 페이지.

그러나 이것은 맨 페이지 에서 읽음으로써 변경 될 수 있습니다 . 도움을 주셔서 감사합니다.


2
구체적으로, 그것은이다 \$보여주기 위해 설계된 $ PS1의 일부가 $아니라면 루트 (그렇지 않으면 될 것입니다 #) 매뉴얼 페이지 발휘
몸매

@denure가 내 답변을 업데이트했습니다. 향상시킬 수 있다고 생각되면 그렇게하십시오.
Alvar

6

$는 명령과 같은 명령을 추가 할 때 터미널에서 프롬프트의 끝에 서명합니다. $를 입력하지 않으면 작동하지 않습니다.

그래서 $ sudo apt-get update

다음과 같이 입력됩니다.

sudo apt-get update 

희망이 도움이됩니다.

편집하다

~는 홈 폴더 name@pc_name:~/Desktop$를 나타내 므로 홈> 데스크톱 폴더에 있음을 나타냅니다.


3
프롬프트에서 명령을 입력해야 함을 표시 할 수 있습니다.
SimplySimon 2016 년

4
또한 일반 사용자 ($ 프롬프트에서)와 root (# 프롬프트)에서 실행하는 명령을 구분합니다.
coneslayer

@FEarBG : $변수 이름을 나타내는 데 사용하는 것과 관련이없는 임의의 규칙 입니다. 키보드에는 인쇄 가능한 문자가 너무 많습니다. DOS 및 Windows 사용 >프롬프트에서이 유닉스는 일반적으로 사용 $하거나 %. 화면에 공간을 낭비하지 않고 "또는 프롬프트"라는 메시지를 표시합니다 (또는 옛날에는 잉크와 용지).
Keith Thompson

물론 DOS 및 Windows 환경 변수에서는을 사용 %합니다. 당신이 말했듯이, 그것은 거의 임의적입니다. 무언가 가 거의 필요 하지만 모든 곳에서 동일 할 필요는 없습니다 (그렇다면 친절 할 것입니다).
CVn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.