Jump to content

Рабочий каталог

(Перенаправлено из текущего рабочего каталога )

В вычислительной технике рабочий каталог процесса это каталог иерархической файловой системы , если таковая имеется. [номер 1] динамически связан с процессом. Иногда его называют текущим рабочим каталогом (CWD) , например BSD. getcwd[1] функция или просто текущий каталог . [2] Когда процесс ссылается на файл, используя простое имя файла или относительный путь (в отличие от файла, обозначенного полным путем от корневого каталога ), ссылка интерпретируется относительно рабочего каталога процесса. Например, процесс с рабочим каталогом /rabbit-shoes который просит создать файл foo.txt в конечном итоге создаст файл /rabbit-shoes/foo.txt.

В операционных системах

[ редактировать ]

В большинстве компьютерных файловых систем в каждом каталоге есть запись (обычно называемая « ."), который указывает на сам каталог.

В большинстве DOS и UNIX командных оболочек , а также в Microsoft Windows интерпретаторах командной строки cmd.exe и Windows PowerShell рабочий каталог можно изменить с помощью команды CD или CHDIR команды . В Unix оболочках pwd команда выводит полный путь к рабочему каталогу; эквивалентная команда в DOS и Windows: CD или CHDIR без аргументов (тогда как в Unix cd использование без аргументов возвращает пользователя в его домашний каталог ).

среды Переменная PWD (в оболочках Unix/Linux) или переменные псевдосреды CD (в Windows COMMAND.COM и cmd.exe , но не в OS/2 и DOS) или _CWD, _CWDS, _CWP и _CWPS (под 4DOS , 4OS2 , 4NT и т.д.) [3] можно использовать в сценариях, поэтому не нужно запускать внешнюю программу. Microsoft Windows Ярлыки файлов имеют возможность хранить рабочий каталог.

COMMAND.COM в DR-DOS 7.02 и выше обеспечивает ECHOS, вариант ECHO команда, опускающая завершающий перевод строки. [4] [3] Это можно использовать для создания временного пакетного задания, сохраняющего рабочий каталог в переменной среды, например CD для дальнейшего использования, например:

ECHOS SET CD=> SETCD.BAT
CHDIR >> SETCD.BAT
CALL SETCD.BAT
DEL SETCD.BAT

Альтернативно, в многопользовательской DOS и DR-DOS 7.02 и выше различные внутренние и внешние команды поддерживают параметр /B (для «Пачки»). [5] Это изменяет вывод команд, чтобы он стал пригодным для прямого ввода в командной строке (при перенаправлении его в пакетный файл) или использования в качестве параметра для других команд (используя его в качестве входных данных для другой команды). Где CHDIR выдаст путь к каталогу, например C:\DOS, команда типа CHDIR /B выдал бы CHDIR C:\DOS вместо этого, чтобы CHDIR /B > RETDIR.BAT создаст временное пакетное задание, позволяющее вернуться в этот каталог позже.

Рабочий каталог также отображается с помощью $P[номер 2] токен PROMPT команда [6] Чтобы приглашение было коротким даже внутри глубоких структур подкаталогов, DR-DOS 7.07 COMMAND.COM поддерживает $W[номер 2] токен для отображения только самого глубокого уровня подкаталога. Итак, где по умолчанию PROMPT $P$G приведет к тому, что C:\DOS> или C:\DOS\DRDOS>, а PROMPT $N:$W$G вместо этого уступил бы C:DOS> и C:DRDOS>, соответственно. Аналогичная установка (с использованием $W и $w был добавлен в 4DOS . ) также [3]

В DOS абсолютные пути к рабочим каталогам всех логических томов хранятся внутри структуры данных, напоминающей массив, называемой текущей структурой каталогов (CDS), которая динамически выделяется во время загрузки для хранения необходимого количества слотов для всех логических томов. диски (или как определено LASTDRIVE ). [7] [8] [9] Эта структура накладывает ограничение на длину полного пути каждого рабочего каталога в 66 символов и, таким образом, неявно ограничивает максимально возможную глубину подкаталогов. [7] DOS Plus и более ранние выпуски DR DOS (вплоть до DR DOS 6.0 , с BDOS 6.7 в 1991 году) не имели такого ограничения. [8] [10] [3] из-за их реализации с использованием эмуляции DOS поверх ядра, производного от Concurrent DOS (и, следовательно, CP / M-86 ), которое внутренне организовывало подкаталоги как относительные ссылки на родительские каталоги, а не как абсолютные пути. [8] [10] Поскольку PalmDOS (с BDOS 7.0) и DR DOS 6.0 (обновление 1992 года с BDOS 7.1) и выше перешли на использование CDS для максимальной совместимости с программами DOS, они столкнулись с теми же ограничениями, что и в других DOS. [8] [10]

В языках программирования

[ редактировать ]

Большинство языков программирования предоставляют интерфейс к функциям файловой системы операционной системы, включая возможность устанавливать (изменять) рабочий каталог программы.

В C функция POSIX языке chdir() вызывает системный вызов , который меняет рабочий каталог. [11] Его аргументом является текстовая строка с путем к новому каталогу, абсолютным или относительным к старому. Там, где это возможно, процесс может вызвать его для установки своего рабочего каталога.

Подобные функции есть и в других языках. Например, в Visual Basic это обычно пишется CHDIR().

В Java рабочий каталог можно получить через команду java.nio.file.Path интерфейс или через java.io.File сорт. Рабочий каталог изменить нельзя. [12]

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ Существуют операционные системы , которые поддерживают иерархическую файловую систему , но не имеют понятия «рабочий каталог»; например, Texas Instruments от DX10 , используемый в серии TI-990 .
  2. ^ Jump up to: а б Точно так же, как $O работает как альтернатива $P под DR-DOS COMMAND.COM , $W имеет псевдоним $Y он подавляется за исключением того, что на дискетах , чтобы избежать критических сообщений об ошибках или задержек при попытке получить путь к невставленной дискете.
  1. ^ getcwd(3)
  2. ^ «Microsoft Windows – функция SetCurrentDirectory» . Майкрософт . Архивировано из оригинала 27 мая 2018 г. Проверено 27 мая 2017 г.
  3. ^ Jump up to: а б с д Братья Хардин; Роусон, Том ; Конн, Рекс К .; Пол, Матиас Р.; Дай, Чарльз Э.; Георгиев, Лучезар И. (27 февраля 2002 г.). Онлайн-справка по 4DOS 8.00 .
  4. ^ DR-DOS 7.03 WHATSNEW.TXT — Изменения с DR-DOS 7.02 на DR-DOS 7.03 . Кальдера, Инк. 24 декабря 1998 г. Архивировано из оригинала 08 апреля 2019 г. Проверено 08 апреля 2019 г.
  5. ^ Интернет-документация CCI Multiuser DOS 7.22 GOLD . Concurrent Controls, Inc. (CCI). 10 февраля 1997 г. ПОМОЩЬ.HLP.
  6. ^ Руководство пользователя Caldera DR-DOS 7.02 . Caldera, Inc. , 1998 г. [1993, 1997]. Архивировано из оригинала 4 ноября 2016 г. Проверено 10 августа 2013 г.
  7. ^ Jump up to: а б Шульман, Эндрю; Браун, Ральф Д .; Макси, Дэвид; Михелс, Раймонд Дж.; Кайл, Джим (1994) [ноябрь 1993 г.]. Недокументированная DOS: Руководство программиста по зарезервированным функциям и структурам данных MS-DOS - расширено и включает MS-DOS 6, Novell DOS и Windows 3.1 (2-е изд.). Ридинг, Массачусетс: Эддисон Уэсли . ISBN  0-201-63287-Х . ISBN   978-0-201-63287-3 . (xviii+856+vi страниц, 3,5-дюймовая дискета) Исправления: [1] [2]
  8. ^ Jump up to: а б с д Пол, Матиас Р. (30 июля 1997 г.) [1 мая 1994 г.]. NWDOS-TIPs — советы и подсказки для Novell DOS 7, с просмотром недокументированных подробностей, ошибок и обходных путей . MPDOSTIP (на немецком языке) (3-е изд.). Архивировано из оригинала 10 сентября 2017 г. Проверено 6 августа 2014 г. (Примечание. NWDOSTIP.TXT — это обширная работа по Novell DOS 7 и OpenDOS 7.01, включая описание многих недокументированных функций и внутренних устройств. Это часть еще более обширной работы автора. MPDOSTIP.ZIP Коллекция сохранялась до 2001 года и в то время распространялась на многих сайтах. Предоставленная ссылка указывает на более старую версию файла, преобразованную в HTML. NWDOSTIP.TXT файл.) [3]
  9. ^ Браун, Ральф Д .; и др., ред. (16 июля 2000 г.). «Список прерываний Ральфа Брауна» (61-е изд.). ИНТЕР61 .
  10. ^ Jump up to: а б с Пол, Матиас Р. (07.06.1997) [апрель 1994 г.]. «Глава 1.3.xi: Слишком длинные пути». NWDOS7UN.TXT — Сводка документированных и недокументированных возможностей Novell DOS 7 . МПДОСТИП (на немецком языке). Архивировано из оригинала 07.11.2016 . Проверено 7 ноября 2016 г.
  11. ^ «Базовые спецификации открытой группы, выпуск 6 и IEEE Std 1003.1» (выпуск 6, изд. 2004 г.). IEEE группа и Открытая . 2004 [2001]. Архивировано из оригинала 9 февраля 2018 г. Проверено 27 мая 2018 г.
  12. ^ «JDK-4045688: добавьте chdir или эквивалентное понятие изменения рабочего каталога» . База данных ошибок . Oracle ( Сан Микросистемс ). 18 августа 2008 г. [17 апреля 1997 г.]. Архивировано из оригинала 19 октября 2017 г. Проверено 20 февраля 2011 г.

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 279d762071e082c886b3b55fd09d1d06__1710210060
URL1:https://arc.ask3.ru/arc/aa/27/06/279d762071e082c886b3b55fd09d1d06.html
Заголовок, (Title) документа по адресу, URL1:
Working directory - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)