Що означає ~ $?


27

Що означає ~$? Наприклад:

user@ubuntu:~$

Поки я знаю, що $знак є символом для звичайного користувача. Якщо я не помиляюся root, то #в кінці.

Я також знайшов багато команд на форумах, які починаються з $:

$ sudo apt-get update 

То для чого $насправді стоїть?

EDIT (28.01.2014):

Сьогодні я натрапив на це відео, яке повністю відповідає на моє запитання від 8 місяців тому і вирішив поділитися ним тут :)

Основи BASH - https://www.youtube.com/watch?v=x73WTEltyHU

Відповіді:


33

~І $є елементами командного рядка . Це вказує на те, що ваш комп'ютер (а точніше, я думаю, оболонка, яку ви працюєте) чекає на введення користувачем. Це спонукало вас до команди введення в.

Це $просто роздільник або роздільник. Він відокремлює командний рядок від команди, яка слідує за ним. Коли люди пишуть такі речі, як $ sudo apt-get update(ваш приклад), вони просто говорять вам, що команду в цьому випадку sudo apt-get updateпотрібно вводити в командному рядку. Строго кажучи, можливо, це $є надмірним у цьому контексті.

Інші сепаратори можуть використовуватися в інших ситуаціях. Наприклад, #використовується для кореневої оболонки.

~( Так званий «тильда») є скороченням для вашого домашнього каталогу. Якщо він відображається в командному рядку, наприклад, user@hostame:~$це вказує, що поточна робоча директорія є вашим домашнім каталогом. Таким чином, якщо ви запустите команду list ls, не вказуючи конкретного каталогу, він перелічить вміст вашого домашнього каталогу.

(До речі, $HOMEце не команда, як ви пропонуєте, а скоріше змінна середовище . Це визначає розташування домашнього каталогу. Його значення ви можете побачити, запустивши $ echo $HOME.)


10
@FEarBG Я думаю, що ця відповідь провалюється в одному невеликому аспекті: підказка повністю настроюється і є лише прикрасою; ви можете вирішити мати порожню підказку або використовувати будь-які символи, які вам подобаються (наприклад, на моєму комп’ютері я замінив $символом `̃∴` як символ підказки). Ви можете змінити своє швидке налаштування PS1змінної середовища на свій смак.
Бакуріу

@Bakuriu, якщо припустити баш, звичайно. Інші снаряди МОЖЕ бути іншими.
CVn

1
"Строго кажучи, можливо, $ в цьому контексті надлишковий." - Так, тому ми зазвичай вважаємо за краще уникати, $якщо в цьому немає необхідності (наприклад, для копій журналу або прикладних виходів).
user98085

12

Традиційно запит оболонки або закінчується на $,% або #. Якщо він закінчується на $, це вказує на оболонку, сумісну з оболонкою Bourne (наприклад, оболонкою POSIX, або оболонкою Korn або Bash). Якщо він закінчується на%, це вказує на оболонку C (csh або tcsh). Якщо він закінчується символом #, це вказує на те, що оболонка працює як обліковий запис суперпользователя (root) системи.

Джерело : тут


у деяких (старих, як правило) системах ви маєте "#" навіть як звичайний користувач (можливо, щоб тримати вас на пальці ноги ^^) ... тобто деякі старі оболонки не змінюють символ, якщо ви root - vs- постійний користувач.
Олів'є Дулак


10
  • ~ означає ваш домашній каталог.
  • $це роздільник для вашої системи, він походить від команди \$зі сторінки man.

Тож якщо ви знайдете команду, що починається з $неї, просто говорить, що до цього нічого не слід додавати.

user@ubuntu:~$

userце ім’я користувача, з яким ви ввійшли в систему.
@просто сказати ось посилання.
ubuntu- це назва системи, в яку ви зареєстровані.
:~говорить, що ви зараз перебуваєте в userдомашньому каталозі.
$походить від \$послідовності втечі в $PS1. сторінка man.

Але це все можна змінити, прочитавши на сторінці man. Дякую @demure за допомогу.


2
Щоб бути конкретним, це \$частина $ PS1, яка призначена для того, щоб показати, $якщо не root (інакше це буде #) man man page page
demure

@denure оновив мою відповідь, якщо ви вважаєте, що можете покращити її, будь ласка, зробіть це.
Альвар

6

$ Підписує це кінець підказки в терміналі, коли ви додаєте таку команду, як та, яку ви показали, не вводите $ else, вона не буде працювати.

Тож $ sudo apt-get update

буде введено як:

sudo apt-get update 

Сподіваюся, що це допомагає.

Редагувати

~ Означає для вашої домашньої папки, щоб name@pc_name:~/Desktop$було показано, що ви перебуваєте в папці «Головна»> «Настільний».


3
Можливо, щоб показати, що вам слід ввести команду під запитом.
SimplySimon

4
А також розрізнити команду, яку виконує звичайний користувач (у рядку $) та корінь (рядок #).
співмешканець

@FEarBG: Це довільна конвенція, не пов'язана (наскільки я знаю) із використанням $позначення імені змінної. На клавіатурі доступно лише стільки символів для друку. DOS та Windows використовують >у підказках, Unix зазвичай використовує $або %. Він говорить вам "це підказка", не витрачаючи місця на екрані (або, за старих часів, чорнилом і папером).
Кіт Томпсон

І звичайно, у DOS та Windows використовують змінні середовища %. Як ви кажете, це багато в чому довільно; там дуже багато має бути щось , але це не повинно бути однаковим скрізь (хоча було б добре, якби це було).
CVn
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.