Я новичок в Unix и в процессе установки программы для моей диссертации, я, должно быть, играл с PATH для основных команд Unix, таких как ls
. Каждый раз, когда я набираю ls
и имя каталога, для которого я хочу перечислить файлы, оно выглядит так:
-bash: ls: No such file or directory
Что я могу сделать, чтобы это исправить? Любая помощь очень очень ценится!
bash
command-line
ls
path
Mariaa
источник
источник
Ответы:
Сбросьте ваш путь прямо сейчас (т.е. перед любым выходом из системы) с помощью:
Он не восстановит ваш полный PATH, но основные утилиты снова будут доступны.
Вот пример того, что происходит:
У вас была переменная PATH (называемая $ PATH при чтении из нее)
Что-то вроде:
Вы пытались добавить к нему, но вы случайно использовали
вместо
и в результате ваш путь стал
а потом все утилиты вроде ls и sed не работают
Вы можете исправить минимальный набор, выполнив
что особенно полезно, если файлы точек входа в систему портят вашу PATH.
Проверьте ваши файлы .bashrc и / или .bash_profile на наличие любых изменений PATH.
Как говорит Грег, вы также можете просто выйти (или более безопасный вариант, открыть новое окно в случае, если открытие нового окна не работает!), А затем вывести $ PATH из нового окна.
То же самое происходит, когда вы делаете
path=
без значений. Это «стирает» ваш текущий путь и вызывает эти проблемы. Сильный текстЧто касается того , почему , когда у вас есть эти проблемы, cd работает, а ls не работает:
cd
это встроенная команда, которая не нуждается в вашем PATH, чтобы найти программуls
это программа, и нужно использовать PATH, чтобы найти ее.Вы можете увидеть это с:
Нет ошибки означает, что команда является встроенной
Прежде чем «двигаться дальше» (или выйти) ...
Обязательно протестируйте любые изменения (в частности, изменения в .bashrc, .profile и т. Д., Которые выполняют команды установки PATH), открыв новое окно или выполнив source ~ / .bash_profile для его запуска. Также рекомендуется оставлять окно и редактор (когда вы изменяете файл .bash_profile) открытыми на случай, если ваши изменения не сработают и не позволят вам открыть новые окна для редактирования файла. Хотя вы все равно можете использовать TextEdit или другой простой редактор для изменения файла (исключая, например, командную строку и vi). Будьте осторожны, НЕ перезагружайтесь, если / когда ваша оболочка сломана или вы даже не сможете войти в систему. и это действительно очень плохо (без другого аккаунта, чтобы
su
от вас не было). Случилось со мной!Мое исправление «дополнительная учетная запись» было тогда спасением жизни, хотя и очень рекомендованным для всех (сделайте это сейчас!)
источник
source ~/.bash_profile
его. Рекомендуется также держать окно и редактор (где вы изменяете файл .bash_profile) открытыми на случай, если ваши изменения не сработают и не позволят вам открыть новые окна для редактирования файла. Хотя вы все равно можете использовать TextEdit или другой простой редактор для изменения файла.Изменения, которые вы внесли
PATH
, скорее всего, временные. Закройте оболочку, с которой вы находитесь,exit
и снова откройте ее.В случае, если вы отредактировали файл, который устанавливает
PATH
для вновь открытых оболочек, укажите полный путь к командам, чтобы исправить все, что вы изменили (например,/usr/bin/vim
).источник
/usr/bin
или какой-либоbin
каталог в вашем пути? @Mariaa