[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/zsh-installation-configuration":3,"mdc--otfcdz-key":1120,"mdc--ktpvkz-key":1131,"mdc--e6gfe7-key":1154,"mdc-n5pxq9-key":1162,"mdc-q8mura-key":1179,"mdc--2yy8fh-key":1195,"mdc-p7gvzu-key":1211,"mdc--7y70p0-key":1219,"mdc-uj7dw0-key":1227,"related-/guides/linux/customize-bash-prompt,/guides/linux/tmux-basics,/errors/linux/zsh-command-not-found":1242},{"id":4,"title":5,"appliesTo":6,"author":12,"body":13,"canonical":1051,"code":1051,"createdAt":1052,"description":1053,"difficulty":1054,"draft":1055,"estimatedTime":1056,"extension":1057,"faq":1058,"howToSteps":1071,"howToTotalTime":1087,"image":1051,"keywords":1088,"locale":1099,"meta":1100,"navigation":1101,"path":1102,"platform":1103,"related":1104,"section":1108,"seo":1109,"severity":1051,"stem":1110,"summary":1111,"tags":1112,"twitterCreator":1051,"twitterSite":1051,"type":1118,"updatedAt":1052,"__hash__":1119},"content_ru/guides/linux/zsh-installation-configuration.md","Установка и настройка Zsh на Linux: полное руководство",[7,8,9,10,11],"Ubuntu 22.04+","Debian 11+","Fedora 35+","Arch Linux","Any Linux with package manager","FixPedia Team",{"type":14,"value":15,"toc":1027},"minimark",[16,21,30,49,53,56,104,108,111,116,159,164,182,187,205,210,226,229,242,249,253,256,280,301,307,320,326,330,333,358,361,379,390,394,401,421,432,449,452,466,472,477,483,487,505,510,528,538,541,545,555,628,633,693,707,711,717,730,733,737,794,798,801,818,821,847,851,858,868,887,891,899,905,912,931,935,942,958,962,979,1023],[17,18,20],"h2",{"id":19},"введение-зачем-это-нужно","Введение / Зачем это нужно",[22,23,24,25,29],"p",{},"Zsh (Z shell) — это современная, расширяемая оболочка командной строки, которая предлагает мощные возможности по сравнению с стандартным Bash: улучшенное автодополнение, тему оформления, плагины и более удобную навигацию по истории. Установка Zsh с менеджером конфигураций ",[26,27,28],"strong",{},"Oh My Zsh"," превратит ваш терминал в продуктивную среду для разработки и администрирования. После выполнения этого гайда вы получите:",[31,32,33,37,40,43,46],"ul",{},[34,35,36],"li",{},"Быстрое автодополнение команд, путей и аргументов.",[34,38,39],{},"Цветовое выделение синтаксиса в реальном времени.",[34,41,42],{},"Интеграцию с Git (показ ветки, статуса).",[34,44,45],{},"Готовые плагины для Docker, Kubernetes, Python и других инструментов.",[34,47,48],{},"Красивые и информативные темы оформления.",[17,50,52],{"id":51},"требования-подготовка","Требования / Подготовка",[22,54,55],{},"Перед началом убедитесь, что:",[57,58,59,62,77,94],"ol",{},[34,60,61],{},"У вас есть доступ к терминалу Linux с правами sudo (для установки пакетов).",[34,63,64,65,69,70,69,73,76],{},"Дистрибутив поддерживает пакетный менеджер (",[66,67,68],"code",{},"apt",", ",[66,71,72],{},"dnf",[66,74,75],{},"pacman"," и т.д.).",[34,78,79,80,69,83,86,87,69,90,93],{},"Вы знакомы с базовыми командами (",[66,81,82],{},"cd",[66,84,85],{},"nano","/",[66,88,89],{},"vim",[66,91,92],{},"git",").",[34,95,96,99,100,103],{},[26,97,98],{},"Рекомендуется",": создайте резервную копию текущего файла ",[66,101,102],{},"~/.bashrc",", если хотите сохранить настройки Bash.",[17,105,107],{"id":106},"шаг-1-установите-zsh","Шаг 1: Установите Zsh",[22,109,110],{},"Zsh доступен в репозиториях всех популярных дистрибутивов. Выберите команду для вашей системы:",[22,112,113],{},[26,114,115],{},"Ubuntu/Debian:",[117,118,123],"pre",{"className":119,"code":120,"language":121,"meta":122,"style":122},"language-bash shiki shiki-themes github-light github-dark","sudo apt update && sudo apt install zsh -y\n","bash","",[66,124,125],{"__ignoreMap":122},[126,127,130,134,138,141,145,147,149,152,155],"span",{"class":128,"line":129},"line",1,[126,131,133],{"class":132},"sScJk","sudo",[126,135,137],{"class":136},"sZZnC"," apt",[126,139,140],{"class":136}," update",[126,142,144],{"class":143},"sVt8B"," && ",[126,146,133],{"class":132},[126,148,137],{"class":136},[126,150,151],{"class":136}," install",[126,153,154],{"class":136}," zsh",[126,156,158],{"class":157},"sj4cs"," -y\n",[22,160,161],{},[26,162,163],{},"Fedora/RHEL/CentOS:",[117,165,167],{"className":119,"code":166,"language":121,"meta":122,"style":122},"sudo dnf install zsh -y\n",[66,168,169],{"__ignoreMap":122},[126,170,171,173,176,178,180],{"class":128,"line":129},[126,172,133],{"class":132},[126,174,175],{"class":136}," dnf",[126,177,151],{"class":136},[126,179,154],{"class":136},[126,181,158],{"class":157},[22,183,184],{},[26,185,186],{},"Arch Linux:",[117,188,190],{"className":119,"code":189,"language":121,"meta":122,"style":122},"sudo pacman -S zsh\n",[66,191,192],{"__ignoreMap":122},[126,193,194,196,199,202],{"class":128,"line":129},[126,195,133],{"class":132},[126,197,198],{"class":136}," pacman",[126,200,201],{"class":157}," -S",[126,203,204],{"class":136}," zsh\n",[22,206,207],{},[26,208,209],{},"openSUSE:",[117,211,213],{"className":119,"code":212,"language":121,"meta":122,"style":122},"sudo zypper install zsh\n",[66,214,215],{"__ignoreMap":122},[126,216,217,219,222,224],{"class":128,"line":129},[126,218,133],{"class":132},[126,220,221],{"class":136}," zypper",[126,223,151],{"class":136},[126,225,204],{"class":136},[22,227,228],{},"После установки проверьте версию:",[117,230,232],{"className":119,"code":231,"language":121,"meta":122,"style":122},"zsh --version\n",[66,233,234],{"__ignoreMap":122},[126,235,236,239],{"class":128,"line":129},[126,237,238],{"class":132},"zsh",[126,240,241],{"class":157}," --version\n",[22,243,244,245,248],{},"Ожидаемый вывод: ",[66,246,247],{},"zsh 5.9"," (или новее).",[17,250,252],{"id":251},"шаг-2-сделайте-zsh-оболочкой-по-умолчанию","Шаг 2: Сделайте Zsh оболочкой по умолчанию",[22,254,255],{},"Чтобы Zsh запускалась при каждом открытии терминала, измените оболочку для текущего пользователя:",[117,257,259],{"className":119,"code":258,"language":121,"meta":122,"style":122},"chsh -s $(which zsh)\n",[66,260,261],{"__ignoreMap":122},[126,262,263,266,269,272,275,277],{"class":128,"line":129},[126,264,265],{"class":132},"chsh",[126,267,268],{"class":157}," -s",[126,270,271],{"class":143}," $(",[126,273,274],{"class":157},"which",[126,276,154],{"class":136},[126,278,279],{"class":143},")\n",[281,282,283],"blockquote",{},[22,284,285,286,289,290,293,294,297,298,300],{},"⚠️ ",[26,287,288],{},"Важно",": ",[66,291,292],{},"which zsh"," возвращает путь к исполняемому файлу (обычно ",[66,295,296],{},"/usr/bin/zsh","). Команда ",[66,299,265],{}," требует ввода пароля.",[22,302,303,306],{},[26,304,305],{},"Проверка",": Закройте и откройте терминал заново или выполните:",[117,308,310],{"className":119,"code":309,"language":121,"meta":122,"style":122},"echo $SHELL\n",[66,311,312],{"__ignoreMap":122},[126,313,314,317],{"class":128,"line":129},[126,315,316],{"class":157},"echo",[126,318,319],{"class":143}," $SHELL\n",[22,321,322,323,325],{},"Вывод должен быть: ",[66,324,296],{},".",[17,327,329],{"id":328},"шаг-3-установите-oh-my-zsh-опционально-но-рекомендуется","Шаг 3: Установите Oh My Zsh (опционально, но рекомендуется)",[22,331,332],{},"Oh My Zsh — это фреймворк для управления конфигурацией Zsh. Он автоматически устанавливает плагины и темы.",[117,334,336],{"className":119,"code":335,"language":121,"meta":122,"style":122},"sh -c \"$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)\"\n",[66,337,338],{"__ignoreMap":122},[126,339,340,343,346,349,352,355],{"class":128,"line":129},[126,341,342],{"class":132},"sh",[126,344,345],{"class":157}," -c",[126,347,348],{"class":136}," \"$(",[126,350,351],{"class":132},"curl",[126,353,354],{"class":157}," -fsSL",[126,356,357],{"class":136}," https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)\"\n",[22,359,360],{},"Процесс:",[57,362,363,369,376],{},[34,364,365,366,325],{},"Скрипт клонирует репозиторий в ",[66,367,368],{},"~/.oh-my-zsh",[34,370,371,372,375],{},"Создаст резервную копию вашего текущего ",[66,373,374],{},"~/.zshrc"," (если есть) и запишет базовый конфиг.",[34,377,378],{},"Предложит изменить оболочку на Zsh (если вы ещё не сделали этого).",[281,380,381],{},[22,382,383,384,387,388,325],{},"💡 ",[26,385,386],{},"Совет",": Если вы уже установили Zsh и сделали её оболочкой по умолчанию, скрипт просто настроит ",[66,389,374],{},[17,391,393],{"id":392},"шаг-4-настройте-тему-оформления","Шаг 4: Настройте тему оформления",[22,395,396,397,400],{},"Тема определяет внешний вид приглашения командной строки (",[66,398,399],{},"prompt","). Популярные варианты:",[31,402,403,409,415],{},[34,404,405,408],{},[66,406,407],{},"robbyrussell"," (по умолчанию) — минималистичная, показывает Git-статус.",[34,410,411,414],{},[66,412,413],{},"agnoster"," — информативная, требует шрифт с поддержкой Powerline.",[34,416,417,420],{},[66,418,419],{},"avit"," — компактная, показывает время и путь.",[22,422,423,424,427,428,431],{},"Откройте ",[66,425,426],{},"~/.zshshrc"," в редакторе (например, ",[66,429,430],{},"nano ~/.zshrc",") и найдите строку:",[117,433,435],{"className":119,"code":434,"language":121,"meta":122,"style":122},"ZSH_THEME=\"robbyrussell\"\n",[66,436,437],{"__ignoreMap":122},[126,438,439,442,446],{"class":128,"line":129},[126,440,441],{"class":143},"ZSH_THEME",[126,443,445],{"class":444},"szBVR","=",[126,447,448],{"class":136},"\"robbyrussell\"\n",[22,450,451],{},"Измените значение на желаемую тему, например:",[117,453,455],{"className":119,"code":454,"language":121,"meta":122,"style":122},"ZSH_THEME=\"agnoster\"\n",[66,456,457],{"__ignoreMap":122},[126,458,459,461,463],{"class":128,"line":129},[126,460,441],{"class":143},[126,462,445],{"class":444},[126,464,465],{"class":136},"\"agnoster\"\n",[22,467,468,469,325],{},"Список всех встроенных тем: ",[66,470,471],{},"~/.oh-my-zsh/themes/",[473,474,476],"h3",{"id":475},"установка-шрифта-для-тем-powerline-если-нужно","Установка шрифта для тем Powerline (если нужно)",[22,478,479,480,482],{},"Темы вроде ",[66,481,413],{}," используют специальные символы. Установите шрифт Nerd Fonts:",[22,484,485],{},[26,486,115],{},[117,488,490],{"className":119,"code":489,"language":121,"meta":122,"style":122},"sudo apt install fonts-powerline -y\n",[66,491,492],{"__ignoreMap":122},[126,493,494,496,498,500,503],{"class":128,"line":129},[126,495,133],{"class":132},[126,497,137],{"class":136},[126,499,151],{"class":136},[126,501,502],{"class":136}," fonts-powerline",[126,504,158],{"class":157},[22,506,507],{},[26,508,509],{},"Fedora:",[117,511,513],{"className":119,"code":512,"language":121,"meta":122,"style":122},"sudo dnf install powerline-fonts -y\n",[66,514,515],{"__ignoreMap":122},[126,516,517,519,521,523,526],{"class":128,"line":129},[126,518,133],{"class":132},[126,520,175],{"class":136},[126,522,151],{"class":136},[126,524,525],{"class":136}," powerline-fonts",[126,527,158],{"class":157},[22,529,530,531,534,535,325],{},"Затем настройте терминал (например, GNOME Terminal) на использование шрифта ",[66,532,533],{},"DejaVu Sans Mono for Powerline"," или ",[66,536,537],{},"FiraCode Nerd Font",[539,540],"in-article-ad",{},[17,542,544],{"id":543},"шаг-5-добавьте-плагины-для-расширения-функциональности","Шаг 5: Добавьте плагины для расширения функциональности",[22,546,547,548,550,551,554],{},"Плагины Oh My Zsh добавляют команды и автодополнение для конкретных технологий. В том же файле ",[66,549,374],{}," найдите массив ",[66,552,553],{},"plugins"," и добавьте нужные:",[117,556,558],{"className":119,"code":557,"language":121,"meta":122,"style":122},"plugins=(\n  git\n  docker\n  kubectl\n  python\n  pip\n  sudo\n  z\n  history-substring-search\n  syntax-highlighting\n)\n",[66,559,560,569,575,581,587,593,599,605,611,617,623],{"__ignoreMap":122},[126,561,562,564,566],{"class":128,"line":129},[126,563,553],{"class":143},[126,565,445],{"class":444},[126,567,568],{"class":143},"(\n",[126,570,572],{"class":128,"line":571},2,[126,573,574],{"class":136},"  git\n",[126,576,578],{"class":128,"line":577},3,[126,579,580],{"class":136},"  docker\n",[126,582,584],{"class":128,"line":583},4,[126,585,586],{"class":136},"  kubectl\n",[126,588,590],{"class":128,"line":589},5,[126,591,592],{"class":136},"  python\n",[126,594,596],{"class":128,"line":595},6,[126,597,598],{"class":136},"  pip\n",[126,600,602],{"class":128,"line":601},7,[126,603,604],{"class":136},"  sudo\n",[126,606,608],{"class":128,"line":607},8,[126,609,610],{"class":136},"  z\n",[126,612,614],{"class":128,"line":613},9,[126,615,616],{"class":136},"  history-substring-search\n",[126,618,620],{"class":128,"line":619},10,[126,621,622],{"class":136},"  syntax-highlighting\n",[126,624,626],{"class":128,"line":625},11,[126,627,279],{"class":143},[22,629,630],{},[26,631,632],{},"Описание ключевых плагинов:",[31,634,635,656,666,675,687],{},[34,636,637,639,640,642,643,646,647,69,650,646,653,93],{},[66,638,92],{}," — сокращения для ",[66,641,92],{}," (",[66,644,645],{},"gco"," = ",[66,648,649],{},"git checkout",[66,651,652],{},"gcm",[66,654,655],{},"git commit",[34,657,658,661,662,665],{},[66,659,660],{},"docker"," / ",[66,663,664],{},"kubectl"," — автодополнение для контейнеров и Kubernetes.",[34,667,668,671,672,93],{},[66,669,670],{},"z"," — быстрая навигация по часто используемым директориям (",[66,673,674],{},"z \u003Cпапка>",[34,676,677,680,681,86,684,93],{},[66,678,679],{},"history-substring-search"," — поиск по истории команд (введите часть команды и нажмите ",[66,682,683],{},"↑",[66,685,686],{},"↓",[34,688,689,692],{},[66,690,691],{},"syntax-highlighting"," — подсветка синтаксиса при вводе (ошибки красным, корректные — зелёным).",[281,694,695],{},[22,696,285,697,699,700,702,703,706],{},[26,698,288],{},": Плагин ",[66,701,691],{}," должен быть ",[26,704,705],{},"последним"," в списке. Oh My Zsh автоматически подключает его, если он установлен.",[17,708,710],{"id":709},"шаг-6-примените-изменения-и-проверьте-работу","Шаг 6: Примените изменения и проверьте работу",[22,712,713,714,716],{},"После редактирования ",[66,715,374],{}," выполните:",[117,718,720],{"className":119,"code":719,"language":121,"meta":122,"style":122},"source ~/.zshrc\n",[66,721,722],{"__ignoreMap":122},[126,723,724,727],{"class":128,"line":129},[126,725,726],{"class":157},"source",[126,728,729],{"class":136}," ~/.zshrc\n",[22,731,732],{},"Или перезапустите терминал.",[473,734,736],{"id":735},"что-проверить","Что проверить:",[57,738,739,745,759,785],{},[34,740,741,744],{},[26,742,743],{},"Тема",": Приглашение командной строки изменилось (показывает ветку Git, если вы в репозитории).",[34,746,747,750,751,754,755,758],{},[26,748,749],{},"Автодополнение",": Введите ",[66,752,753],{},"docker "," и нажмите ",[66,756,757],{},"Tab"," — должны появиться подкоманды.",[34,760,761,764,765],{},[26,762,763],{},"Плагины",":\n",[31,766,767,776],{},[34,768,769,772,773,325],{},[66,770,771],{},"z Documents"," — перейдёт в папку ",[66,774,775],{},"Documents",[34,777,778,781,782,325],{},[66,779,780],{},"git status"," → можно сократить до ",[66,783,784],{},"gst",[34,786,787,750,790,793],{},[26,788,789],{},"Подсветка синтаксиса",[66,791,792],{},"ls /nonexistent"," — путь должен подсветиться красным.",[17,795,797],{"id":796},"проверка-результата","Проверка результата",[22,799,800],{},"Успешная настройка подтверждается:",[31,802,803,806,809,812],{},[34,804,805],{},"Приглашение командной строки отображает информацию (ветка Git, путь, время — в зависимости от темы).",[34,807,808],{},"Автодополнение работает без задержек.",[34,810,811],{},"Плагины добавляют сокращения и команды.",[34,813,814,815,93],{},"Нет ошибок при запуске (сообщения вида ",[66,816,817],{},"zsh: command not found: ...",[22,819,820],{},"Дополнительно проверьте:",[117,822,824],{"className":119,"code":823,"language":121,"meta":122,"style":122},"echo $ZSH_VERSION  # Должна показать версию Zsh\necho $ZSH          # Должна показать путь к Oh My Zsh (~/.oh-my-zsh)\n",[66,825,826,837],{"__ignoreMap":122},[126,827,828,830,833],{"class":128,"line":129},[126,829,316],{"class":157},[126,831,832],{"class":143}," $ZSH_VERSION  ",[126,834,836],{"class":835},"sJ8bj","# Должна показать версию Zsh\n",[126,838,839,841,844],{"class":128,"line":571},[126,840,316],{"class":157},[126,842,843],{"class":143}," $ZSH          ",[126,845,846],{"class":835},"# Должна показать путь к Oh My Zsh (~/.oh-my-zsh)\n",[17,848,850],{"id":849},"возможные-проблемы","Возможные проблемы",[473,852,854,855,857],{"id":853},"ошибка-zsh-command-not-found-после-установки-плагина","Ошибка: ",[66,856,817],{}," после установки плагина",[22,859,860,863,864,867],{},[26,861,862],{},"Причина",": Плагин не загружен или не установлен.\n",[26,865,866],{},"Решение",":",[57,869,870,875,881],{},[34,871,872,873,325],{},"Убедитесь, что имя плагина написано верно в ",[66,874,374],{},[34,876,877,878,325],{},"Проверьте, что плагин существует в ",[66,879,880],{},"~/.oh-my-zsh/plugins/",[34,882,883,884,325],{},"Перезагрузите конфиг: ",[66,885,886],{},"source ~/.zshrc",[473,888,890],{"id":889},"тема-отображается-некорректно-кракозябры-пропущенные-символы","Тема отображается некорректно (кракозябры, пропущенные символы)",[22,892,893,895,896,898],{},[26,894,862],{},": Шрифт не поддерживает Powerline-символы.\n",[26,897,866],{},": Установите Nerd Font или Powerline Fonts и настройте терминал на его использование.",[473,900,902,903],{"id":901},"zsh-не-стала-оболочкой-по-умолчанию-после-chsh","Zsh не стала оболочкой по умолчанию после ",[66,904,265],{},[22,906,907,909,910,867],{},[26,908,862],{},": Не перезашли в терминал или путь к Zsh неверный.\n",[26,911,866],{},[57,913,914,922,925],{},[34,915,916,917,919,920,93],{},"Проверьте путь: ",[66,918,292],{}," (обычно ",[66,921,296],{},[34,923,924],{},"Перезайдите в учётную запись или перезагрузитесь.",[34,926,927,928,325],{},"Проверьте: ",[66,929,930],{},"echo $SHELL",[473,932,934],{"id":933},"медленная-загрузка-zsh-задержка-1-сек","Медленная загрузка Zsh (задержка >1 сек)",[22,936,937,939,940,867],{},[26,938,862],{},": Слишком много плагинов или тяжёлая тема.\n",[26,941,866],{},[57,943,944,949,952],{},[34,945,946,947,93],{},"Упростите тему (выберите ",[66,948,407],{},[34,950,951],{},"Уменьшите список плагинов.",[34,953,954,955,957],{},"Отключите тяжёлые плагины (например, ",[66,956,679],{}," может замедлять поиск).",[473,959,961],{"id":960},"конфликт-с-другими-менеджерами-конфигураций-например-prezto","Конфликт с другими менеджерами конфигураций (например, Prezto)",[22,963,964,966,967,969,970,972,973,975,976,978],{},[26,965,862],{},": Два фреймворка управляют ",[66,968,374],{},".\n",[26,971,866],{},": Удалите один из них. Для Oh My Zsh: удалите папку ",[66,974,368],{}," и создайте чистый ",[66,977,374],{}," вручную.",[117,980,982],{"className":119,"code":981,"language":121,"meta":122,"style":122},"rm -rf ~/.oh-my-zsh\necho \"export ZSH=\\\"\\$HOME/.oh-my-zsh\\\"\" > ~/.zshrc  # Пример минимального конфига\n",[66,983,984,995],{"__ignoreMap":122},[126,985,986,989,992],{"class":128,"line":129},[126,987,988],{"class":132},"rm",[126,990,991],{"class":157}," -rf",[126,993,994],{"class":136}," ~/.oh-my-zsh\n",[126,996,997,999,1002,1005,1008,1011,1014,1017,1020],{"class":128,"line":571},[126,998,316],{"class":157},[126,1000,1001],{"class":136}," \"export ZSH=",[126,1003,1004],{"class":157},"\\\"\\$",[126,1006,1007],{"class":136},"HOME/.oh-my-zsh",[126,1009,1010],{"class":157},"\\\"",[126,1012,1013],{"class":136},"\"",[126,1015,1016],{"class":444}," >",[126,1018,1019],{"class":136}," ~/.zshrc",[126,1021,1022],{"class":835},"  # Пример минимального конфига\n",[1024,1025,1026],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":122,"searchDepth":571,"depth":571,"links":1028},[1029,1030,1031,1032,1033,1034,1037,1038,1041,1042],{"id":19,"depth":571,"text":20},{"id":51,"depth":571,"text":52},{"id":106,"depth":571,"text":107},{"id":251,"depth":571,"text":252},{"id":328,"depth":571,"text":329},{"id":392,"depth":571,"text":393,"children":1035},[1036],{"id":475,"depth":577,"text":476},{"id":543,"depth":571,"text":544},{"id":709,"depth":571,"text":710,"children":1039},[1040],{"id":735,"depth":577,"text":736},{"id":796,"depth":571,"text":797},{"id":849,"depth":571,"text":850,"children":1043},[1044,1046,1047,1049,1050],{"id":853,"depth":577,"text":1045},"Ошибка: zsh: command not found: ... после установки плагина",{"id":889,"depth":577,"text":890},{"id":901,"depth":577,"text":1048},"Zsh не стала оболочкой по умолчанию после chsh",{"id":933,"depth":577,"text":934},{"id":960,"depth":577,"text":961},null,"2026-02-16 20:08:53","Пошаговая инструкция по установке Zsh, настройке Oh My Zsh и кастомизации в Linux. Улучшите терминал за 15 минут с темами, плагинами и автодополнением.","easy",false,"10-20 мин","md",[1059,1062,1065,1068],{"question":1060,"answer":1061},"Zsh и Bash — в чём разница и стоит ли переходить?","Zsh предлагает более продвинутые функции: улучшенное автодополнение, тему оформления, плагины и более удобную историю команд. Для повседневной работы и разработки Zsh обычно удобнее.",{"question":1063,"answer":1064},"Что делать, если после установки Zsh не становится оболочкой по умолчанию?","Запустите команду `chsh -s $(which zsh)`, затем перезайдите в терминал или перезагрузитесь. Проверьте текущую оболочку командой `echo $SHELL`.",{"question":1066,"answer":1067},"Можно ли использовать Zsh без Oh My Zsh?","Да, можно настраивать вручную через файл ~/.zshrc. Oh My Zsh упрощает управление темами и плагинами, но добавляет небольшую нагрузку на запуск.",{"question":1069,"answer":1070},"Как вернуться к Bash, если Zsh не нравится?","Выполните `chsh -s $(which bash)` и перезайдите. Удалить Oh My Zsh можно, удалив папку ~/.oh-my-zsh и очистив ~/.zshrc.",[1072,1075,1078,1081,1084],{"name":1073,"text":1074},"Проверьте текущую оболочку и установите Zsh","Узнайте, какая оболочка используется сейчас (`echo $SHELL`), затем установите Zsh через менеджер пакетов вашего дистрибутива.",{"name":1076,"text":1077},"Сделайте Zsh оболочкой по умолчанию","Используйте `chsh -s $(which zsh)`, чтобы изменить оболочку для текущего пользователя.",{"name":1079,"text":1080},"Установите Oh My Zsh (опционально)","Склонируйте репозиторий Oh My Zsh для автоматической настройки тем и плагинов.",{"name":1082,"text":1083},"Настройте тему и плагины","Отредактируйте ~/.zshrc, выбрав тему из каталога и подключив нужные плагины (git, docker, syntax-highlighting).",{"name":1085,"text":1086},"Примените изменения и проверьте работу","Выполните `source ~/.zshrc` или перезапустите терминал, чтобы увидеть новый интерфейс.","PT15M",[1089,1090,1091,1092,1093,1094,1095,1096,1097,1098],"установка zsh linux","настройка oh my zsh","zsh vs bash","как сменить оболочку linux","установка zsh ubuntu","установка zsh fedora","настройка терминала zsh","oh my zsh themes","zsh plugins","ошибка zsh command not found","ru_RU",{},true,"/guides/linux/zsh-installation-configuration","linux",[1105,1106,1107],"/guides/linux/customize-bash-prompt","/guides/linux/tmux-basics","/errors/linux/zsh-command-not-found","Гайды Linux",{"title":5,"description":1053},"guides/linux/zsh-installation-configuration","В этом гайде вы установите мощную оболочку Zsh на Linux, настроите менеджер конфигураций Oh My Zsh и кастомизируете интерфейс под свои задачи. Получите продвинутый терминал с автодополнением, историей команд и удобными плагинами.",[1103,238,1113,1114,1115,121,1116,1117],"terminal","oh-my-zsh","оболочка","конфигурация","CLI","guide","GcrP_1Zyflwi0nO7TrU00JQeTM8AosMtY7l6mF8ycEw",{"data":1121,"body":1122},{},{"type":1123,"children":1124},"root",[1125],{"type":1126,"tag":22,"props":1127,"children":1128},"element",{},[1129],{"type":1130,"value":1061},"text",{"data":1132,"body":1133},{},{"type":1123,"children":1134},[1135],{"type":1126,"tag":22,"props":1136,"children":1137},{},[1138,1140,1146,1148,1153],{"type":1130,"value":1139},"Запустите команду ",{"type":1126,"tag":66,"props":1141,"children":1143},{"className":1142},[],[1144],{"type":1130,"value":1145},"chsh -s $(which zsh)",{"type":1130,"value":1147},", затем перезайдите в терминал или перезагрузитесь. Проверьте текущую оболочку командой ",{"type":1126,"tag":66,"props":1149,"children":1151},{"className":1150},[],[1152],{"type":1130,"value":930},{"type":1130,"value":325},{"data":1155,"body":1156},{},{"type":1123,"children":1157},[1158],{"type":1126,"tag":22,"props":1159,"children":1160},{},[1161],{"type":1130,"value":1067},{"data":1163,"body":1164},{},{"type":1123,"children":1165},[1166],{"type":1126,"tag":22,"props":1167,"children":1168},{},[1169,1171,1177],{"type":1130,"value":1170},"Выполните ",{"type":1126,"tag":66,"props":1172,"children":1174},{"className":1173},[],[1175],{"type":1130,"value":1176},"chsh -s $(which bash)",{"type":1130,"value":1178}," и перезайдите. Удалить Oh My Zsh можно, удалив папку ~/.oh-my-zsh и очистив ~/.zshrc.",{"data":1180,"body":1181},{},{"type":1123,"children":1182},[1183],{"type":1126,"tag":22,"props":1184,"children":1185},{},[1186,1188,1193],{"type":1130,"value":1187},"Узнайте, какая оболочка используется сейчас (",{"type":1126,"tag":66,"props":1189,"children":1191},{"className":1190},[],[1192],{"type":1130,"value":930},{"type":1130,"value":1194},"), затем установите Zsh через менеджер пакетов вашего дистрибутива.",{"data":1196,"body":1197},{},{"type":1123,"children":1198},[1199],{"type":1126,"tag":22,"props":1200,"children":1201},{},[1202,1204,1209],{"type":1130,"value":1203},"Используйте ",{"type":1126,"tag":66,"props":1205,"children":1207},{"className":1206},[],[1208],{"type":1130,"value":1145},{"type":1130,"value":1210},", чтобы изменить оболочку для текущего пользователя.",{"data":1212,"body":1213},{},{"type":1123,"children":1214},[1215],{"type":1126,"tag":22,"props":1216,"children":1217},{},[1218],{"type":1130,"value":1080},{"data":1220,"body":1221},{},{"type":1123,"children":1222},[1223],{"type":1126,"tag":22,"props":1224,"children":1225},{},[1226],{"type":1130,"value":1083},{"data":1228,"body":1229},{},{"type":1123,"children":1230},[1231],{"type":1126,"tag":22,"props":1232,"children":1233},{},[1234,1235,1240],{"type":1130,"value":1170},{"type":1126,"tag":66,"props":1236,"children":1238},{"className":1237},[],[1239],{"type":1130,"value":886},{"type":1130,"value":1241}," или перезапустите терминал, чтобы увидеть новый интерфейс.",[1243,2216,2764],{"id":1244,"title":1245,"appliesTo":1246,"author":12,"body":1249,"canonical":1051,"code":1051,"createdAt":2161,"description":2162,"difficulty":2163,"draft":1055,"estimatedTime":2164,"extension":1057,"faq":2165,"howToSteps":2178,"howToTotalTime":2191,"image":1051,"keywords":2192,"locale":1099,"meta":2203,"navigation":1101,"path":1105,"platform":1103,"related":2204,"section":1108,"seo":2208,"severity":1051,"stem":2209,"summary":2210,"tags":2211,"twitterCreator":1051,"twitterSite":1051,"type":1118,"updatedAt":2161,"__hash__":2215},"content_ru/guides/linux/customize-bash-prompt.md","Кастомизация bash prompt: настройка PS1, цветов и информации",[1247,1248,9,10],"Bash 4.0+","Ubuntu 20.04+",{"type":14,"value":1250,"toc":2139},[1251,1253,1260,1262,1291,1295,1305,1308,1320,1323,1327,1334,1489,1499,1503,1506,1512,1526,1529,1568,1575,1577,1581,1584,1598,1601,1620,1627,1653,1664,1668,1672,1679,1693,1697,1708,1722,1728,1751,1755,1760,1809,1812,1826,1829,1833,1836,1915,1918,1939,1954,1956,2002,2004,2008,2018,2031,2035,2045,2049,2072,2076,2081,2085,2110,2116,2124,2136],[17,1252,20],{"id":19},[22,1254,1255,1256,1259],{},"Приглашение командной строки (bash prompt) — это строка, которую вы видите перед курсором в терминале. По умолчанию оно обычно выглядит как ",[66,1257,1258],{},"user@host:~/path$",". Кастомизация prompt делает работу в терминале более информативной и визуально приятной. Вы можете добавить отображение текущего времени, статуса последней команды, ветки Git, а также использовать цвета для выделения важной информации. После выполнения этого гайда вы получите prompt, который будет подстраиваться под ваши задачи и предпочтения.",[17,1261,52],{"id":51},[57,1263,1264,1270,1275,1288],{},[34,1265,1266,1267,325],{},"У вас должен быть установлен bash (версии 4.0 и выше). Проверить версию: ",[66,1268,1269],{},"bash --version",[34,1271,1272,1273,325],{},"Убедитесь, что у вас есть доступ к домашней директории и возможность редактировать файл ",[66,1274,102],{},[34,1276,1277,1278,1281,1282,534,1285,93],{},"Рекомендуется использовать терминал, поддерживающий 256 цветов (например, GNOME Terminal, Konsole, iTerm2). Проверить: ",[66,1279,1280],{},"echo $TERM"," (должно быть ",[66,1283,1284],{},"xterm-256color",[66,1286,1287],{},"screen-256color",[34,1289,1290],{},"Базовые знания о редактировании текстовых файлов в Linux (nano, vim, etc.).",[17,1292,1294],{"id":1293},"шаг-1-найдите-и-откройте-конфигурационный-файл-bash","Шаг 1: Найдите и откройте конфигурационный файл bash",[22,1296,1297,1298,1300,1301,1304],{},"Бash читает конфигурационные файлы при запуске. Для интерактивных оболочек это обычно ",[66,1299,102],{}," (для пользователя) или ",[66,1302,1303],{},"/etc/bash.bashrc"," (системный). Мы будем редактировать пользовательский файл, чтобы изменения не затрагивали других пользователей.",[22,1306,1307],{},"Откройте терминал и выполните:",[117,1309,1311],{"className":119,"code":1310,"language":121,"meta":122,"style":122},"nano ~/.bashrc\n",[66,1312,1313],{"__ignoreMap":122},[126,1314,1315,1317],{"class":128,"line":129},[126,1316,85],{"class":132},[126,1318,1319],{"class":136}," ~/.bashrc\n",[22,1321,1322],{},"Или используйте предпочитаемый редактор (vim, code, gedit). Если файл пустой или отсутствует, создайте его.",[17,1324,1326],{"id":1325},"шаг-2-поймите-структуру-переменной-ps1","Шаг 2: Поймите структуру переменной PS1",[22,1328,1329,1330,1333],{},"Переменная ",[66,1331,1332],{},"PS1"," определяет основной prompt. Она поддерживает множество escape-последовательностей, которые заменяются на актуальные данные. Вот основные:",[1335,1336,1337,1350],"table",{},[1338,1339,1340],"thead",{},[1341,1342,1343,1347],"tr",{},[1344,1345,1346],"th",{},"Escape-последовательность",[1344,1348,1349],{},"Описание",[1351,1352,1353,1364,1374,1384,1398,1408,1425,1435,1445,1455,1465,1475],"tbody",{},[1341,1354,1355,1361],{},[1356,1357,1358],"td",{},[66,1359,1360],{},"\\u",[1356,1362,1363],{},"Имя текущего пользователя",[1341,1365,1366,1371],{},[1356,1367,1368],{},[66,1369,1370],{},"\\h",[1356,1372,1373],{},"Имя хоста (до первой точки)",[1341,1375,1376,1381],{},[1356,1377,1378],{},[66,1379,1380],{},"\\H",[1356,1382,1383],{},"Полное имя хоста",[1341,1385,1386,1391],{},[1356,1387,1388],{},[66,1389,1390],{},"\\w",[1356,1392,1393,1394,1397],{},"Полный путь текущей директории, с ",[66,1395,1396],{},"~"," для домашней",[1341,1399,1400,1405],{},[1356,1401,1402],{},[66,1403,1404],{},"\\W",[1356,1406,1407],{},"Только имя текущей директории",[1341,1409,1410,1415],{},[1356,1411,1412],{},[66,1413,1414],{},"\\$",[1356,1416,1417,1420,1421,1424],{},[66,1418,1419],{},"#"," для root, ",[66,1422,1423],{},"$"," для обычного пользователя",[1341,1426,1427,1432],{},[1356,1428,1429],{},[66,1430,1431],{},"\\t",[1356,1433,1434],{},"Текущее время в 24-часовом формате (HH:MM:SS)",[1341,1436,1437,1442],{},[1356,1438,1439],{},[66,1440,1441],{},"\\T",[1356,1443,1444],{},"Время в 12-часовом формате (HH:MM:SS)",[1341,1446,1447,1452],{},[1356,1448,1449],{},[66,1450,1451],{},"\\@",[1356,1453,1454],{},"Время в 12-часовом формате с AM/PM",[1341,1456,1457,1462],{},[1356,1458,1459],{},[66,1460,1461],{},"\\d",[1356,1463,1464],{},"Дата в формате \"День ММ ГГГГ\"",[1341,1466,1467,1472],{},[1356,1468,1469],{},[66,1470,1471],{},"\\n",[1356,1473,1474],{},"Новая строка",[1341,1476,1477,1486],{},[1356,1478,1479,1482,1483],{},[66,1480,1481],{},"\\["," и ",[66,1484,1485],{},"\\]",[1356,1487,1488],{},"Обозначают начало и конец непечатаемых символов (например, для цветов)",[22,1490,1491,1493,1494,1482,1496,1498],{},[26,1492,288],{},": Для цветов используются escape-последовательности ANSI, которые нужно заключать в ",[66,1495,1481],{},[66,1497,1485],{},", чтобы bash правильно считал длину prompt.",[17,1500,1502],{"id":1501},"шаг-3-добавьте-простые-цвета-и-информацию","Шаг 3: Добавьте простые цвета и информацию",[22,1504,1505],{},"Давайте создадим простой цветной prompt, который показывает пользователя, хост и текущую директорию.",[22,1507,1508,1509,1511],{},"Добавьте в ",[66,1510,102],{}," строку:",[117,1513,1515],{"className":119,"code":1514,"language":121,"meta":122,"style":122},"PS1='\\[\\e[0;32m\\]\\u@\\h:\\w\\$ \\[\\e[m\\] '\n",[66,1516,1517],{"__ignoreMap":122},[126,1518,1519,1521,1523],{"class":128,"line":129},[126,1520,1332],{"class":143},[126,1522,445],{"class":444},[126,1524,1525],{"class":136},"'\\[\\e[0;32m\\]\\u@\\h:\\w\\$ \\[\\e[m\\] '\n",[22,1527,1528],{},"Разберем:",[31,1530,1531,1545,1559,1565],{},[34,1532,1533,1536,1537,1540,1541,1544],{},[66,1534,1535],{},"\\[\\e[0;32m\\]"," — включает зеленый цвет (код 32). ",[66,1538,1539],{},"\\e"," — escape-символ, ",[66,1542,1543],{},"[0;32m"," — код цвета.",[34,1546,1547,1550,1551,1554,1555,534,1557,325],{},[66,1548,1549],{},"\\u@\\h:\\w\\$"," — комбинация escape-последовательностей: пользователь, символ ",[66,1552,1553],{},"@",", хост, двоеточие, текущий путь, ",[66,1556,1423],{},[66,1558,1419],{},[34,1560,1561,1564],{},[66,1562,1563],{},"\\[\\e[m\\]"," — сброс цветов к стандартным.",[34,1566,1567],{},"Пробел в конце для удобства.",[22,1569,1570,1571,1574],{},"После сохранения файла выполните ",[66,1572,1573],{},"source ~/.bashrc"," или откройте новый терминал. Вы должны увидеть зеленый prompt.",[539,1576],{},[17,1578,1580],{"id":1579},"шаг-4-используйте-более-сложные-цвета-и-форматирование","Шаг 4: Используйте более сложные цвета и форматирование",[22,1582,1583],{},"Вы можете комбинировать цвета и атрибуты (жирный, подчеркивание). Например, для жирного зеленого текста:",[117,1585,1587],{"className":119,"code":1586,"language":121,"meta":122,"style":122},"PS1='\\[\\e[1;32m\\]\\u@\\h\\[\\e[m\\]:\\[\\e[1;34m\\]\\w\\[\\e[m\\]\\$ '\n",[66,1588,1589],{"__ignoreMap":122},[126,1590,1591,1593,1595],{"class":128,"line":129},[126,1592,1332],{"class":143},[126,1594,445],{"class":444},[126,1596,1597],{"class":136},"'\\[\\e[1;32m\\]\\u@\\h\\[\\e[m\\]:\\[\\e[1;34m\\]\\w\\[\\e[m\\]\\$ '\n",[22,1599,1600],{},"Здесь:",[31,1602,1603,1609,1614],{},[34,1604,1605,1608],{},[66,1606,1607],{},"\\[\\e[1;32m\\]"," — жирный зеленый (1 — жирный, 32 — зеленый).",[34,1610,1611,1613],{},[66,1612,1563],{}," — сброс после имени пользователя и хоста.",[34,1615,1616,1619],{},[66,1617,1618],{},"\\[\\e[1;34m\\]"," — жирный синий для пути.",[22,1621,1622,1623,1626],{},"Список цветов (перед кодом можно добавить ",[66,1624,1625],{},"1;"," для жирного):",[31,1628,1629,1632,1635,1638,1641,1644,1647,1650],{},[34,1630,1631],{},"Черный: 30",[34,1633,1634],{},"Красный: 31",[34,1636,1637],{},"Зеленый: 32",[34,1639,1640],{},"Желтый: 33",[34,1642,1643],{},"Синий: 34",[34,1645,1646],{},"Пурпурный: 35",[34,1648,1649],{},"Голубой: 36",[34,1651,1652],{},"Белый: 37",[22,1654,1655,1656,1659,1660,1663],{},"Также можно использовать 256-цветовую палитру: ",[66,1657,1658],{},"\\[\\e[38;5;{номер}м\\]"," (например, ",[66,1661,1662],{},"\\[\\e[38;5;202m\\]"," для оранжевого). Номер цвета от 0 до 255.",[17,1665,1667],{"id":1666},"шаг-5-добавьте-динамическую-информацию-время-статус-git","Шаг 5: Добавьте динамическую информацию (время, статус, Git)",[473,1669,1671],{"id":1670},"время","Время",[22,1673,1674,1675,534,1677,867],{},"Чтобы добавить текущее время, используйте ",[66,1676,1431],{},[66,1678,1451],{},[117,1680,1682],{"className":119,"code":1681,"language":121,"meta":122,"style":122},"PS1='\\[\\e[0;33m\\]\\t \\[\\e[m\\]\\u@\\h:\\w\\$ '\n",[66,1683,1684],{"__ignoreMap":122},[126,1685,1686,1688,1690],{"class":128,"line":129},[126,1687,1332],{"class":143},[126,1689,445],{"class":444},[126,1691,1692],{"class":136},"'\\[\\e[0;33m\\]\\t \\[\\e[m\\]\\u@\\h:\\w\\$ '\n",[473,1694,1696],{"id":1695},"статус-последней-команды","Статус последней команды",[22,1698,1699,1700,1703,1704,1707],{},"Escape-последовательность ",[66,1701,1702],{},"\\$?"," возвращает код выхода последней команды (0 — успех, не 0 — ошибка). Но в PS1 она не работает напрямую. Нужно использовать команду-подстановку или условную конструкцию. Пример с отображением ",[66,1705,1706],{},"!"," при ошибке:",[117,1709,1711],{"className":119,"code":1710,"language":121,"meta":122,"style":122},"PS1='\\[\\e[0;31m\\]$(if [[ $? != 0 ]]; then echo \"! \"; fi)\\[\\e[m\\]\\u@\\h:\\w\\$ '\n",[66,1712,1713],{"__ignoreMap":122},[126,1714,1715,1717,1719],{"class":128,"line":129},[126,1716,1332],{"class":143},[126,1718,445],{"class":444},[126,1720,1721],{"class":136},"'\\[\\e[0;31m\\]$(if [[ $? != 0 ]]; then echo \"! \"; fi)\\[\\e[m\\]\\u@\\h:\\w\\$ '\n",[22,1723,1724,1725,867],{},"Однако это может замедлять prompt, так как выполняется для каждого вызова. Более эффективный способ — использовать ",[66,1726,1727],{},"PROMPT_COMMAND",[117,1729,1731],{"className":119,"code":1730,"language":121,"meta":122,"style":122},"PROMPT_COMMAND='RET=$?; [[ $RET != 0 ]] && echo -n \"!$RET \"'\nPS1='\\[\\e[0;33m\\]\\u@\\h:\\w\\$ \\[\\e[m\\]'\n",[66,1732,1733,1742],{"__ignoreMap":122},[126,1734,1735,1737,1739],{"class":128,"line":129},[126,1736,1727],{"class":143},[126,1738,445],{"class":444},[126,1740,1741],{"class":136},"'RET=$?; [[ $RET != 0 ]] && echo -n \"!$RET \"'\n",[126,1743,1744,1746,1748],{"class":128,"line":571},[126,1745,1332],{"class":143},[126,1747,445],{"class":444},[126,1749,1750],{"class":136},"'\\[\\e[0;33m\\]\\u@\\h:\\w\\$ \\[\\e[m\\]'\n",[473,1752,1754],{"id":1753},"информация-о-git","Информация о Git",[22,1756,1757,1758,867],{},"Если вы работаете с Git, полезно отображать текущую ветку. Добавьте функцию в ",[66,1759,102],{},[117,1761,1763],{"className":119,"code":1762,"language":121,"meta":122,"style":122},"parse_git_branch() {\n    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \\(.*\\)/ (\\1)/'\n}\n",[66,1764,1765,1773,1804],{"__ignoreMap":122},[126,1766,1767,1770],{"class":128,"line":129},[126,1768,1769],{"class":132},"parse_git_branch",[126,1771,1772],{"class":143},"() {\n",[126,1774,1775,1778,1781,1784,1787,1790,1793,1796,1799,1801],{"class":128,"line":571},[126,1776,1777],{"class":132},"    git",[126,1779,1780],{"class":136}," branch",[126,1782,1783],{"class":444}," 2>",[126,1785,1786],{"class":136}," /dev/null",[126,1788,1789],{"class":444}," |",[126,1791,1792],{"class":132}," sed",[126,1794,1795],{"class":157}," -e",[126,1797,1798],{"class":136}," '/^[^*]/d'",[126,1800,1795],{"class":157},[126,1802,1803],{"class":136}," 's/* \\(.*\\)/ (\\1)/'\n",[126,1805,1806],{"class":128,"line":577},[126,1807,1808],{"class":143},"}\n",[22,1810,1811],{},"Затем используйте в PS1:",[117,1813,1815],{"className":119,"code":1814,"language":121,"meta":122,"style":122},"PS1='\\[\\e[0;36m\\]\\u@\\h\\[\\e[m\\]:\\[\\e[1;34m\\]\\w\\[\\e[0;33m\\]$(parse_git_branch)\\[\\e[m\\]\\$ '\n",[66,1816,1817],{"__ignoreMap":122},[126,1818,1819,1821,1823],{"class":128,"line":129},[126,1820,1332],{"class":143},[126,1822,445],{"class":444},[126,1824,1825],{"class":136},"'\\[\\e[0;36m\\]\\u@\\h\\[\\e[m\\]:\\[\\e[1;34m\\]\\w\\[\\e[0;33m\\]$(parse_git_branch)\\[\\e[m\\]\\$ '\n",[22,1827,1828],{},"Эта функция будет показывать ветку в скобках, если текущая директория — репозиторий Git.",[17,1830,1832],{"id":1831},"шаг-6-оптимизируйте-и-комбинируйте","Шаг 6: Оптимизируйте и комбинируйте",[22,1834,1835],{},"Теперь объединим всё: цвета, время, Git, статус. Пример продвинутого prompt:",[117,1837,1839],{"className":119,"code":1838,"language":121,"meta":122,"style":122},"# Функция для Git\nparse_git_branch() {\n    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \\(.*\\)/ (\\1)/'\n}\n\n# PROMPT_COMMAND для статуса\nPROMPT_COMMAND='RET=$?; [[ $RET != 0 ]] && echo -ne \"\\e[0;31m!$RET \\e[m\"'\n\n# Сам PS1\nPS1='\\[\\e[0;33m\\]\\t \\[\\e[m\\]\\u@\\h:\\[\\e[1;34m\\]\\w\\[\\e[0;32m\\]$(parse_git_branch)\\[\\e[m\\]\\$ '\n",[66,1840,1841,1846,1852,1874,1878,1883,1888,1897,1901,1906],{"__ignoreMap":122},[126,1842,1843],{"class":128,"line":129},[126,1844,1845],{"class":835},"# Функция для Git\n",[126,1847,1848,1850],{"class":128,"line":571},[126,1849,1769],{"class":132},[126,1851,1772],{"class":143},[126,1853,1854,1856,1858,1860,1862,1864,1866,1868,1870,1872],{"class":128,"line":577},[126,1855,1777],{"class":132},[126,1857,1780],{"class":136},[126,1859,1783],{"class":444},[126,1861,1786],{"class":136},[126,1863,1789],{"class":444},[126,1865,1792],{"class":132},[126,1867,1795],{"class":157},[126,1869,1798],{"class":136},[126,1871,1795],{"class":157},[126,1873,1803],{"class":136},[126,1875,1876],{"class":128,"line":583},[126,1877,1808],{"class":143},[126,1879,1880],{"class":128,"line":589},[126,1881,1882],{"emptyLinePlaceholder":1101},"\n",[126,1884,1885],{"class":128,"line":595},[126,1886,1887],{"class":835},"# PROMPT_COMMAND для статуса\n",[126,1889,1890,1892,1894],{"class":128,"line":601},[126,1891,1727],{"class":143},[126,1893,445],{"class":444},[126,1895,1896],{"class":136},"'RET=$?; [[ $RET != 0 ]] && echo -ne \"\\e[0;31m!$RET \\e[m\"'\n",[126,1898,1899],{"class":128,"line":607},[126,1900,1882],{"emptyLinePlaceholder":1101},[126,1902,1903],{"class":128,"line":613},[126,1904,1905],{"class":835},"# Сам PS1\n",[126,1907,1908,1910,1912],{"class":128,"line":619},[126,1909,1332],{"class":143},[126,1911,445],{"class":444},[126,1913,1914],{"class":136},"'\\[\\e[0;33m\\]\\t \\[\\e[m\\]\\u@\\h:\\[\\e[1;34m\\]\\w\\[\\e[0;32m\\]$(parse_git_branch)\\[\\e[m\\]\\$ '\n",[22,1916,1917],{},"Этот prompt:",[31,1919,1920,1923,1926,1929,1932],{},[34,1921,1922],{},"Показывает время (желтый).",[34,1924,1925],{},"Имя пользователя и хост (стандартный цвет).",[34,1927,1928],{},"Текущий путь (жирный синий).",[34,1930,1931],{},"Ветку Git (зеленый).",[34,1933,1934,1935,1938],{},"При ошибке предыдущей команды выводит ",[66,1936,1937],{},"!код"," красным.",[22,1940,1941,1943,1944,1946,1947,1950,1951,1953],{},[26,1942,386],{},": Если prompt становится слишком длинным или медленным (например, из-за частых вызовов ",[66,1945,92],{},"), упростите его. Для Git можно использовать более быстрые альтернативы, например, ",[66,1948,1949],{},"__git_ps1"," из пакета ",[66,1952,92],{}," (если установлен).",[17,1955,797],{"id":796},[57,1957,1958,1967,1970,1991],{},[34,1959,1960,1961,1963,1964,1966],{},"После внесения изменений в ",[66,1962,102],{}," выполните ",[66,1965,1573],{}," или закройте и откройте терминал заново.",[34,1968,1969],{},"Убедитесь, что prompt отображается с цветами и информацией.",[34,1971,1972,1973],{},"Проверьте сценарии:\n",[31,1974,1975,1978,1985],{},[34,1976,1977],{},"Перейдите в директорию с Git-репозиторием — должна отобразиться ветка.",[34,1979,1980,1981,1984],{},"Выполните команду, которая завершится с ошибкой (например, ",[66,1982,1983],{},"ls non_existent_file","). В следующем prompt должен появиться код ошибки.",[34,1986,1987,1988,1990],{},"Проверьте, что цвета не \"разбегаются\" (после сброса ",[66,1989,1563],{}," следующий текст должен быть стандартного цвета).",[34,1992,1993,1994,1996,1997,86,1999,2001],{},"Если что-то не работает, проверьте синтаксис в ",[66,1995,102],{}," (лишние кавычки, отсутствие ",[66,1998,1481],{},[66,2000,1485],{}," для цветов).",[17,2003,850],{"id":849},[473,2005,2007],{"id":2006},"проблема-1-цвета-не-отображаются-или-разбегаются","Проблема 1: Цвета не отображаются или \"разбегаются\"",[22,2009,2010,2012,2013,1482,2015,2017],{},[26,2011,862],{},": Неправильное использование ",[66,2014,1481],{},[66,2016,1485],{}," вокруг непечатаемых символов (escape-последовательностей). Bash использует эти маркеры для корректного расчета длины prompt. Если их нет, курсор может смещаться.",[22,2019,2020,2022,2023,1482,2025,2027,2028,325],{},[26,2021,866],{},": Убедитесь, что каждый блок цвета (включая сброс) обернут в ",[66,2024,1481],{},[66,2026,1485],{},". Пример правильного: ",[66,2029,2030],{},"\\[\\e[0;32m\\]...\\[\\e[m\\]",[473,2032,2034],{"id":2033},"проблема-2-prompt-слишком-медленный","Проблема 2: Prompt слишком медленный",[22,2036,2037,2039,2040,534,2042,2044],{},[26,2038,862],{},": Выполнение тяжелых команд (например, ",[66,2041,780],{},[66,2043,1769],{}," без кэширования) при каждом выводе prompt.",[22,2046,2047,867],{},[26,2048,866],{},[31,2050,2051,2060,2069],{},[34,2052,2053,2054,2056,2057,2059],{},"Упростите функцию Git, используя ",[66,2055,1949],{}," (если установлен пакет ",[66,2058,92],{},"). Он оптимизирован.",[34,2061,2062,2063,2065,2066,93],{},"Или добавьте кэширование: например, обновлять информацию о Git только при изменении директории (через ",[66,2064,1727],{}," и проверку ",[66,2067,2068],{},"$PWD",[34,2070,2071],{},"Удалите ненужные данные из PS1.",[473,2073,2075],{"id":2074},"проблема-3-unicode-символы-или-эмодзи-отображаются-некорректно","Проблема 3: Unicode-символы или эмодзи отображаются некорректно",[22,2077,2078,2080],{},[26,2079,862],{},": Терминал или шрифт не поддерживают эти символы, или локаль не в UTF-8.",[22,2082,2083,867],{},[26,2084,866],{},[31,2086,2087,2090,2107],{},[34,2088,2089],{},"Установите шрифт с поддержкой эмодзи (например, Nerd Fonts).",[34,2091,2092,2093,2096,2097,2100,2101,2104,2105,325],{},"Проверьте локаль: ",[66,2094,2095],{},"locale"," должен содержать ",[66,2098,2099],{},"UTF-8",". При необходимости: ",[66,2102,2103],{},"export LANG=en_US.UTF-8"," в ",[66,2106,102],{},[34,2108,2109],{},"Убедитесь, что терминал настроен на UTF-8.",[473,2111,2113,2114],{"id":2112},"проблема-4-изменения-не-применяются-после-source-bashrc","Проблема 4: Изменения не применяются после ",[66,2115,1573],{},[22,2117,2118,2120,2121,2123],{},[26,2119,862],{},": Синтаксическая ошибка в ",[66,2122,102],{}," (например, незакрытая кавычка). Bash может не загружать файл при ошибке.",[22,2125,2126,2128,2129,2132,2133,2135],{},[26,2127,866],{},": Проверьте файл на синтаксис, выполнив ",[66,2130,2131],{},"bash -n ~/.bashrc",". Исправьте ошибки. Также убедитесь, что вы не перезаписываете ",[66,2134,1332],{}," позже в том же файле (порядок важен).",[1024,2137,2138],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":122,"searchDepth":571,"depth":571,"links":2140},[2141,2142,2143,2144,2145,2146,2147,2152,2153,2154],{"id":19,"depth":571,"text":20},{"id":51,"depth":571,"text":52},{"id":1293,"depth":571,"text":1294},{"id":1325,"depth":571,"text":1326},{"id":1501,"depth":571,"text":1502},{"id":1579,"depth":571,"text":1580},{"id":1666,"depth":571,"text":1667,"children":2148},[2149,2150,2151],{"id":1670,"depth":577,"text":1671},{"id":1695,"depth":577,"text":1696},{"id":1753,"depth":577,"text":1754},{"id":1831,"depth":571,"text":1832},{"id":796,"depth":571,"text":797},{"id":849,"depth":571,"text":850,"children":2155},[2156,2157,2158,2159],{"id":2006,"depth":577,"text":2007},{"id":2033,"depth":577,"text":2034},{"id":2074,"depth":577,"text":2075},{"id":2112,"depth":577,"text":2160},"Проблема 4: Изменения не применяются после source ~/.bashrc","2026-02-16 12:52:35","Полное руководство по изменению приглашения командной строки в bash. Научитесь настраивать PS1, добавлять цвета, время, текущую директорию и другие данные. Примеры для Ubuntu, Fedora, Arch Linux.","medium","15-30 мин",[2166,2169,2172,2175],{"answer":2167,"question":2168},"Чтобы вернуть стандартный prompt, удалите или закомментируйте изменения в переменной PS1 в файле ~/.bashrc и выполните `source ~/.bashrc`.","Как вернуть стандартный prompt в bash?",{"answer":2170,"question":2171},"Убедитесь, что ваш терминал поддерживает 256 цветов и что вы используете правильные escape-последовательности. Также проверьте, что переменная TERM установлена в xterm-256color.","Почему цвета в bash prompt не работают?",{"answer":2173,"question":2174},"Используйте escape-последовательность `\\` (полный путь) или `\\` (только имя текущей директории) в значении PS1.","Как добавить текущую директорию в prompt?",{"answer":2176,"question":2177},"Да, но убедитесь, что ваш терминал и шрифт поддерживают эти символы. Также может потребоваться установка локали в UTF-8.","Можно ли использовать Unicode символы в bash prompt?",[2179,2182,2185,2188],{"name":2180,"text":2181},"Откройте файл ~/.bashrc","Откройте файл ~/.bashrc в любом текстовом редакторе (nano, vim, code и т.д.).",{"name":2183,"text":2184},"Найдите переменную PS1","В файле найдите строку, начинающуюся с `PS1=`. Если такой строки нет, добавьте ее.",{"name":2186,"text":2187},"Измените PS1 под свои нужды","Измените значение PS1, используя escape-последовательности для цветов и информации. Пример: `PS1='\\\\[0;32m\\\\@\\:\\\\ \\\\[m\\'`.",{"name":2189,"text":2190},"Примените изменения","Сохраните файл и выполните команду `source ~/.bashrc` или перезапустите терминал.","PT20M",[2193,2194,2195,2196,2197,2198,2199,2200,2201,2202],"кастомизация bash prompt","изменить приглащение bash","PS1 bash","цвета в bash prompt","bashrc prompt","как настроить bash prompt","пользовательское приглащение bash","bash prompt цвета","bash prompt примеры","bash prompt текущая директория",{},[2205,2206,2207],"/guides/linux/bash-aliases","/guides/linux/bashrc-configuration","/guides/linux/zsh-vs-bash",{"title":1245,"description":2162},"guides/linux/customize-bash-prompt","В этом гайде вы узнаете, как полностью кастомизировать приглашение bash (prompt) с помощью переменной PS1. Мы рассмотрим настройку цветов, отображение системной информации и условные конструкции.",[121,1103,1116,2212,1332,2213,2214],"терминал","色彩","customization","nL2QII9BRgeGBvAWvnK6BOYToaJ6SD_f9eJn1ZjgJLU",{"id":2217,"title":2218,"appliesTo":2219,"author":12,"body":2222,"canonical":1051,"code":1051,"createdAt":2707,"description":2708,"difficulty":1054,"draft":1055,"estimatedTime":2164,"extension":1057,"faq":2709,"howToSteps":2722,"howToTotalTime":2191,"image":1051,"keywords":2741,"locale":1099,"meta":2752,"navigation":1101,"path":1106,"platform":1103,"related":2753,"section":1108,"seo":2757,"severity":1051,"stem":2758,"summary":2759,"tags":2760,"twitterCreator":1051,"twitterSite":1051,"type":1118,"updatedAt":2707,"__hash__":2763},"content_ru/guides/linux/tmux-basics.md","Освойте tmux: Полное руководство по основам терминального мультиплексора",[7,8,2220,2221],"Fedora 36+","tmux 3.0+",{"type":14,"value":2223,"toc":2693},[2224,2226,2232,2234,2236,2249,2253,2257,2260,2285,2288,2303,2306,2321,2323,2341,2345,2348,2365,2376,2380,2387,2443,2447,2454,2494,2496,2500,2507,2533,2536,2540,2543,2578,2580,2583,2612,2614,2640,2660,2677,2690],[17,2225,20],{"id":19},[22,2227,2228,2231],{},[26,2229,2230],{},"Tmux"," (terminal multiplexer) — это терминальный мультиплексор, который позволяет управлять несколькими сессиями, окнами и панелями в одном терминале. Он особенно полезен для администрирования серверов через SSH: вы можете запустить длительные процессы, отсоединиться, а позже вернуться и продолжить работу с того же места. После освоения tmux вы сможете значительно повысить эффективность работы в командной строке Linux, организовав пространство под свои задачи.",[17,2233,52],{"id":51},[22,2235,55],{},[31,2237,2238,2241,2246],{},[34,2239,2240],{},"У вас есть доступ к терминалу Linux (Ubuntu, Debian, Fedora и т.д.).",[34,2242,2243,2244,93],{},"Есть права на установку пакетов (обычно через ",[66,2245,133],{},[34,2247,2248],{},"Базовое знакомство с командной строкой (навигация, выполнение команд).\n-Tmux версии 3.0 или новее (в современных дистрибутивах обычно последняя).",[17,2250,2252],{"id":2251},"пошаговая-инструкция","Пошаговая инструкция",[473,2254,2256],{"id":2255},"шаг-1-установите-tmux","Шаг 1: Установите tmux",[22,2258,2259],{},"Установите tmux через менеджер пакетов вашего дистрибутива. Для большинства дистрибутивов на базе Debian/Ubuntu:",[117,2261,2263],{"className":119,"code":2262,"language":121,"meta":122,"style":122},"sudo apt update\nsudo apt install tmux\n",[66,2264,2265,2274],{"__ignoreMap":122},[126,2266,2267,2269,2271],{"class":128,"line":129},[126,2268,133],{"class":132},[126,2270,137],{"class":136},[126,2272,2273],{"class":136}," update\n",[126,2275,2276,2278,2280,2282],{"class":128,"line":571},[126,2277,133],{"class":132},[126,2279,137],{"class":136},[126,2281,151],{"class":136},[126,2283,2284],{"class":136}," tmux\n",[22,2286,2287],{},"Для Fedora/RHEL:",[117,2289,2291],{"className":119,"code":2290,"language":121,"meta":122,"style":122},"sudo dnf install tmux\n",[66,2292,2293],{"__ignoreMap":122},[126,2294,2295,2297,2299,2301],{"class":128,"line":129},[126,2296,133],{"class":132},[126,2298,175],{"class":136},[126,2300,151],{"class":136},[126,2302,2284],{"class":136},[22,2304,2305],{},"Для Arch Linux:",[117,2307,2309],{"className":119,"code":2308,"language":121,"meta":122,"style":122},"sudo pacman -S tmux\n",[66,2310,2311],{"__ignoreMap":122},[126,2312,2313,2315,2317,2319],{"class":128,"line":129},[126,2314,133],{"class":132},[126,2316,198],{"class":136},[126,2318,201],{"class":157},[126,2320,2284],{"class":136},[22,2322,228],{},[117,2324,2326],{"className":119,"code":2325,"language":121,"meta":122,"style":122},"tmux -V\n# Пример вывода: tmux 3.3a\n",[66,2327,2328,2336],{"__ignoreMap":122},[126,2329,2330,2333],{"class":128,"line":129},[126,2331,2332],{"class":132},"tmux",[126,2334,2335],{"class":157}," -V\n",[126,2337,2338],{"class":128,"line":571},[126,2339,2340],{"class":835},"# Пример вывода: tmux 3.3a\n",[473,2342,2344],{"id":2343},"шаг-2-создайте-новую-сессию","Шаг 2: Создайте новую сессию",[22,2346,2347],{},"Запустите tmux, создав сессию с понятным именем:",[117,2349,2351],{"className":119,"code":2350,"language":121,"meta":122,"style":122},"tmux new -s работа\n",[66,2352,2353],{"__ignoreMap":122},[126,2354,2355,2357,2360,2362],{"class":128,"line":129},[126,2356,2332],{"class":132},[126,2358,2359],{"class":136}," new",[126,2361,268],{"class":157},[126,2363,2364],{"class":136}," работа\n",[22,2366,2367,2368,2371,2372,2375],{},"Вы увидите строку состояния внизу экрана с именем сессии (",[66,2369,2370],{},"работ","), номером окна и временем. Теперь все команды внутри tmux выполняются с префиксом ",[66,2373,2374],{},"Ctrl+b"," (по умолчанию), после которого нажимается другая клавиша.",[473,2377,2379],{"id":2378},"шаг-3-основные-операции-с-окнами","Шаг 3: Основные операции с окнами",[22,2381,2382,2383,2386],{},"Внутри сессии вы работаете с ",[26,2384,2385],{},"окнами"," — аналогами вкладок.",[31,2388,2389,2397,2414,2426],{},[34,2390,2391,289,2394],{},[26,2392,2393],{},"Создать новое окно",[66,2395,2396],{},"Ctrl+b c",[34,2398,2399,289,2402,2405,2406,2409,2410,2413],{},[26,2400,2401],{},"Переключиться между окнами",[66,2403,2404],{},"Ctrl+b n"," (следующее) или ",[66,2407,2408],{},"Ctrl+b p"," (предыдущее). Также можно ",[66,2411,2412],{},"Ctrl+b 0..9"," для перехода по номеру.",[34,2415,2416,289,2419,2422,2423,93],{},[26,2417,2418],{},"Переименовать текущее окно",[66,2420,2421],{},"Ctrl+b ,"," (введите имя, нажмите ",[66,2424,2425],{},"Enter",[34,2427,2428,2431,2432,2435,2436,2439,2440,93],{},[26,2429,2430],{},"Закрыть окно",": выйдите из оболочки (например, ",[66,2433,2434],{},"exit",") или нажмите ",[66,2437,2438],{},"Ctrl+b &"," (подтвердите ",[66,2441,2442],{},"y",[473,2444,2446],{"id":2445},"шаг-4-разделение-панелей","Шаг 4: Разделение панелей",[22,2448,2449,2450,2453],{},"Tmux позволяет разделять окно на несколько ",[26,2451,2452],{},"панелей"," (panes) для одновременного просмотра.",[31,2455,2456,2465,2474,2483],{},[34,2457,2458,2461,2462],{},[26,2459,2460],{},"Разделить вертикально"," (лево/право): ",[66,2463,2464],{},"Ctrl+b %",[34,2466,2467,2470,2471],{},[26,2468,2469],{},"Разделить горизонтально"," (верх/низ): ",[66,2472,2473],{},"Ctrl+b \"",[34,2475,2476,289,2479,2482],{},[26,2477,2478],{},"Переключаться между панелями",[66,2480,2481],{},"Ctrl+b стрелка"," (в направлении панели).",[34,2484,2485,2488,2489,2439,2492,93],{},[26,2486,2487],{},"Закрыть панель",": выйдите из оболочки в ней или нажмите ",[66,2490,2491],{},"Ctrl+b x",[66,2493,2442],{},[539,2495],{},[473,2497,2499],{"id":2498},"шаг-5-отсоединение-и-повторное-подключение","Шаг 5: Отсоединение и повторное подключение",[22,2501,2502,2503,2506],{},"Одна из главных фич tmux — ",[26,2504,2505],{},"отсоединение"," (detach) без завершения процессов.",[31,2508,2509,2517,2525],{},[34,2510,2511,289,2514],{},[26,2512,2513],{},"Отсоединиться от сессии",[66,2515,2516],{},"Ctrl+b d",[34,2518,2519,289,2522],{},[26,2520,2521],{},"Вернуться к сессии",[66,2523,2524],{},"tmux attach -t работа",[34,2526,2527,289,2530],{},[26,2528,2529],{},"Присоединиться к другой сессии",[66,2531,2532],{},"tmux attach -t другое_имя",[22,2534,2535],{},"Вы также можете создать новую сессию в другом терминале и работать параллельно.",[473,2537,2539],{"id":2538},"шаг-6-управление-сессиями-извне","Шаг 6: Управление сессиями извне",[22,2541,2542],{},"Когда вы вне tmux, полезно управлять сессиями через CLI.",[31,2544,2545,2553,2561,2569],{},[34,2546,2547,289,2550],{},[26,2548,2549],{},"Список активных сессий",[66,2551,2552],{},"tmux ls",[34,2554,2555,289,2558],{},[26,2556,2557],{},"Переименовать сессию",[66,2559,2560],{},"tmux rename-session -t старое новое",[34,2562,2563,289,2566],{},[26,2564,2565],{},"Удалить сессию",[66,2567,2568],{},"tmux kill-session -t работа",[34,2570,2571,289,2574,2577],{},[26,2572,2573],{},"Создать сессию и сразу запустить команду",[66,2575,2576],{},"tmux new -d -s бэкап 'tar -czf /backup.tar.gz /важная_папка'"," (сессия запустится в фоне).",[17,2579,797],{"id":796},[22,2581,2582],{},"Убедитесь, что tmux работает корректно:",[57,2584,2585,2588,2598,2609],{},[34,2586,2587],{},"Создайте сессию, откройте несколько окон и панелей.",[34,2589,2590,2591,2593,2594,2597],{},"Отсоединитесь (",[66,2592,2516],{},"), затем зайдите в другой терминал и выполните ",[66,2595,2596],{},"tmux attach -t \u003Cимя_сессии>"," — вы должны вернуться к тому же состоянию.",[34,2599,2600,2601,2604,2605,2608],{},"Запустите долгую команду (например, ",[66,2602,2603],{},"ping 8.8.8.8","), отсоединитесь, подключитесь снова — процесс ",[66,2606,2607],{},"ping"," должен продолжаться.",[34,2610,2611],{},"Проверьте, что окна и панели сохраняются.",[17,2613,850],{"id":849},[281,2615,2616],{},[22,2617,285,2618,2621,2624,2625,2627,2628,2631,2632,2635,2636,2639],{},[26,2619,2620],{},"Префикс конфликтует с другим ПО",[2622,2623],"br",{},"\nЕсли ",[66,2626,2374],{}," уже используется (например, в Vim), измените префикс. Добавьте в ",[66,2629,2630],{},"~/.tmux.conf"," строку ",[66,2633,2634],{},"set -g prefix C-a"," (заменит на ",[66,2637,2638],{},"Ctrl+a","). Перезапустите tmux.",[281,2641,2642],{},[22,2643,285,2644,2647,2649,2650,2652,2653,2656,2657,325],{},[26,2645,2646],{},"Невозможно копировать текст мышью",[2622,2648],{},"\nПо умолчанию tmux перехватывает мышь. Для копирования через системный буфер включите поддержку мыши: в ",[66,2651,2630],{}," добавьте ",[66,2654,2655],{},"set -g mouse on",". Перезагрузите конфиг: ",[66,2658,2659],{},"Ctrl+b : source-file ~/.tmux.conf",[281,2661,2662],{},[22,2663,285,2664,2667,2669,2670,2673,2674,325],{},[26,2665,2666],{},"Сессия не сохраняется после перезагрузки",[2622,2668],{},"\nTmux хранит сессии только в памяти. Для автосохранения используйте плагины (например, ",[66,2671,2672],{},"tmux-resurrect","). Установите через менеджер плагинов (TPM) и добавьте в ",[66,2675,2676],{},".tmux.conf",[281,2678,2679],{},[22,2680,285,2681,2684,2686,2687,2689],{},[26,2682,2683],{},"Ошибка «no server running» при attach",[2622,2685],{},"\nСессия уже завершена или была убита. Проверьте список: ",[66,2688,2552],{},". Если сессии нет, создайте новую.",[1024,2691,2692],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":122,"searchDepth":571,"depth":571,"links":2694},[2695,2696,2697,2705,2706],{"id":19,"depth":571,"text":20},{"id":51,"depth":571,"text":52},{"id":2251,"depth":571,"text":2252,"children":2698},[2699,2700,2701,2702,2703,2704],{"id":2255,"depth":577,"text":2256},{"id":2343,"depth":577,"text":2344},{"id":2378,"depth":577,"text":2379},{"id":2445,"depth":577,"text":2446},{"id":2498,"depth":577,"text":2499},{"id":2538,"depth":577,"text":2539},{"id":796,"depth":571,"text":797},{"id":849,"depth":571,"text":850},"2026-02-17 12:27:03","Узнайте, как эффективно работать в терминале Linux с tmux. Пошаговое руководство от установки до базовых операций. Начните управлять несколькими сессиями за 15 минут!",[2710,2713,2716,2719],{"question":2711,"answer":2712},"Чем tmux отличается от screen?","Tmux более современный, поддерживает разделение панелей, мышь и имеет более гибкую настройку. Screen — более старый и простой инструмент.",{"question":2714,"answer":2715},"Как скопировать текст из tmux?","Нажмите `Ctrl+b` затем `[` для входа в режим копирования. Выделите текст стрелками, нажмите `Enter` для копирования. Вставьте через `Ctrl+b` `]`.",{"question":2717,"answer":2718},"Сохраняются ли процессы при отсоединении от сессии?","Да, это ключевая особенность tmux. Процессы продолжают работать даже после отсоединения, что позволяет возобновлять работу с того же места.",{"question":2720,"answer":2721},"Как изменить стандартную комбинацию клавиш?","Добавьте строку `set -g prefix C-a` в файл `~/.tmux.conf`, чтобы заменить `Ctrl+b` на `Ctrl+a`. Перезапустите tmux для применения.",[2723,2726,2729,2732,2735,2738],{"name":2724,"text":2725},"Установите tmux","Установите пакет tmux через системный менеджер пакетов вашего дистрибутива. Для Debian/Ubuntu используйте apt, для Fedora — dnf.",{"name":2727,"text":2728},"Создайте новую сессию","Запусти tmux с именем сессии командой `tmux new -s my_session`. Это создаст изолированное пространство с одним окном.",{"name":2730,"text":2731},"Управляйте окнами","Создавайте новые окна через `Ctrl+b c`, переключайтесь между ними `Ctrl+b n` (следующее) или `Ctrl+b p` (предыдущее). Номер окна отображается в строке состояния.",{"name":2733,"text":2734},"Разделите панели","Разделите текущую панель вертикально `Ctrl+b %` или горизонтально `Ctrl+b \"`. Переключайтесь между панелями через `Ctrl+b стрелка`.",{"name":2736,"text":2737},"Отсоединяйтесь и присоединяйтесь","Отсоединитесь от сессии, нажав `Ctrl+b d`. Вернитесь позже командой `tmux attach -t my_session`. Сессия продолжит работу.",{"name":2739,"text":2740},"Просматривайте и управляйте сессиями","Список активных сессий: `tmux ls`. Удалите завершенную: `tmux kill-session -t my_session`.",[2742,2743,2744,2745,2746,2747,2748,2749,2750,2751],"tmux linux","как использовать tmux","tmux окна","tmux сессии","мультиплексор терминала","управление терминалом linux","tmux основы","tmux установка","tmux команды","tmux для начинающих",{},[2754,2755,2756],"/guides/linux/vim-basics","/guides/linux/bash-scripting","/guides/linux/ssh-tunnels",{"title":2218,"description":2708},"guides/linux/tmux-basics","Это руководство поможет вам освоить tmux — мощный инструмент для управления терминальными сессиями. Вы научитесь запускать, переключать и разделять окна, что повысит вашу продуктивность в Linux.",[2332,1113,1103,2761,2762],"мультиплексор","multiplexer","6DetjSJLQ6op1HKCXy3DEN37V7esyFfOfVcpM8BbGjI",{"id":2765,"title":2766,"appliesTo":2767,"author":12,"body":2769,"canonical":1051,"code":1051,"createdAt":3260,"description":3261,"difficulty":1054,"draft":1055,"estimatedTime":3262,"extension":1057,"faq":3263,"howToSteps":3276,"howToTotalTime":3292,"image":1051,"keywords":3293,"locale":1099,"meta":3302,"navigation":1101,"path":1107,"platform":1103,"related":3303,"section":3307,"seo":3308,"severity":2163,"stem":3309,"summary":3310,"tags":3311,"twitterCreator":1051,"twitterSite":1051,"type":3315,"updatedAt":3260,"__hash__":3316},"content_ru/errors/linux/zsh-command-not-found.md","zsh: command not found — причины и способы исправления",[1248,9,10,8,2768],"Zsh 5.8+",{"type":14,"value":2770,"toc":3249},[2771,2778,2788,2819,2822,2826,2882,2886,2897,2927,2930,2956,2958,2962,2967,2979,2990,3048,3052,3055,3126,3132,3136,3139,3154,3167,3171,3177,3189,3192,3196,3246],[17,2772,2774,2775],{"id":2773},"что-означает-ошибка-zsh-command-not-found","Что означает ошибка ",[66,2776,2777],{},"zsh: command not found",[22,2779,2780,2781,2783,2784,2787],{},"Ошибка ",[66,2782,2777],{}," (иногда с номером 127) появляется, когда оболочка Zsh не может найти исполняемый файл указанной команды ни в одной из директорий, перечисленных в переменной окружения ",[66,2785,2786],{},"PATH",". Полный текст обычно выглядит так:",[117,2789,2791],{"className":119,"code":2790,"language":121,"meta":122,"style":122},"zsh: command not found: \u003Cимя_команды>\n",[66,2792,2793],{"__ignoreMap":122},[126,2794,2795,2798,2801,2804,2807,2810,2813,2816],{"class":128,"line":129},[126,2796,2797],{"class":132},"zsh:",[126,2799,2800],{"class":136}," command",[126,2802,2803],{"class":136}," not",[126,2805,2806],{"class":136}," found:",[126,2808,2809],{"class":444}," \u003C",[126,2811,2812],{"class":136},"имя_команд",[126,2814,2815],{"class":143},"ы",[126,2817,2818],{"class":444},">\n",[22,2820,2821],{},"Это происходит при вводе команды в терминале, и она блокирует выполнение любых скриптов или интерактивных действий, требующих этой утилиты.",[17,2823,2825],{"id":2824},"причины-возникновения","Причины возникновения",[57,2827,2828,2834,2848,2860,2866,2876],{},[34,2829,2830,2833],{},[26,2831,2832],{},"Команда не установлена"," — соответствующего пакета нет в системе.",[34,2835,2836,2841,2842,534,2845,93],{},[26,2837,2838,2839],{},"Директория с исполняемым файлом отсутствует в ",[66,2840,2786],{}," — команда установлена, но Zsh не знает, где её искать (например, программы из ",[66,2843,2844],{},"/snap/bin",[66,2846,2847],{},"/usr/local/bin",[34,2849,2850,2853,2854,2857,2858,325],{},[26,2851,2852],{},"Опечатка в названии команды"," — например, ",[66,2855,2856],{},"gti"," вместо ",[66,2859,92],{},[34,2861,2862,2865],{},[26,2863,2864],{},"Конфликт алиасов или функций"," — алиас с таким же именем содержит ошибку или перенаправляет на несуществующий файл.",[34,2867,2868,1659,2871,2873,2874,325],{},[26,2869,2870],{},"Повреждение или отсутствие конфигурационных файлов Zsh",[66,2872,374],{},"), где задаётся ",[66,2875,2786],{},[34,2877,2878,2881],{},[26,2879,2880],{},"Команда установлена, но для другой архитектуры"," (например, 32-битный бинарник на 64-битной системе без поддержки).",[17,2883,2885],{"id":2884},"способ-1-проверьте-установлена-ли-команда","Способ 1: Проверьте, установлена ли команда",[22,2887,2888,2889,69,2891,534,2894,867],{},"Убедитесь, что команда вообще присутствует в системе. Используйте утилиты ",[66,2890,274],{},[66,2892,2893],{},"type",[66,2895,2896],{},"command -v",[117,2898,2900],{"className":119,"code":2899,"language":121,"meta":122,"style":122},"which git\ntype python3\ncommand -v docker\n",[66,2901,2902,2909,2916],{"__ignoreMap":122},[126,2903,2904,2906],{"class":128,"line":129},[126,2905,274],{"class":157},[126,2907,2908],{"class":136}," git\n",[126,2910,2911,2913],{"class":128,"line":571},[126,2912,2893],{"class":157},[126,2914,2915],{"class":136}," python3\n",[126,2917,2918,2921,2924],{"class":128,"line":577},[126,2919,2920],{"class":157},"command",[126,2922,2923],{"class":157}," -v",[126,2925,2926],{"class":136}," docker\n",[22,2928,2929],{},"Если команда не найдена, ищите пакет, её предоставляющий:",[31,2931,2932,2941,2949],{},[34,2933,2934,2935,289,2938],{},"Для ",[26,2936,2937],{},"Ubuntu/Debian",[66,2939,2940],{},"apt search \u003Cчасть_имени_команды>",[34,2942,2934,2943,289,2946],{},[26,2944,2945],{},"Fedora",[66,2947,2948],{},"dnf search \u003Cчасть_имени_команды>",[34,2950,2934,2951,289,2953],{},[26,2952,10],{},[66,2954,2955],{},"pacman -Ss \u003Cчасть_имени_команды>",[539,2957],{},[17,2959,2961],{"id":2960},"способ-2-проверьте-и-исправьте-переменную-path","Способ 2: Проверьте и исправьте переменную PATH",[22,2963,2964,2965,867],{},"Посмотрите текущий ",[66,2966,2786],{},[117,2968,2970],{"className":119,"code":2969,"language":121,"meta":122,"style":122},"echo $PATH\n",[66,2971,2972],{"__ignoreMap":122},[126,2973,2974,2976],{"class":128,"line":129},[126,2975,316],{"class":157},[126,2977,2978],{"class":143}," $PATH\n",[22,2980,2981,2982,69,2985,69,2987,2989],{},"Вывод — список директорий через двоеточие. Убедитесь, что в нём есть путь к исполняемым файлам вашей команды (например, ",[66,2983,2984],{},"/usr/bin",[66,2986,2847],{},[66,2988,2844],{},"). Если нужной директории нет:",[57,2991,2992,2998,3042],{},[34,2993,423,2994,427,2996,93],{},[66,2995,374],{},[66,2997,430],{},[34,2999,3000,3001,3004,3005,3023,3025,3026],{},"Найдите строку с ",[66,3002,3003],{},"export PATH=...",". Если её нет, добавьте в конец файла:",[117,3006,3008],{"className":119,"code":3007,"language":121,"meta":122,"style":122},"export PATH=$PATH:/дополнительная/директория\n",[66,3009,3010],{"__ignoreMap":122},[126,3011,3012,3015,3018,3020],{"class":128,"line":129},[126,3013,3014],{"class":444},"export",[126,3016,3017],{"class":143}," PATH",[126,3019,445],{"class":444},[126,3021,3022],{"class":143},"$PATH:/дополнительная/директория\n",[2622,3024],{},"Например, для Snap-пакетов:",[117,3027,3029],{"className":119,"code":3028,"language":121,"meta":122,"style":122},"export PATH=$PATH:/snap/bin\n",[66,3030,3031],{"__ignoreMap":122},[126,3032,3033,3035,3037,3039],{"class":128,"line":129},[126,3034,3014],{"class":444},[126,3036,3017],{"class":143},[126,3038,445],{"class":444},[126,3040,3041],{"class":143},"$PATH:/snap/bin\n",[34,3043,3044,3045,3047],{},"Сохраните файл и выполните ",[66,3046,886],{}," или перезапустите терминал.",[17,3049,3051],{"id":3050},"способ-3-установите-недостающую-команду","Способ 3: Установите недостающую команду",[22,3053,3054],{},"Если команда не установлена, установите её через менеджер пакетов. Примеры:",[31,3056,3057,3085,3105],{},[34,3058,3059,867,3062],{},[26,3060,3061],{},"Установка Git на Ubuntu/Debian",[117,3063,3065],{"className":119,"code":3064,"language":121,"meta":122,"style":122},"sudo apt update\nsudo apt install git\n",[66,3066,3067,3075],{"__ignoreMap":122},[126,3068,3069,3071,3073],{"class":128,"line":129},[126,3070,133],{"class":132},[126,3072,137],{"class":136},[126,3074,2273],{"class":136},[126,3076,3077,3079,3081,3083],{"class":128,"line":571},[126,3078,133],{"class":132},[126,3080,137],{"class":136},[126,3082,151],{"class":136},[126,3084,2908],{"class":136},[34,3086,3087,867,3090],{},[26,3088,3089],{},"Установка Docker на Fedora",[117,3091,3093],{"className":119,"code":3092,"language":121,"meta":122,"style":122},"sudo dnf install docker\n",[66,3094,3095],{"__ignoreMap":122},[126,3096,3097,3099,3101,3103],{"class":128,"line":129},[126,3098,133],{"class":132},[126,3100,175],{"class":136},[126,3102,151],{"class":136},[126,3104,2926],{"class":136},[34,3106,3107,867,3110],{},[26,3108,3109],{},"Установка Python на Arch Linux",[117,3111,3113],{"className":119,"code":3112,"language":121,"meta":122,"style":122},"sudo pacman -S python\n",[66,3114,3115],{"__ignoreMap":122},[126,3116,3117,3119,3121,3123],{"class":128,"line":129},[126,3118,133],{"class":132},[126,3120,198],{"class":136},[126,3122,201],{"class":157},[126,3124,3125],{"class":136}," python\n",[22,3127,3128,3129,325],{},"После установки проверьте, появилась ли команда: ",[66,3130,3131],{},"which git",[17,3133,3135],{"id":3134},"способ-4-проверьте-алиасы-и-функции","Способ 4: Проверьте алиасы и функции",[22,3137,3138],{},"Иногда алиас или функция с именем команды может быть определён с ошибкой. Просмотрите список:",[117,3140,3142],{"className":119,"code":3141,"language":121,"meta":122,"style":122},"alias\nfunctions\n",[66,3143,3144,3149],{"__ignoreMap":122},[126,3145,3146],{"class":128,"line":129},[126,3147,3148],{"class":157},"alias\n",[126,3150,3151],{"class":128,"line":571},[126,3152,3153],{"class":132},"functions\n",[22,3155,3156,3157,3160,3161,3163,3164,325],{},"Если видите алиас для проблемной команды (например, ",[66,3158,3159],{},"alias gti='gut'","), удалите его из ",[66,3162,374],{}," или исправьте. Для временного отключения алиаса используйте обратный слеш: ",[66,3165,3166],{},"\\gti",[17,3168,3170],{"id":3169},"способ-5-перезагрузите-оболочку-или-откройте-новый-терминал","Способ 5: Перезагрузите оболочку или откройте новый терминал",[22,3172,3173,3174,3176],{},"Иногда изменения в ",[66,3175,2786],{}," или установка пакетов требуют перезапуска Zsh. Выполните:",[117,3178,3180],{"className":119,"code":3179,"language":121,"meta":122,"style":122},"exec zsh\n",[66,3181,3182],{"__ignoreMap":122},[126,3183,3184,3187],{"class":128,"line":129},[126,3185,3186],{"class":157},"exec",[126,3188,204],{"class":136},[22,3190,3191],{},"или просто закройте и откройте новое окно терминала.",[17,3193,3195],{"id":3194},"профилактика","Профилактика",[31,3197,3198,3212,3220,3228,3240],{},[34,3199,3200,3205,3206,534,3209,93],{},[26,3201,3202,3203],{},"Регулярно обновляйте ",[66,3204,2786],{}," при установке программ в нестандартные директории (например, через ",[66,3207,3208],{},"pip install --user",[66,3210,3211],{},"cargo install",[34,3213,3214,3217,3218,325],{},[26,3215,3216],{},"Используйте менеджеры пакетов"," вместо ручной установки бинарников, чтобы автоматически настраивать ",[66,3219,2786],{},[34,3221,3222,3227],{},[26,3223,3224,3225],{},"Проверяйте ",[66,3226,374],{}," на наличие опечаток или конфликтующих настроек.",[34,3229,3230,3235,3236,3239],{},[26,3231,3232,3233],{},"Сравнивайте ",[66,3234,2786],{}," в Zsh и bash (",[66,3237,3238],{},"echo $PATH"," в каждой), если команда работает в одной оболочке, но не в другой.",[34,3241,3242,3245],{},[26,3243,3244],{},"Избегайте глобальных алиасов"," с именами стандартных утилит, если не уверены в их корректности.",[1024,3247,3248],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":122,"searchDepth":571,"depth":571,"links":3250},[3251,3253,3254,3255,3256,3257,3258,3259],{"id":2773,"depth":571,"text":3252},"Что означает ошибка zsh: command not found",{"id":2824,"depth":571,"text":2825},{"id":2884,"depth":571,"text":2885},{"id":2960,"depth":571,"text":2961},{"id":3050,"depth":571,"text":3051},{"id":3134,"depth":571,"text":3135},{"id":3169,"depth":571,"text":3170},{"id":3194,"depth":571,"text":3195},"2026-02-17 16:19:04","Узнайте, почему в Zsh возникает ошибка 'command not found' и как это исправить. Пошаговые инструкции для Ubuntu, Fedora, Arch Linux и других дистрибутивов.","5-10 мин",[3264,3267,3270,3273],{"question":3265,"answer":3266},"Почему в Zsh команды работают, а в bash — нет?","Чаще всего из-за различий в переменной `PATH` или конфигурационных файлах (`.zshrc` vs `.bashrc`). Проверьте, содержит ли `PATH` в Zsh те же директории, что и в bash.",{"question":3268,"answer":3269},"Как временно обойти ошибку 'command not found'?","Укажите полный путь к исполняемому файлу, например `/usr/bin/git` вместо `git`, или используйте команду `which` для поиска.",{"question":3271,"answer":3272},"Может ли проблема быть в повреждённой установке Zsh?","Да, но редко. Попробуйте переустановить Zsh через менеджер пакетов (`sudo apt reinstall zsh` для Ubuntu/Debian).",{"question":3274,"answer":3275},"Почему после установки программы через `apt` команда не находится?","Программа могла установиться в нестандартную директорию (например, `/snap/bin`). Добавьте эту директорию в `PATH` в `~/.zshrc`.",[3277,3280,3283,3286,3289],{"name":3278,"text":3279},"Проверьте, установлена ли команда","Выполните `which \u003Cкоманда>` или `type \u003Cкоманда>`, чтобы убедиться, что команда доступна в системе.",{"name":3281,"text":3282},"Проверьте переменную PATH","Запустите `echo $PATH` и убедитесь, что директория с исполняемым файлом команды (например, `/usr/bin`) присутствует в списке.",{"name":3284,"text":3285},"Исправьте PATH при необходимости","Если нужной директории нет, отредактируйте `~/.zshrc`, добавив `export PATH=$PATH:/путь/к/директории`, и перезагрузите оболочку.",{"name":3287,"text":3288},"Установите недостающую команду","Если команда не установлена, используйте менеджер пакетов вашего дистрибутива (например, `sudo apt install \u003Cпакет>`).",{"name":3290,"text":3291},"Проверьте алиасы и функции","Запустите `alias` и `functions`, чтобы убедиться, что команда не переопределена алиасом или функцией с ошибкой.","PT10M",[3294,3295,3296,3297,3298,3299,3300,3301],"zsh command not found","ошибка zsh команда не найдена","как исправить zsh command not found","zsh не находит команды","ubuntu zsh command not found","zsh command not found после установки","переменная PATH zsh","bash command not found vs zsh",{},[3304,3305,3306],"/errors/linux/bash-command-not-found","/guides/linux/install-zsh","/guides/linux/customize-zsh","Ошибки Linux",{"title":2766,"description":3261},"errors/linux/zsh-command-not-found","Статья объясняет, почему в Zsh не находятся команды, и предлагает проверенные способы исправления проблемы с PATH или установками.",[3312,238,3313,3314,1113,2786],"ошибки linux","shell","команды","error","EHOsma6-kGs2xRoX3dfTq0Ak_R8r-BZnWzeVcMB8rrA"]