Я следую указаниям @ Справка сообщества Ubuntu ; Тем не менее, я все еще запутался в нескольких вещах. Я исследовал это и нашел этот пост: используя терминал, чтобы сменить каталог , но он выше меня, и я все еще не уверен, как это сделать. Я новичок и мне нужно дополнительное направление, так что оставайтесь со мной! ;-) Вот скрипт из моего терминала:
christy@ubuntu:~$ ls
Desktop examples.desktop install-tl-unx.tar.gz Pictures Templates
Documents install-pkgs.log libnautilus-gksu.so Projects Videos
Documents install-pkgs.log libnautilus-gksu.so Projects Videos
christy@ubuntu:~$ cd/
bash: cd/: No such file or directory
Как мне сказать, что находится в каком каталоге, и как мне перемещаться по каталогу. Я знаю, что, должно быть, упускаю что-то простое.
command-line
user74713
источник
источник
Ответы:
В вашем сеансе
ls
отображается содержимое текущего каталога (но не скрытые файлы, начинающиеся с точки в имени файла). Вы переходите в другой каталог, печатаяcd dirname
. Здесь вы должны заменить «dirname» на имя каталога, в который вы хотите изменить. Обычно вы начинаете с вашего домашнего каталога в качестве текущего рабочего каталога. В вашем случае это наиболее вероятно/home/christy
. Еслиls
показывает каталог с именем «Шаблон», вы можете перейти в «Шаблон» (= сделать его текущим рабочим каталогом), набрав (обратите внимание на пробел) команду:вы измените свой текущий рабочий каталог на «Шаблоны» или напечатаете «Нет такого файла или каталога», если каталог с таким именем не существует в вашей текущей директории. Печатание
pwd
всегда даст вам полный патч для вашего текущего рабочего каталога, включая родителей.Вы можете предоставить необязательные аргументы для каждой команды. Для
cd
строки «Шаблоны» был такой необязательный аргумент. Если выls -a
наберете, например,ls
команда также распечатает скрытые файлы. Или сls Templates
ним будет печатать содержимое каталога Tempaltes вместо содержимого текущего рабочего каталога. Аргументы должны быть отделены хотя бы одним пробелом от имени команды и друг от друга. Отсутствие пробела между ними было причиной того, что ваша команда не сработала.Поскольку символ пробела имеет особое значение, вам нужно будет заключить его в кавычки или экранировать, если это часть аргумента. Поэтому, если, например, вы хотите изменить текущий рабочий каталог на «Исходные файлы», вам нужно ввести одну из следующих команд:
Верхняя строка «экранирована», а нижняя - «заключена в кавычки».
Если вы хотите узнать больше, лучшее руководство для вас может быть: Введение в Linux ( pdf ) ( html )
Редактировать :
Хорошо, извините, я не увидел вашу ссылку там. Ваш пост немного вводил в заблуждение, теперь я думаю, что я вас понял:
Таким образом, вы хотите установить tex-live из исходного архива, на который есть ссылка в опубликованном вами руководстве «Приступая к работе» . Для этого вы должны сначала удалить все существующие ранее установки tex-live. Вы делаете это, открывая терминал, выполняя это:
В этот момент вы должны ввести свой пароль и будете вознаграждены несколькими скучными сообщениями, которые я здесь опущу. Затем вам нужно будет загрузить архив с именем
install-tl-unx.tar.gz
(вы уже сделали это, и вам не нужно загружать его снова, но я покажу вам, как это сделать на всякий случай):Теперь, когда вы скачали архив, вы можете распаковать его
Теперь, когда вы распаковали архив, вы можете перейти в распакованный каталог.
Число «20120701» - это отметка времени, указывающая, какая у вас версия tex-live. Это число может отличаться для вас, но команда
ls | grep install-t1-
скажет вам, что использовать вместо этого. Если все это работает, вы можете запустить скрипт установки отсюда:С этого момента просто отвечайте на вопросы, которые вам задает скрипт установки, и все будет в порядке.
источник
Резюме (TL; DR)
pwd
чтобы узнать, где вы находитесь (или посмотрите между:
и$
в вашей подсказке).cd
чтобы изменить каталог в другом месте. В отличие от Windows,cd
должны всегда сопровождаться пробелом; Команды вродеcd/
иcd..
не будут работать, но такcd /
иcd ..
будут.Зная, где вы находитесь
Способ 1: Беги
pwd
.В каком каталоге вы находитесь в данный момент, зависит от оболочки (и, в более общем случае, от конкретного приложения). Вы можете запустить одну оболочку, где вы находитесь в одном каталоге, и другую оболочку, где вы находитесь в другом каталоге.
Чтобы узнать, в каком каталоге вы сейчас находитесь, запустите:
Например (из оболочки, которую я сейчас открыл на моей машине):
Это говорит мне, что я в каталоге
/home/ek
./home
это (несколько странно) каталог, содержащий домашние каталоги пользователей-пользователей (сам по себе он не является домашним каталогом любого пользователя). У человека-пользователяusername
есть домашний каталог ./home/username
У
root
пользователя нет домашнего каталога в/home
. Вместо этого,root
домашний каталог есть/root
. Это не следует путать с корневым каталогом , который является/
.Способ 2: Изучите вашу подсказку.
Конфигурация вашего приглашения по умолчанию состоит в том, что он сообщает вам, в каком каталоге вы сейчас находитесь. Ваше приглашение - это текст, который уведомляет вас о том, что оболочка готова принять команду.
В примере, который вы показали нам в своем вопросе, ваша подсказка:
christy
это ваше имя пользователя. Символ@
отделяет его от имениubuntu
вашего компьютера. (Если вы работаете с живым CD, его именем хоста будетubuntu
, и некоторые люди выбирают его в качестве имени своего компьютера во время установки.)Символ
:
отделяет его от имени каталога, в котором вы сейчас находитесь. В данном случае это обозначается как~
.~
является сокращением для вашего домашнего каталога. Когда вы не в своем домашнем каталоге, вы должны увидеть полное имя каталога. Например:(Чтобы закончить, что означает каждая часть приглашения: для приглашений, которые следуют этому соглашению, появляется
$
либо#
символ , либо символ.$
, Как в данном случае, означает, что это обычная пользовательская оболочка.#
Символ будет означать, что этоroot
оболочка.)Изменение где вы находитесь
Почему ваша команда "CD" не работает.
Чтобы изменить каталог, используйте
cd
команду.Вы бежали
cd/
. Это не работает, потому что вы на самом деле не запускалиcd
команду. В Ubuntu и других Unix-подобных операционных системах (фактически, в оболочках в стиле Unix, напримерbash
, используемой вами оболочке), считается , что имя команды заканчивается только пробелом или концом строки.Таким образом, в отличие от командной строки в Windows (где
cd\
интерпретируется так же, какcd \
иcd..
интерпретируется так же, какcd ..
), вbash
(оболочка, которую вы используете в Ubuntu),cd/
не является допустимой командой. Вы должны использоватьcd /
.cd/
означает «запись в текущем каталоге, имяcd
которой также является каталогом». Независимо от того, существует ли такой подкаталог, он не может быть запущен как команда, поэтому в любом случае вы получите ошибку (хотя полученная ошибка будет отличаться):Переезд в ваш домашний каталог
Чтобы перейти в домашнюю директорию, запустите
cd
ее без аргументов:Некоторые люди предпочитают называть свой домашний каталог явно. Вы можете использовать его полное имя или
Но
cd
само по себе достаточно.Перемещение вверх на один каталог
Чтобы изменить каталог на родительский каталог текущего каталога (т. Е. Каталог , в котором он находится), используйте:
..
представляет родительский каталог текущего каталога. Если вы находитесь в корневом каталоге (/
), есть исключение:..
просто представляет/
. Таким образом, выполнениеcd ..
перемещается вверх на один каталог при запуске в любом месте, кроме/
; при запуске в/
, вы остаетесь в/
.Каждый каталог содержит
..
запись. Все они также содержат.
запись, которая ссылается на текущий каталог. Это не очень бежать,cd .
хотя. Ты всегда остаешься там, где ты есть.Абсолютные и относительные пути
Если вы
cd
к чему-то, что не начинается с/
, то он пытается перейти в этот каталог в текущем каталоге .Например, если вы бежали
Затем он попытается перейти в
var
подкаталог того места, где вы сейчас находитесь, и вlog
подкаталог этого. Если оба не существуют, и в тех местах, этаcd
команда не будет выполнена (и вы останетесь там, где вы были изначально).Если вы хотите перейти в
log
подкаталогvar
подкаталога корневого каталога , запустите вместо этого:Только если вы в настоящее время
/
являетсяcd var/log
эквивалентноcd /var/log
.Путь, который начинается с,
/
является абсолютным. Способ его решения не зависит от того, где вы находитесь в данный момент.Путь
~
тоже абсолютен, потому что он (по сути) сокращен для$HOME
.HOME
является переменной среды , и выражение$HOME
раскрывается до полного абсолютного пути к домашнему каталогу текущего пользователя.~
нотация также может использоваться для представления домашнего каталога другого пользователя. Если вы пишете , это представляет домашний каталог.~username
username
Возвращение туда, где вы были раньше
Каталог, в котором вы сейчас находитесь, хранится в
PWD
переменной окружения. Последний каталог , который вы были хранится вOLDPWD
переменной окружения. Вы можете посмотреть такOLDPWD
же, как любую переменную среды:Поскольку эта информация хранится,
cd
она может иметь специальный, быстрый и простой способ вернуться туда, где вы были раньше. Как говорит pst007x , чтобы перейти к последнему каталогу, в котором вы были, выполните:Если в этой оболочке никогда не было более раннего каталога, в котором вы находились ,
OLDPWD
переменная окружения не будет установлена, и попытка ее выполненияcd -
приведет к ошибке (и вы останетесь там, где находитесь):Смена места, где ты, как босс
pushd
иpopd
: стек каталоговПредставьте себе стек имен каталогов. Под стеком я подразумеваю что-то, когда при добавлении чего-либо оно идет сверху, и вы можете удалить только одну вещь за раз, а то, что вы удаляете, всегда является тем, что в данный момент находится сверху.
Вы можете поместить любой каталог
dir
в стек, выполнив:Если вы хотите поместить текущий каталог в верхнюю часть стека, вы можете использовать его
.
(который, как описано выше, всегда представляет текущий каталог):Затем вы можете заниматься своими делами, меняя каталоги так, как вам нравится. Если вы хотите вернуться к последнему каталогу, который вы поместили в стек
pushd
, выполните:Это идет в этот каталог, а также выталкивает его из стека. Теперь стек на один каталог короче. Если это был единственный каталог в стеке, то стек теперь пуст.
Вы можете иметь размер стека больше 1. То есть вы можете использовать отдельные
pushd
команды, чтобы поместить несколько каталогов в стек. Каждая последующаяpopd
команда будет идти (и извлекать, т. Е. Удалять из стека ) самого последнего отправленного каталога, который еще не извлечен.Вот пример:
pushd
иpopd
используются гораздо реже, чемcd
. Они также имеют другое, даже более продвинутое использование. Запуститеhelp pushd
иhelp popd
для деталей.Узнать больше и получить доступ к документации
cd
иpwd
имейте более продвинутые использования также. Чтобы узнать о них, бегиhelp cd
иman pwd
.help
для встроенных оболочек .man
предназначен для автономных команд - команд, которые выполняются как отдельные процессы и существуют как отдельные исполняемые файлы. Командаtype
показывает, является ли команда встроенной в оболочку или нет, и, если нет, где находится программа, в которой она выполняется. Например, вы могли бы работатьtype help
,type type
илиtype man
.источник
Например:
cd Desktop/
Переходит в каталог рабочего стола, если вы находитесь в вашем домашнем каталоге.cd -
Возвращается к предыдущему каталогу.cd /
Перенесем вас в корневой каталог.cd ~/Desktop
Перенесет вас в каталог рабочего стола, где бы вы ни находились.источник