Что значит тильда в linux
Когда я должен использовать
(тильда) во время навигации по командной строке?
Довольно глупо, когда дело доходит до Linux, и я пытаюсь понять навигацию с помощью командной строки. Я могу легко перемещаться из моей домашней папки и папок внутри с помощью этого:
но когда я иду, чтобы открыть папку в документах, я получаю сообщение об ошибке, подобное этому:
Я в замешательстве, потому что мне нужно использовать «
» для доступа к документам, но я не могу перейти в следующую папку, находясь в документах.
2 ответа
имеет значение только в командной строке, а не в графическом интерфейсе (как указано в комментариях).
Эта проблема
(тильда), сопровождаемая косой чертой в пути, понимается как ссылка на домашний каталог вашего пользователя, т.е.
Итак, когда вы делаете cd
/xmr-stak-cpu-1.3.0-1.5.0 говоришь, возьми меня к xmr-stak-cpu-1.3.0-1.5.0 каталог, который находится в моей домашней папке. Также важно отметить, что путь всегда читается слева направо, разделенный косыми чертами, причем крайний левый угол является вершиной дерева каталогов, на которое вы ссылаетесь. Поэтому, если вы хотите спуститься из дома, в Документы, в вашу папку, все части должны присутствовать в пути, разделенные косой чертой, и папка, в которую вы хотите попасть, конечно, должна быть самой подходящей.
Посмотрите на сообщение об ошибке внимательно:
Оболочка правильно расширена
быть /home/chance и присоединился к тому, что ты дал. Конечно, поскольку указанный вами каталог не существует, вы получили соответствующее сообщение об ошибке.
Что ты должен был сделать
/Documents Сначала перейдите в каталог, который вы хотите. Когда ты cd
В качестве альтернативы вы можете указать полный путь:
, что по сути одинаково, однако они различаются по своей природе и дополнительным вещам, которые вы можете делать с
, Смотрите мой ответ на разницу CD и CD
Более формальное и глубокое объяснение
Хорошо, до сих пор мы держали вещи довольно просто с целью объяснения основ для новых пользователей. Но есть гораздо больше, чем тильда, косая черта и навигация по дереву каталогов. Вопросы становятся более сложными, если учесть, что тильда и cd ведут себя по-разному в других оболочках, и если мы также рассмотрим стандарт POSIX. Некоторые из вещей, о которых я здесь уже упоминал, в своем ответе по Unix и Linux, так что обязательно проверьте это.
с не цитируемой лидирующей
, если после него нет символов (или если между
/ значит смени каталог на свою домашнюю папку. Обратите внимание, что
а также / должно быть без кавычек:
с не цитируемой лидирующей
Коллекция символов, которые следуют за ним, считаются возможным именем входа. Так cd
testuser или же cd
testuser/ будет означать, что вы хотите прыгнуть в testuser текущий рабочий каталог. Опять же, цитирование имеет значение:
В bash вы можете перемещаться и записывать, где вы были, помещая определенные каталоги в стек каталогов (или массив), и вы можете ссылаться на них с помощью
Смотрите диаграмму в ответе Муру на связанный вопрос, который показывает, как использовать индексы для
Фактически это соответствует стандарту cd также:
Если HOME не установлен, вместо него подставляется домашний каталог пользователя, выполняющего оболочку. В противном случае префикс тильды заменяется домашним каталогом, связанным с указанным именем входа.
Другими словами, когда дом не установлен, bash не сломается, но если HOME устанавливается в нулевую строку, она будет ломаться:
Забавный факт
был выбран для представления домашнего каталога пользователя, потому что один раз
а также HOME клавиши, используемые на той же клавиатуре на терминале Lier-Siegler ADM-3A. ( источник)
Основы работы в командной строке Linux
В настоящее время работать в Linux можно и без использования командной строки. Почти все основные действия можно выполнять используя графические приложения. Но основные команды и утилиты командной строки, я думаю, должен знать каждый, кто работает в Linux.
Многие действия с помощью утилит командной строки можно выполнять значительно быстрее, чем использовать графические аналоги, главное знать требуемые команды. Утилиты командной строки зачастую имеют значительно большие возможности или у них вообще отсутствуют графические аналоги. Наконец, командная строка предоставляет свободу, в ней делаешь то, что ты хочешь и как хочешь, а не ищешь нужную галочку или поле в графической программе.
Запуск эмулятора терминала в Ubuntu
Приглашение к вводу команды
Приглашение к вводу команды в эмуляторе терминала имеет следующий формат:
Здесь — это имя, которое вы использовали для входа в систему и под которым вы сейчас работаете. Затем идет значок @, за ним имя локальной системы, далее двоеточие и имя текущего каталога, в котором вы в данный момент находитесь.
В эмуляторе gnome-terminal при запуске терминала в качестве каталога используется значок тильда
Основные команды Linux
Ниже я вкратце рассмотрю некоторые основные команды (утилиты) Linux и их опции, которые часто приходится использовать при работе в командной строке. Некоторые команды я приведу с примерами, а некоторые просто с кратким описанием.
ls — вывод имен файлов
Теперь приведу несколько примеров. Выполнив команду ls без параметров, вы получите просто список файлов в каталоге.
mkdir — создание каталога
cp — копирование файла
mv — перемещение, переименование файла
rm — удаление файла
Команда rm предназначена для удаления файлов. Основные опции команды:
cd — смена текущего каталога
Команда cd предназначена для смены каталога, в котором вы сейчас находитесь. Например, вы сейчас находитесь в своем домашнем каталоге
и хотите перейти в каталог
Если выполнить команду cd без параметров, то вы перейдете в свой домашний каталог
/information мы можем перейти в каталог
cat — вывод содержимого файла
pwd — вывод полного пути текущего каталога
Команда pwd используется, чтобы вывести полный путь текущего каталога.
man — получение руководства
Что значит тильда в linux
уЙУФЕНБ Linux СЧМСЕФУС НОПЗПЪБДБЮОПК НОПЗПРПМШЪПЧБФЕМШУЛПК ПРЕТБГЙПООПК УЙУФЕНПК. ьФП ПЪОБЮБЕФ, ЮФП НОПЗП МАДЕК НПЗХФ ПДОПЧТЕНЕООП ЪБРХУЛБФШ РП НОПЗХ ТБЪМЙЮОЩИ РТЙМПЦЕОЙК ПДОПЧТЕНЕООП ОБ ПДОПН Й ФПН ЦЕ ЛПНРШАФЕТЕ. ьФЙН УЙУФЕНБ Linux ПФМЙЮБЕФУС ПФ УЙУФЕНЩ MS-DOS, ЗДЕ Ч ПДОП Й ФП ЦЕ ЧТЕНС ОБ ЛПНРШАФЕТЕ НПЦЕФ ТБВПФБФШ ФПМШЛП ПДЙО ЮЕМПЧЕЛ. юФПВЩ УЙУФЕНБ Linux УНПЗМБ « ХЪОБФШ » РПМШЪПЧБФЕМС, ПО ДПМЦЕО ЧПКФЙ Ч УЙУФЕНХ (log in), ЮФП ФТЕВХЕФ ЧЧЕДЕОЙС ЙНЕОЙ РПМШЪПЧБФЕМС (login name) Й РБТПМС (password). рП РЕТЧПНХ ЙЪ ОЙИ УЙУФЕНБ ТБЪМЙЮБЕФ РПМШЪПЧБФЕМС, Б ЧФПТПК УМХЦЙФ РЕТУПОБМШОЩН « ЛМАЮПН » ДМС ЧИПДБ Ч УЙУФЕНХ; ЬФПФ ЛМАЮ РТЕДХУНПФТЕО ДМС ФПЗП, ЮФПВЩ ОЙЛБЛПК ДТХЗПК ЮЕМПЧЕЛ ОЕ УНПЗ ЧПКФЙ Ч УЙУФЕНХ РПД ЧБЫЙН ЙНЕОЕН.
оБ ФТБДЙГЙПООЩИ УЙУФЕНБИ UNIX ЙНС Й ОБЮБМШОЩК РБТПМШ ЧБН ДБЈФ УЙУФЕНОЩК БДНЙОЙУФТБФПТ, ЛПФПТЩК ПФЧЕЮБЕФ ЪБ ТБВПФХ ДБООПК УЙУФЕНЩ. оП ЕУМЙ ЧЩљ— ФПФ РПМШЪПЧБФЕМШ Linux, ОБ ЛПФПТПЗП МПЦБФУС ПВСЪБООПУФЙ УЙУФЕНОПЗП БДНЙОЙУФТБФПТБ, ФП РЕТЕД ЧИПДПН Ч УЙУФЕНХ ЧБН ФТЕВХЕФУС УПЪДБФШ УЕВЕ ЙНС РПМШЪПЧБФЕМС. ч ДБМШОЕКЫЕН ВХДЕФ ТБУУНБФТЙЧБФШУС ХУМПЧОЩК РПМШЪПЧБФЕМШ РП ЙНЕОЙ мБТТЙ, ОБ ЛПФПТПЗП Ч УЙУФЕНЕ ЪБЧЕДЕОП ЙНС РПМШЪПЧБФЕМС larry.
лТПНЕ ФПЗП, ЛБЦДПНХ ЛПНРШАФЕТХ РТЙУЧПЕОП ЙНС ЛПНРШАФЕТБ (ИПУФБ). рП ЬФПНХ ЙНЕОЙ (host name) ЛПНРШАФЕТЩ ТБУРПЪОБАФУС Ч УЕФЙ. пДОБЛП ДБЦЕ ЕУМЙ ЛПНРШАФЕТ ОЕ РПДЛМАЮЈО Л УЕФЙ, ПО ДПМЦЕО ЙНЕФШ ЙНС. дМС ЧУЕИ РТЙНЕТПЧ, РТЙЧПДЙНЩИ ОЙЦЕ, ЙНЕОЕН ЛПНРШАФЕТБ ВХДЕФ mousehouse.
уПЪДБОЙЕ ЙНЕОЙ РПМШЪПЧБФЕМС
рТЕЦДЕ ЮЕН ОБЮБФШ ТБВПФХ Ч ФПМШЛП ЮФП ХУФБОПЧМЕООПК УЙУФЕНЕ Linux, ОХЦОП УПЪДБФШ УЕВЕ ЙНС РПМШЪПЧБФЕМС ДМС РПЧУЕДОЕЧОПК ТБВПФЩ. вХДЕФ ОЕРТБЧЙМШОЩН ДМС ЬФПЗП ЙУРПМШЪПЧБФШ ЙНС root, РПФПНХ ЮФП ЬФП ЙНС ТЕЪЕТЧЙТХЕФУС ДМС ЧЩРПМОЕОЙС ПУПВЩИ ЛПНБОД Й ДМС ТБВПФ РП РПДДЕТЦБОЙА ТБВПФПУРПУПВОПУФЙ УЙУФЕНЩ. ьФЙ ЧПРТПУЩ ПВУХЦДБАФУС ОЙЦЕ.
чИПД Ч УЙУФЕНХ
пВЩЮОП РТЙ ЧИПДЕ Ч УЙУФЕНХ ЧЩ ЧЙДЙФЕ ОБ ЬЛТБОЕ РТЙНЕТОП УМЕДХАЭЕЕ РТЙЗМБЫЕОЙЕ:
дБМЕЕ УМЕДХЕФ ЧЧЕУФЙ ЧБЫ РБТПМШ. оБВЙТБЕНЩЕ РТЙ ЬФПН УЙНЧПМЩ ОЕ ВХДХФ РПСЧМСФШУС ОБ ЬЛТБОЕ, ФБЛ ЮФП ОБВЙТБКФЕ БЛЛХТБФОП. еУМЙ РБТПМШ ВХДЕФ ОБВТБО ОЕЧЕТОП, ЧЩ ХЧЙДЙФЕ ОБ ЬЛТБОЕ УМЕДХАЭЕЕ УППВЭЕОЙЕ:
(ОЕРТБЧЙМШОП ЧЧЕДЕОП ЙНС РПМШЪПЧБФЕМС), Й РТПГЕДХТХ ЧИПДБ Ч УЙУФЕНХ РТЙДЈФУС РПЧФПТЙФШ.
рПУМЕ ФПЗП, ЛБЛ ЙНС РПМШЪПЧБФЕМС Й РБТПМШ ЧЧЕДЕОЩ РТБЧЙМШОП, НПЦОП УЮЙФБФШ, ЮФП УПУФПСМУС «ПЖЙГЙБМШОЩК» ЧИПД Ч УЙУФЕНХ, Й РТЙУФХРБФШ Л ТБВПФЕ.
чЙТФХБМШОБС ЛПОУПМШ
лПОУПМШ УЙУФЕНЩ РТЕДУФБЧМСЕФ УПВПК НПОЙФПТ Й ЛМБЧЙБФХТХ, ОЕРПУТЕДУФЧЕООП РПДЛМАЮЈООЩЕ Л ЛПНРШАФЕТХ. рПУЛПМШЛХ УЙУФЕНБ Linux СЧМСЕФУС НОПЗПРПМШЪПЧБФЕМШУЛПК ПРЕТБГЙПООПК УЙУФЕНПК, Л ЛПНРШАФЕТХ ЮЕТЕЪ РПУМЕДПЧБФЕМШОЩЕ РПТФЩ НПЗХФ ВЩФШ РПДЛМАЮЕОЩ ДТХЗЙЕ ФЕТНЙОБМЩ, ОП ПОЙ ОЕ ВХДХФ ЛПОУПМСНЙ. уЙУФЕНБ Linux, РПДПВОП ДТХЗЙН ЧЕТУЙСН УЙУФЕНЩ UNIX, РТЕДПУФБЧМСЕФ ДПУФХР Л ЧЙТФХБМШОЩН ЛПОУПМСН (ДБМЕЕљ— чл), У ЛПФПТЩИ НПЦОП ПУХЭЕУФЧМСФШ ПДОПЧТЕНЕООП ОЕУЛПМШЛП УЕБОУПЧ ТБВПФЩ Ч УЙУФЕНЕ (login session).
рТЙ ФПН, ЮФП РТЙНЕОЕОЙЕ чл ПФЮБУФЙ ПЗТБОЙЮЕОП (Ч ЛПОГЕ ЛПОГПЧ, РЕТЕД ЗМБЪБНЙ Х РПМШЪПЧБФЕМС ЧУЕЗДБ ФПМШЛП ПДОБ чл), ЬФБ ДЕНПОУФТБГЙС ДПМЦОБ УПЪДБФШ Х ЧБУ ЧРЕЮБФМЕОЙЕ П ЧПЪНПЦОПУФСИ НОПЗПРПМШЪПЧБФЕМШУЛПЗП ТЕЦЙНБ УЙУФЕНЩ Linux. ч ФП ЧТЕНС, ЛБЛ РТПЙУИПДЙФ ОЕЛПФПТБС ТБВПФБ ОБ РЕТЧПК чл, ЧЩ НПЦЕФЕ РЕТЕЛМАЮЙФШУС ОБ ЧФПТХА чл Й ТБВПФБФШ ОБД ЮЕН-ОЙВХДШ ДТХЗЙН.
пВПМПЮЛЙ Й ЛПНБОДЩ
вПМШЫБС ЮБУФШ ПВЭЕОЙС У УЙУФЕНПК Linux РТПЙУИПДЙФ ЮЕТЕЪ РПУТЕДУФЧП ЛПНБОДОЩИ ПВПМПЮЕЛ (shell). лПНБОДОБС ПВПМПЮЛБљ— ЬФП РТПЗТБННБ, ЛПФПТБС ЧПУРТЙОЙНБЕФ ЛПНБОДЩ, ЧЧПДЙНЩЕ У ЛМБЧЙБФХТЩ, Й РТЕПВТБЪХЕФ ЙИ Ч ЙОУФТХЛГЙЙ ПРЕТБГЙПООПК УЙУФЕНЕ. бОБМПЗЙЮОЩЕ ЖХОЛГЙЙ ЙУРПМОСЕФ РТПЗТБННБ COMMAND.COM
рПУМЕ ФПЗП, ЛБЛ ЧЩ ЧПЫМЙ Ч УЙУФЕНХ, ПРЕТБГЙПООБС УЙУФЕНБ ЪБРХУЛБЕФ ЛПНБОДОХА ПВПМПЮЛХ, Й ЧЩ НПЦЕФЕ ЧЧПДЙФШ ЛПНБОДЩ. рТЙЧЕДЈН РТПУФПК РТЙНЕТ. рХУФШ мБТТЙ ЧИПДЙФ Ч УЙУФЕНХ Й ПЦЙДБЕФ РТЙЗМБЫЕОЙС (prompt) УЙУФЕНЩ.
б ФЕРЕТШ РПРТПВХЕН ЪБУФБЧЙФШ УЙУФЕНХ УДЕМБФШ ЛПЕ-ЮФП ЪБВБЧОПЕ:
лБЛ ПЛБЪЩЧБЕФУС, make СЧМСЕФУС ЙНЕОЕН ОЕЛПФПТПК УЙУФЕНОПК РТПЗТБННЩ, Й ПВПМПЮЛБ ЙУРПМОЙМБ ЬФХ РТПЗТБННХ, ЛПЗДБ ЕК ДБМЙ ФБЛХА ЛПНБОДХ. л УПЦБМЕОЙА, Ч ЬФПФ ТБЪ ПРЕТБГЙПООПК УЙУФЕНЕ ОЕ ЧУЕ Ч ЬФПК ЛПНБОДЕ РПОТБЧЙМПУШ.
йФБЛ, ЮФП ЦЕ ФБЛПЕ ЛПНБОДБ? пВТБФЙНУС Л РТЙЧЕДЈООПНХ ЧЩЫЕ РТЙНЕТХ. лПНБОДПК СЧМСЕФУС РЕТЧПЕ УМПЧП Ч ЛПНБОДОПК УФТПЛЕљ— make ; ЬФП ОБЪЩЧБЕФУС ЙНЕОЕН ЛПНБОДЩ. чУЕ ПУФБМШОПЕ Ч ЛПНБОДОПК УФТПЛЕ ЧПУРТЙОЙНБЕФУС Ч ЛБЮЕУФЧЕ БТЗХНЕОФПЧ ЬФПК ЛПНБОДЩ. ч УМЕДХАЭЕН РТЙНЕТЕ:
лПЗДБ ЧЩ ЧЧПДЙФЕ ЛПНБОДХ, ПВПМПЮЛБ РТПЙЪЧПДЙФ ОЕУЛПМШЛП ДЕКУФЧЙК. чП-РЕТЧЩИ, ПОБ РТПЧЕТСЕФ, СЧМСЕФУС МЙ ЛПНБОДБ ЧОХФТЕООЕК ДМС ПВПМПЮЛЙ. чОХФТЕООЕК ЛПНБОДПК ОБЪЩЧБЕФУС ЛПНБОДБ, РТП ЛПФПТХА ПВПМПЮЛБ УБНБ РП УЕВЕ ЪОБЕФ, ЛБЛ ЕЈ ЙУРПМОСФШ. йНЕЕФУС ОЕУЛПМШЛП ЧОХФТЕООЙИ ЛПНБОД ПВПМПЮЕЛ, Й ПОЙ ВХДХФ ТБУУНПФТЕОЩ ОЙЦЕ. фБЛЦЕ ПВПМПЮЛБ РТПЧЕТСЕФ, ОЕ СЧМСЕФУС МЙ ЛПНБОДБ РУЕЧДПОЙНПН (alias) ДТХЗПК ЛПНБОДЩ. еУМЙ ТЕЪХМШФБФ ЧУЕИ РТПЧЕТПЛ ПФТЙГБФЕМШОЩК, ФП ПВПМПЮЛБ ЙЭЕФ РТПЗТБННХ У ЬФЙН ЙНЕОЕН ОБ ДЙУЛЕ. еУМЙ РТПЗТБННБ ОБИПДЙФУС, ПВПМПЮЛБ ЕЈ ЙУРПМОСЕФ, РЕТЕДБЧБС ЕК БТЗХНЕОФЩ, ЧЧЕДЈООЩЕ Ч ЛПНБОДОПК УФТПЛЕ.
рПУНПФТЙН ФЕРЕТШ, ЮФП ВХДЕФ, ЕУМЙ ПВПМПЮЛБ ОЕ УНПЦЕФ ОБКФЙ РТПЗТБННХ У ЧЧЕДЈООЩН ОБНЙ ЙНЕОЕН. чЧЕДЈН УМЕДХАЭХА ЛПНБОДХ:
чУЕ ПЮЕЧЙДОП: ПВПМПЮЛБ ОЕ УНПЗМБ ОБКФЙ РТПЗТБННХ У ДБООЩН ЕК ЙНЕОЕН (ЪДЕУШљ— eat ) Й ЧЩДБМБ УППВЭЕОЙЕ ПВ ПЫЙВЛЕ. ьФП УППВЭЕОЙЕ ВХДЕФ ЮБУФП РПСЧМСФШУС, ЕУМЙ ЧЩ ВХДЕФЕ ОЕРТБЧЙМШОП ЧЧПДЙФШ ЛПНБОДХ У ЛМБЧЙБФХТЩ (ОБРТЙНЕТ, ЕУМЙ ВЩ Ч УБНПН РЕТЧПН РТЙНЕТЕ ЧЩ ОБВТБМЙ mkae love ЧНЕУФП make love ).
чЩИПД ЙЪ УЙУФЕНЩ
рТЕЦДЕ, ЮЕН ЙДФЙ ДБМШЫЕ, УМЕДХЕФ УЛБЪБФШ, ЛБЛ ЧЩИПДЙФШ ЙЪ УЙУФЕНЩ. дМС ЧЩИПДБ ЙЪ УЙУФЕНЩ ОХЦОП РПУМЕ РТЙЗМБЫЕОЙС ПВПМПЮЛЙ ЧЧЕУФЙ ЛПНБОДХ
уХЭЕУФЧХАФ Й ДТХЗЙЕ УРПУПВЩ ЧЩКФЙ ЙЪ УЙУФЕНЩ, ОП ЬФПФ СЧМСЕФУС УБНЩН ОБДЈЦОЩН.
йЪНЕОЕОЙЕ РБТПМС
жБКМЩ Й ЛБФБМПЗЙ
ч ВПМШЫЙОУФЧЕ ПРЕТБГЙПООЩИ УЙУФЕН (ЧЛМАЮБС УЙУФЕНХ Linux) ЙУРПМШЪХЕФУС РПОСФЙЕ ЖБКМБ (file). жБКМ љ— ЬФП ОЕЛПФПТЩК « ЛХУПЛ » ЙОЖПТНБГЙЙ, ЛПФПТПНХ ДБОП ЙНС, ОБЪЩЧБЕНПЕ ЙНЕОЕН ЖБКМБ (filename). рТЙНЕТБНЙ ЖБКМПЧ НПЗХФ УМХЦЙФШ ТБВПФБ РП ЙУФПТЙЙ, РПУМБОЙЕ, РТЙЫЕДЫЕЕ РП ЬМЕЛФТПООПК РПЮФЕ, Б ФБЛЦЕ ЙУРПМОСЕНБС РТПЗТБННБ. оХЦОП ЪОБФШ, ЮФП ОБ ДЙУЛЕ ЙОЖПТНБГЙС УПИТБОСЕФУС ФПМШЛП Ч ЧЙДЕ ПФДЕМШОЩИ ЖБКМПЧ.
жБКМЩ ТБЪМЙЮБАФУС РП УЧПЙН ЙНЕОБН. оБРТЙНЕТ, УЧПК ЖБКМ У ТБВПФПК РП ЙУФПТЙЙ ЧЩ НПЦЕФЕ ОБЪЧБФШ history-paper. ч ЬФЙИ УМХЮБСИ ЙНС ЖБКМБ ЧЩВЙТБЕФУС ФБЛЙН, ЮФПВЩ ПОП ЛБЛЙН-ФП ПВТБЪПН ИБТБЛФЕТЙЪПЧБМП УПДЕТЦЙНПЕ ДБООПЗП ЖБКМБ. дМС ЙНЈО ЖБКМПЧ ОЕФ ФБЛПЗП УФБОДБТФОПЗП ЖПТНБФБ, ЛБЛПК ЕУФШ Ч УЙУФЕНЕ MS-DOS Й Ч ОЕЛПФПТЩИ ДТХЗЙИ ПРЕТБГЙПООЩИ УЙУФЕНБИ. ч РТЙОГЙРЕ, ЙНС ЖБКМБ НПЦЕФ УПДЕТЦБФШ МАВЩЕ УЙНЧПМЩ (ЪБ ЙУЛМАЮЕОЙЕН УЙНЧПМБ / љ— УНЩУМ ЬФПЗП УЙНЧПМБ ВХДЕФ ТБЪЯСУОЈО ОЙЦЕ). дМЙОБ ЙНЕОЙ ЖБКМБ ПЗТБОЙЮЕОБ 256 ЪОБЛБНЙ.
рПОСФЙЕ ЖБКМБ ФЕУОП УЧСЪБОП У РПОСФЙЕН ЛБФБМПЗБ (directory). лБФБМПЗ љ— ЬФП ОБВПТ ЖБКМПЧ. йОПЗДБ ЛБФБМПЗ ОБЪЩЧБАФ « РБРЛБ », РП БОБМПЗЙЙ У РБРЛПК, Ч ЛПФПТПК УПДЕТЦЙФУС НОПЗП ТБЪМЙЮОЩИ МЙУФПЧ. пДОБЛП ЬФБ БОБМПЗЙС ОЕ ЧРПМОЕ ФПЮОБ, РПУЛПМШЛХ ЛБФБМПЗ УПДЕТЦЙФ ОЕ УПВУФЧЕООП ЖБКМЩ, Б УУЩМЛЙ ОБ ЖБКМЩ, Б ФБЛЦЕ Й ОБ ДТХЗЙЕ ЛБФБМПЗЙ. вПМЕЕ РПДИПДСЭБС БОБМПЗЙСљ— ВЙВМЙПФЕЮОЩК ЛБФБМПЗ ЙМЙ ЛБТФПФЕЛБ. лБФБМПЗБН ДБАФУС ЙНЕОБ, РП ЛПФПТЩН ЙИ НПЦОП ТБУРПЪОБЧБФШ. лТПНЕ ЬФПЗП, ЛБФБМПЗЙ ПВТБЪХАФ УФТХЛФХТХ ФЙРБ ДЕТЕЧБ; ЙОЩНЙ УМПЧБНЙ, УХЭЕУФЧХЕФ ЕДЙОУФЧЕООЩК ЛПТОЕЧПК ЛБФБМПЗ, ЛПФПТЩК УПДЕТЦЙФ ЧОХФТЙ УЕВС ЧУЕ ПУФБМШОЩЕ ЛБФБМПЗЙ.
лБЛ УМЕДУФЧЙЕ, Л ЖБКМХ НПЦОП ПВТБЭБФШУС, ХЛБЪЩЧБС РХФШ (path) Л ЬФПНХ ЖБКМХ. рХФШ УПУФПЙФ ЙЪ ЙНЕОЙ ЛБФБМПЗБ, ЪБ ЛПФПТЩН РЙЫЕФУС ЙНС ЖБКМБ. рХУФШ, ОБРТЙНЕТ, Х РПМШЪПЧБФЕМС мБТТЙ ЕУФШ ЛБФБМПЗ papers, Ч ЛПФПТПН УПДЕТЦЙФУС ФТЙ ЖБКМБ: history-final, english-lit, masters-thesis. лБЦДЩК ЙЪ ЬФЙИ ФТЈИ ЖБКМПЧ УПДЕТЦЙФ ЙОЖПТНБГЙА П ФТЈИ ТБВПФБИ, ЛПФПТЩНЙ Ч ДБООЩК НПНЕОФ ЪБОЙНБЕФУС мБТТЙ. юФПВЩ ПВТБФЙФШУС Л ЖБКМХ english-lit, мБТТЙ НПЦЕФ ХЛБЪБФШ РХФШ Л ЖБКМХ, ОБРТЙНЕТ, УМЕДХАЭЙН ПВТБЪПН:
рТЙ ХЛБЪБОЙЙ РХФЙ, ЛБЛ НПЦОП ХЧЙДЕФШ, ЙНЕОБ ЛБФБМПЗБ Й ЖБКМБ ТБЪДЕМСАФУС УЙНЧПМПН /. рП ЬФПК РТЙЮЙОЕ ЙНЕОБ ЖБКМПЧ ОЕ НПЗХФ УПДЕТЦБФШ ЬФПФ УЙНЧПМ. рПМШЪПЧБФЕМСН УЙУФЕНЩ MS-DOS ВХДЕФ ЪОБЛПНБ ЬФБ УЙУФЕНБ ПВПЪОБЮЕОЙК, ИПФС Ч УЙУФЕНЕ MS-DOS ЧНЕУФП УЙНЧПМБ / ЙУРПМШЪХЕФУС ФБЛ ОБЪЩЧБЕНЩК « ПВТБФОЩК УМЬЫ » ( \).
лБЛ ХЛБЪЩЧБМПУШ ЧЩЫЕ, ЛБФБМПЗЙ НПЗХФ ВЩФШ ЧМПЦЕОЩ ДТХЗ Ч ДТХЗБ. рХУФШ, ОБРТЙНЕТ, Ч ПДОПН ЛБФБМПЗЕ papers ЙНЕЕФУС ДТХЗПК ЛБФБМПЗ У ЙНЕОЕН notes. лБФБМПЗ notes УПДЕТЦЙФ ЖБКМЩ math-notes Й cheat-sheet. рХФШ Л ЖБКМХ cheat-sheet РТЕДУФБЧМСЕФУС УМЕДХАЭЙН ПВТБЪПН:
нЩ ЧЙДЙН, ЮФП РХФШ Л ЖБКМХ ОБРПНЙОБЕФ ПРЙУБОЙЕ РХФЙ Ч МБВЙТЙОФЕ. лБФБМПЗ, ЛПФПТЩК УПДЕТЦЙФ ДБООЩК РПДЛБФБМПЗ, ПВЩЮОП ОБЪЩЧБЕФУС ТПДЙФЕМШУЛЙН ЛБФБМПЗПН (parent directory). ч ДБООПН РТЙНЕТЕ ЛБФБМПЗ papers СЧМСЕФУС ТПДЙФЕМШУЛЙН ДМС ЛБФБМПЗБ notes.
дЕТЕЧП ЛБФБМПЗПЧ
ч ВПМШЫЙОУФЧЕ УЙУФЕН Linux ЙУРПМШЪХЕФУС УФБОДБТФОПЕ ТБУРПМПЦЕОЙЕ ЖБКМПЧ, ФБЛ ЮФП НЕУФПРПМПЦЕОЙЕ ПУОПЧОЩИ УЙУФЕНОЩИ ЖБКМПЧ Й РТПЗТБНН МЕЗЛП ОБКФЙ. лБФБМПЗЙ ПВТБЪХАФ УФТХЛФХТХ Ч ЧЙДЕ ДЕТЕЧБ, ЛПФПТПЕ ОБЮЙОБЕФУС У ЛБФБМПЗБ /. ьФПФ ЛБФБМПЗ ОБЪЩЧБЕФУС ФБЛЦЕ ЛПТОЕЧЩН ЛБФБМПЗПН (root directory). оЕРПУТЕДУФЧЕООП Л ЛБФБМПЗХ / РТЙНЩЛБАФ ЧБЦОЩЕ РПДЛБФБМПЗЙ /bin, /etc, /dev, /usr Й ДТХЗЙЕ. ч УЧПА ПЮЕТЕДШ ЬФЙ ЛБФБМПЗЙ УПДЕТЦБФ ДТХЗЙЕ ЛБФБМПЗЙ, Ч ЛПФПТЩИ ОБИПДСФУС ЛПОЖЙЗХТБГЙПООЩЕ ЖБКМЩ УЙУФЕНЩ, РТПЗТБННЩ ЙљФ.љД.
лБЦДЩК РПМШЪПЧБФЕМШ ЙНЕЕФ УЧПК ДПНБЫОЙК ЛБФБМПЗ (home directory). ьФПФ ЛБФБМПЗ ЧЩДЕМЕО РПМШЪПЧБФЕМА ДМС ИТБОЕОЙС Ч ОЕН УЧПЙИ ЖБКМПЧ. ч РТЙЧЕДЈООЩИ ЧЩЫЕ РТЙНЕТБИ ЧУЕ ЖБКМЩ, ЛПФПТЩЕ УПЪДБМ мБТТЙ (ОБРТЙНЕТ, ЖБКМЩ cheat-sheet Й history-final), УПДЕТЦБФУС Ч ДПНБЫОЕН ЛБФБМПЗЕ РПМШЪПЧБФЕМС larry. пВЩЮОП УПВУФЧЕООЩЕ ЛБФБМПЗЙ РПМШЪПЧБФЕМЕК УПДЕТЦБФУС Ч ЛБФБМПЗЕ /home, Й ОБЪЧБОЙС ЬФЙИ ЛБФБМПЗПЧ УПЧРБДБАФ У ЙНЕОБНЙ РПМШЪПЧБФЕМЕК. фБЛЙН ПВТБЪПН, УПВУФЧЕООЩК ЛБФБМПЗ РПМШЪПЧБФЕМС larry ОБЪЩЧБЕФУС /home/larry.
фЕЛХЭЙК ЛБФБМПЗ
ч МАВПК НПНЕОФ ЧТЕНЕОЙ ПФДБЧБЕНБС ЛПНБОДБ ПФОПУЙФУС Л ФЕЛХЭЕНХ ЛБФБМПЗХ (current directory). рТЙ ЧИПДЕ Ч УЙУФЕНХ ФЕЛХЭЙН ЛБФБМПЗПН ОБЪОБЮБЕФУС ЧБЫ ДПНБЫОЙК ЛБФБМПЗ (Ч ОБЫЕН УМХЮБЕ /home/larry). пВТБЭБСУШ Л ЖБКМХ, НПЦОП ХЛБЪЩЧБФШ ЛБЛ РПМОЩК РХФШ Л ЬФПНХ ЖБКМХ, ФБЛ Й ФПМШЛП РХФШ ПФ ФЕЛХЭЕЗП ЛБФБМПЗБ.
рТЙЧЕДЈН РТЙНЕТ. х РПМШЪПЧБФЕМС larry ЕУФШ ЛБФБМПЗ papers, Й Ч ОЕН ЕУФШ ЖБКМ history-final. еУМЙ мБТТЙ ИПЮЕФ ЧЪЗМСОХФШ, ЮФП ЪБРЙУБОП Ч ЬФПН ЖБКМЕ, ПО НПЦЕФ ЙУРПМШЪПЧБФШ ЛПНБОДХ
лПНБОДБ more РТПУФП ЧЩЧПДЙФ УПДЕТЦЙНПЕ ЖБКМБ ОБ ЬЛТБО РП ПДОПНХ ЬЛТБОХ ЪБ ПДЙО ТБЪ. ч ДБООПН УМХЮБЕ, РПУЛПМШЛХ ФЕЛХЭЙН ЛБФБМПЗПН СЧМСЕФУС /home/larry, РПМШЪПЧБФЕМШ НПЦЕФ ПВТБФЙФШУС Л ЖБКМХ ПФОПУЙФЕМШОП ФЕЛХЭЕЗП ЛБФБМПЗБ Й ПФДБФШ УМЕДХАЭХА ЛПНБОДХ:
еУМЙ ЙНС ЖБКМБ (ОБРТЙНЕТ, papers/final) ОБЮЙОБЕФУС У УЙНЧПМБ, ПФМЙЮОПЗП ПФ /, ФП ЬФП ЪОБЮЙФ, ЮФП Л ЖБКМХ ПВТБЭБАФУС ПФОПУЙФЕМШОП ФЕЛХЭЕЗП ЛБФБМПЗБ. фБЛПК УРПУПВ ПВТБЭЕОЙС ОБЪЩЧБЕФУС ПФОПУЙФЕМШОЩН РХФЈН (relative path).
оБПВПТПФ, ЕУМЙ ЙНС ЖБКМБ ОБЮЙОБЕФУС УП ЪОБЛБ /, ФП УЙУФЕНБ ЙОФЕТРТЕФЙТХЕФ ЬФП ЛБЛ РПМОЩК РХФШ (full path), Ф.љЕ. РХФШ, ЛПФПТЩК ЧЕДЈФ Л ЖБКМХ, ОБЮЙОБС У ЛПТОЕЧПЗП ЛБФБМПЗБ /. ьФП ЕЭЈ ОБЪЩЧБАФ БВУПМАФОЩН РХФЈН (absolute path).
пВТБЭЕОЙЕ Л ДПНБЫОЕНХ ЛБФБМПЗХ
ч ЛПНБОДОЩИ ПВПМПЮЛБИ tcsh Й bash [4] ДПНБЫОЙК ЛБФБМПЗ НПЦОП ПВПЪОБЮБФШ УЙНЧПМПН
ЬЛЧЙЧБМЕОФОБ ФБЛПК ЛПНБОДЕ:
лПНБОДОБС ПВПМПЮЛБ ЪБНЕОСЕФ УЙНЧПМ
ЙНЕОЕН ЧБЫЕЗП ДПНБЫОЕЗП ЛБФБМПЗБ.
) НПЦОП ФБЛЦЕ ПВПЪОБЮБФШ ДПНБЫОЙЕ ЛБФБМПЗЙ ДТХЗЙИ РПМШЪПЧБФЕМЕК. фБЛ, РХФШ
karl/letters ВХДЕФ РТЕПВТБЪПЧБО ПВПМПЮЛПК Ч РХФШ /home/karl/letters, ЕУМЙ /home/karl СЧМСЕФУС ДПНБЫОЙН ЛБФБМПЗПН РПМШЪПЧБФЕМС karl. фБЛЙН ПВТБЪПН, УЙНЧПМ
љ— ЬФП РТПУФП УПЛТБЭЕОЙЕ. оЙ ПДЙО ЛБФБМПЗ ОЕ ОБЪЩЧБЕФУС
Основы Linux от основателя Gentoo. Часть 1 (1/4): BASH, основы навигации
Предисловие
Об этом руководстве
Добро пожаловать в первую из четырех частей обучающего руководства по основам Linux, разработанного чтобы подготовить вас к сдаче экзамена Linux Professional Institute 101. В нем вы познакомитесь с bash (стандартной оболочкой командного интерпретатора в Linux), узнаете о большинстве возможностей таких стандартных команд Linux, как ls, cp и mv, разберетесь в инодах, жестких и символьных ссылках, и многом другом. К концу этого руководства у вас сформируется некий фундамент знаний, и вы будете готовы к изучению основ администрирования Linux. К концу всего курса (8 частей), у вас будет достаточно навыков, чтобы стать системным администратором Linux и пройти сертификацию LPIC Level 1 от Linux Professional Institute, если конечно захотите.
Данная первая часть руководства отлично подходит для новичков в Linux, а также для тех пользователей, кто хочет освежить или улучшить свое понимание фундаментальных концепций Linux, таких, как копирование и перемещение файлов, создание символических и жестких ссылок, а также стандартных команд обработки текста, включая конвейеры и перенаправления. По ходу мы также дадим множество советов, подсказок и трюков, что делает это руководство насыщенным и практичным, даже для тех, кто уже имеет солидный опыт работы с Linux. Для начинающих большая часть этого материала будет новой, но более продвинутые пользователи Linux найдут это руководство отличным средством, чтобы разложить свои фундаментальные навыки по полочкам у себя в голове.
Тем, кто изучал первую версию этого руководства с целью, отличной от подготовки к экзамену LPI, возможно, что вам не нужно его перечитывать. Однако, тем же, кто планирует сдавать экзамены, стоит обязательно просмотреть данную исправленную версию.
Введение в bash
Оболочка
Если вы уже использовали Linux ранее, то наверняка знаете, что после входа в систему вас приветствует приглашение, которое выглядит примерно так:
На практике приглашение, которое вы видите, может немного отличаться. Например, оно может содержать имя хоста, имя текущей рабочей директории, или все вместе. Не зависимо от того, как выглядит ваше приглашение, есть одна несомненная вещь: программа, которая выводит это приглашение, называется оболочка интерпретатора команд (от англ. shell — оболочка, он же командная строка или терминал — прим. пер.), и, вероятнее всего, вашей командной оболочкой будет ‘bash’.
А у вас запущен bash?
Вы можете убедиться, что используете bash, набрав:
Если строчка выше выдает ошибку, или ответ не соответствует, возможно, что вы запустили другую оболочку. В этом случае большая часть этого руководства все еще будет полезна, но было бы значительно лучше для вас переключиться на bash, ради подготовки к экзамену 101.
О bash
Bash — это акроним от Bourne-again-shell, от англ. «ещё-одна-командная-оболочка-Борна» или «рождённая-вновь-командная оболочка» (тут игра слов Bourne/born — прим. пер.), и является оболочкой по умолчанию для большинства Linux-систем. Задача оболочки получать от вас команды, через которые вы взаимодействуете с Linux-системой. После того, как вы закончили ввод команд, вы можете выйти из оболочки (exit) или закончить сеанс (logout), в этом случае вы увидите приглашение входа в систему.
Кстати, вы также можете выйти из оболочки bash нажав control-D в приглашении.
Использование «cd»
Вы только что сообщили bash, что хотите работать в директории /, также известной, как корневая; все директории в системе имеют форму дерева, и / является его вершиной, т.е. корнем (в информатике деревья растут наоборот, корень вверху, а ветки спускаются вниз — прим. пер.). cd устанавливает директорию, в которой вы в данный момент работаете, также известную как «текущая рабочая директория».
Чтобы узнать текущую рабочую директорию в bash нужно набрать:
В примере с cd, аргумент / называется путь. Он сообщает cd куда мы хотим отправиться. В частности, аргумент / это абсолютный путь, что значит, что он задает расположение относительно корня дерева файловой системы.
Абсолютные пути
Ниже несколько из них:
/dev
/usr
/usr/bin
/usr/local/bin
Как можно заметить, у всех абсолютных путей есть одна общая черта, они начинаются с /. Указывая, допустим, /usr/local/bin в качестве аргумента для cd, мы сообщаем, что хотим попасть в / директорию, затем в usr директорию внутри нее, и так далее в local и bin, вниз по дереву. Абсолютные пути всегда отсчитываются начиная от / сперва.
Относительные пути
Другой тип пути называется «относительный путь». bash, cd, и другие команды всегда интерпретируют их относительно текущей директории. Относительные пути НИКОГДА не начинаются с /. Так, если мы сначала переместимся в /usr:
То, затем мы можем использовать относительный путь local/bin, чтобы попасть в директорию /usr/local/bin:
Относительные пути могут также содержать одну или более «..» директории. Директория «..» специальная; она указывает на родительскую директорию. Так, продолжая с примера выше:
Как видно, наша текущая директория теперь /usr/local. Мы смогли переместиться «назад» на одну директорию относительно текущей, где были до того.
Кроме того, мы также можем использовать «..» в существующем относительном пути, позволяющем нам переместиться в директорию «рядом» с той, в которой находимся:
Примеры относительных путей
Относительные пути могут быть чуточку более сложными. Ниже несколько примеров, попробуйте самостоятельно догадаться, где вы окажитесь после набора каждой из этих команд.
А теперь наберите их и проверьте свои предположения. 😉
Перед тем как мы закончим изучение cd, есть несколько моментов, которые необходимо прояснить. Во-первых, есть еще одна специальная директория «.», которая означает «текущая директория». Хотя она и не используется с командой cd, но часто используется для выполнения программы из текущей директории, как в следующем примере:
В данном случае будет запущена исполняемая программа myprog, находящаяся в текущей рабочей директории.
cd и домашняя директория
Если бы мы хотели переместиться в нашу домашнюю директорию, то могли бы набрать:
Без каких либо аргументов cd переместит в вашу домашнюю директорию, которая будет /root для суперпользователя, или обычно /home/username (где username — имя пользователя в системе — прим.пер.) для любого другого пользователя. Но, что если мы хотим указать файл в нашей домашней директории? Может быть мы хотим передать путь к файлу в качестве аргумента нашей программе myprog. Если файл расположен в нашей домашней директории, мы можем набрать:
Однако, использования абсолютного пути вроде этого, не всегда удобно. К счастью, мы можем использовать символ
(тильда), чтобы проделать то же самое:
Другие домашние директории пользователей
Bash воспримет одиночную
как указатель на вашу домашнюю директорию, но вы также можете использовать её для указания на домашние директории других пользователей. Например, если мы хотели сослаться на файл под названием fredsfile.txt в домашней директории пользователя fred, то могли бы набрать:
Об авторах
Daniel Robbins
Дэниэль Роббинс — основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo, написал множество технических статей для IBM developerWorks, Intel Developer Services и C/C++ Users Journal.
Chris Houser
Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure.
Aron Griffis
Эйрон Гриффис живет на территории Бостона, где провел последнее десятилетие работая в Hewlett-Packard над такими проектами, как сетевые UNIX-драйвера для Tru64, сертификация безопасности Linux, Xen и KVM виртуализация, и самое последнее — платформа HP ePrint. В свободное от программирования время Эйрон предпочитает размыщлять над проблемами программирования катаясь на своем велосипеде, жонглируя битами, или болея за бостонскую профессиональную бейсбольную команду «Красные Носки».