[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/bash-shortcuts":3,"mdc-j601vq-key":1088,"mdc-dhyr21-key":1099,"mdc--izgdnn-key":1116,"mdc-3p5fbh-key":1124,"mdc--723t93-key":1141,"mdc-pdg2p3-key":1149,"mdc-5cuky-key":1157,"mdc--halphp-key":1165,"mdc--ygjkdj-key":1173,"related-/guides/linux/aliases-in-bash,/guides/linux/history-command,/guides/linux/customize-bash-prompt":1181},{"id":4,"title":5,"appliesTo":6,"author":9,"body":10,"canonical":1020,"code":1020,"createdAt":1021,"description":1022,"difficulty":1023,"draft":1024,"estimatedTime":1025,"extension":1026,"faq":1027,"howToSteps":1040,"howToTotalTime":1056,"image":1020,"keywords":1057,"locale":1068,"meta":1069,"navigation":1070,"path":1071,"platform":1072,"related":1073,"section":1077,"seo":1078,"severity":1020,"stem":1079,"summary":1080,"tags":1081,"twitterCreator":1020,"twitterSite":1020,"type":1086,"updatedAt":1021,"__hash__":1087},"content_ru/guides/linux/bash-shortcuts.md","Горячие клавиши Bash: ускорьте работу в терминале Linux",[7,8],"Bash 4.0+","Любой дистрибутив Linux","FixPedia Team",{"type":11,"value":12,"toc":1003},"minimark",[13,18,22,26,29,47,50,54,57,205,227,231,240,364,389,393,396,504,517,521,531,634,650,654,657,757,769,773,776,828,837,841,846,860,870,896,900,920,924,941,988,993,999],[14,15,17],"h2",{"id":16},"введение-зачем-это-нужно","Введение / Зачем это нужно",[19,20,21],"p",{},"Знание сочетаний клавиш в Bash — это как владение скоростной клавиатурой для пилота. Вы сможете управлять командной строкой, не отрывая рук от клавиатуры, что сокращает время выполнения задач на 50% и более. В этом гайде собраны самые полезные и часто используемые комбинации, которые работают в большинстве дистрибутивов Linux по умолчанию. После освоения вы перестанете зависеть от мыши и начнёте работать в терминале по-настоящему быстро.",[14,23,25],{"id":24},"требования-подготовка","Требования / Подготовка",[19,27,28],{},"Для использования этих сочетаний вам потребуется:",[30,31,32,36,44],"ul",{},[33,34,35],"li",{},"Терминал (GNOME Terminal, Konsole, xterm, Alacritty и т.д.)",[33,37,38,39,43],{},"Оболочка ",[40,41,42],"strong",{},"Bash"," (обычно установлена по умолчанию в большинстве дистрибутивов)",[33,45,46],{},"Базовое понимание работы командной строки",[19,48,49],{},"Никакой дополнительной настройки или установки пакетов не требуется — все сочетания работают «из коробки».",[14,51,53],{"id":52},"шаг-1-навигация-по-строке-ввода","Шаг 1: Навигация по строке ввода",[19,55,56],{},"Эти сочетания позволяют перемещать курсор внутри текущей команды или текста, который вы вводите.",[58,59,60,77],"table",{},[61,62,63],"thead",{},[64,65,66,71,74],"tr",{},[67,68,70],"th",{"align":69},"left","Сочетание клавиш",[67,72,73],{"align":69},"Действие",[67,75,76],{"align":69},"Пример использования",[78,79,80,111,133,169,192],"tbody",{},[64,81,82,89,96],{},[83,84,85],"td",{"align":69},[86,87,88],"code",{},"Ctrl + A",[83,90,91,92,95],{"align":69},"Переместить курсор в ",[40,93,94],{},"начало"," строки",[83,97,98,99,102,103,106,107,110],{"align":69},"Вы вводите ",[86,100,101],{},"git commit -m \"fix bug\"",", нажимаете ",[86,104,105],{},"Ctrl+A"," — курсор оказывается перед ",[86,108,109],{},"git",".",[64,112,113,118,123],{},[83,114,115],{"align":69},[86,116,117],{},"Ctrl + E",[83,119,91,120,95],{"align":69},[40,121,122],{},"конец",[83,124,125,126,128,129,132],{"align":69},"После ",[86,127,105],{}," курсор в начале, ",[86,130,131],{},"Ctrl+E"," вернёт его в конец.",[64,134,135,148,155],{},[83,136,137,140,141,144,145],{"align":69},[86,138,139],{},"Alt + B"," или ",[86,142,143],{},"Esc"," затем ",[86,146,147],{},"B",[83,149,150,151,154],{"align":69},"Переместить курсор ",[40,152,153],{},"на одно слово назад"," (к началу)",[83,156,157,158,161,162,165,166,110],{"align":69},"В строке ",[86,159,160],{},"cd /var/log/apache2"," нажимаете ",[86,163,164],{},"Alt+B"," — курсор перескакивает на ",[86,167,168],{},"/",[64,170,171,181,187],{},[83,172,173,140,176,144,178],{"align":69},[86,174,175],{},"Alt + F",[86,177,143],{},[86,179,180],{},"F",[83,182,150,183,186],{"align":69},[40,184,185],{},"на одно слово вперёд"," (к концу)",[83,188,189,190,110],{"align":69},"Обратное действие к ",[86,191,164],{},[64,193,194,199,202],{},[83,195,196],{"align":69},[86,197,198],{},"Ctrl + XX",[83,200,201],{"align":69},"Переключение между началом строки и текущей позицией курсора",[83,203,204],{"align":69},"Быстрый способ вернуться к началу и обратно, не теряя места.",[19,206,207,210,211,214,215,218,219,221,222,224,225,110],{},[40,208,209],{},"💡 Совет:"," На многих клавиатурах ",[86,212,213],{},"Alt"," может называться ",[86,216,217],{},"Meta",". Если ",[86,220,164],{}," не работает, попробуйте ",[86,223,143],{}," (отпустите его), а затем ",[86,226,147],{},[14,228,230],{"id":229},"шаг-2-редактирование-текста","Шаг 2: Редактирование текста",[19,232,233,234,140,237,110],{},"Эти команды помогают быстро вносить правки без использования клавиши ",[86,235,236],{},"Backspace",[86,238,239],{},"Delete",[58,241,242,250],{},[61,243,244],{},[64,245,246,248],{},[67,247,70],{"align":69},[67,249,73],{"align":69},[78,251,252,270,284,301,321,338],{},[64,253,254,259],{},[83,255,256],{"align":69},[86,257,258],{},"Ctrl + U",[83,260,261,262,265,266,269],{"align":69},"Удалить ",[40,263,264],{},"весь текст"," от текущей позиции курсора ",[40,267,268],{},"до начала"," строки.",[64,271,272,277],{},[83,273,274],{"align":69},[86,275,276],{},"Ctrl + K",[83,278,261,279,265,281,269],{"align":69},[40,280,264],{},[40,282,283],{},"до конца",[64,285,286,291],{},[83,287,288],{"align":69},[86,289,290],{},"Ctrl + W",[83,292,261,293,296,297,300],{"align":69},[40,294,295],{},"слово",", находящееся ",[40,298,299],{},"перед"," курсором (от начала слова до курсора).",[64,302,303,313],{},[83,304,305,140,308,144,310],{"align":69},[86,306,307],{},"Alt + D",[86,309,143],{},[86,311,312],{},"D",[83,314,261,315,296,317,320],{"align":69},[40,316,295],{},[40,318,319],{},"после"," курсора (от курсора до конца слова).",[64,322,323,328],{},[83,324,325],{"align":69},[86,326,327],{},"Ctrl + Y",[83,329,330,333,334,337],{"align":69},[40,331,332],{},"Вставить"," (откатить) последний удалённый текст (аналог ",[86,335,336],{},"Ctrl+V"," в текстовых редакторах).",[64,339,340,345],{},[83,341,342],{"align":69},[86,343,344],{},"Ctrl + T",[83,346,347,348,351,352,355,356,359,360,363],{"align":69},"Поменять местами ",[40,349,350],{},"два символа"," перед курсором (например, если написали ",[86,353,354],{},"sl",", нажмёте ",[86,357,358],{},"Ctrl+T"," — станет ",[86,361,362],{},"ls",").",[19,365,366,369,370,373,374,355,377,380,381,384,385,388],{},[40,367,368],{},"Пример:"," Вы написали ",[86,371,372],{},"git comit -m \"message\"",". Поставите курсор после ",[86,375,376],{},"comit",[86,378,379],{},"Alt+D"," — удалится ",[86,382,383],{},"it",". Затем начнёте вводить ",[86,386,387],{},"mit"," или используйте автодополнение.",[14,390,392],{"id":391},"шаг-3-работа-с-историей-команд","Шаг 3: Работа с историей команд",[19,394,395],{},"Bash сохраняет историю всех введённых команд. Эти сочетания позволяют быстро находить и повторять их.",[58,397,398,406],{},[61,399,400],{},[64,401,402,404],{},[67,403,70],{"align":69},[67,405,73],{"align":69},[78,407,408,435,448,461,491],{},[64,409,410,415],{},[83,411,412],{"align":69},[86,413,414],{},"Ctrl + R",[83,416,417,420,421,423,424,427,428,431,432,434],{"align":69},[40,418,419],{},"Инкрементальный поиск"," по истории. Начните вводить часть команды (например, ",[86,422,109],{},"), и Bash будет показывать последние совпадения. Повторное нажатие ",[86,425,426],{},"Ctrl+R"," — следующее совпадение. ",[86,429,430],{},"Enter"," — выполнить, ",[86,433,143],{}," или стрелки — редактировать.",[64,436,437,445],{},[83,438,439,140,442],{"align":69},[86,440,441],{},"Ctrl + P",[86,443,444],{},"↑",[83,446,447],{"align":69},"Предыдущая команда в истории (аналог стрелки вверх).",[64,449,450,458],{},[83,451,452,140,455],{"align":69},[86,453,454],{},"Ctrl + N",[86,456,457],{},"↓",[83,459,460],{"align":69},"Следующая команда в истории (аналог стрелки вниз).",[64,462,463,469],{},[83,464,465,468],{"align":69},[86,466,467],{},"Alt + ."," (точка)",[83,470,471,472,475,476,479,480,483,484,487,488,110],{"align":69},"Вставить ",[40,473,474],{},"аргумент"," (последний параметр) из предыдущей команды. Полезно для ",[86,477,478],{},"cd",": ",[86,481,482],{},"cd /some/long/path",", затем ",[86,485,486],{},"ls Alt+."," → ",[86,489,490],{},"ls /some/long/path",[64,492,493,498],{},[83,494,495],{"align":69},[86,496,497],{},"Ctrl + G",[83,499,500,501,503],{"align":69},"Выйти из режима поиска (",[86,502,426],{},") без выполнения команды.",[19,505,506,509,510,513,514,110],{},[40,507,508],{},"⚠️ Важно:"," По умолчанию Bash хранит историю в файле ",[86,511,512],{},"~/.bash_history",". Размер истории настраивается переменной ",[86,515,516],{},"HISTSIZE",[14,518,520],{"id":519},"шаг-4-управление-фоновыми-задачами","Шаг 4: Управление фоновыми задачами",[19,522,523,524,140,527,530],{},"Когда вы запускаете процесс (например, ",[86,525,526],{},"ping",[86,528,529],{},"top","), эти сочетания позволяют управлять им без открытия нового терминала.",[58,532,533,541],{},[61,534,535],{},[64,536,537,539],{},[67,538,70],{"align":69},[67,540,73],{"align":69},[78,542,543,559,576,589,606,620],{},[64,544,545,550],{},[83,546,547],{"align":69},[86,548,549],{},"Ctrl + C",[83,551,552,555,556,363],{"align":69},[40,553,554],{},"Прервать"," текущий процесс (отправить сигнал ",[86,557,558],{},"SIGINT",[64,560,561,566],{},[83,562,563],{"align":69},[86,564,565],{},"Ctrl + Z",[83,567,568,571,572,575],{"align":69},[40,569,570],{},"Остановить"," процесс (приостановить, сигнал ",[86,573,574],{},"SIGTSTP",") и вернуться в оболочку. Процесс остаётся в памяти.",[64,577,578,583],{},[83,579,580],{"align":69},[86,581,582],{},"fg",[83,584,585,588],{"align":69},[40,586,587],{},"Вернуть"," остановленный процесс на передний план (foreground).",[64,590,591,596],{},[83,592,593],{"align":69},[86,594,595],{},"bg",[83,597,598,601,602,605],{"align":69},[40,599,600],{},"Запустить"," остановленный процесс в ",[40,603,604],{},"фоновом"," режиме (background).",[64,607,608,613],{},[83,609,610],{"align":69},[86,611,612],{},"jobs",[83,614,615,616,619],{"align":69},"Показать список ",[40,617,618],{},"остановленных"," и фоновых задач в текущей сессии.",[64,621,622,627],{},[83,623,624],{"align":69},[86,625,626],{},"Ctrl + D",[83,628,629,630,633],{"align":69},"Выход из оболочки (эквивалент команды ",[86,631,632],{},"exit","). Если ввод строки пуст, закрывает терминал.",[19,635,636,638,639,642,643,646,647,649],{},[40,637,368],{}," Запустили долгую команду ",[86,640,641],{},"find / -name \"*.log\"",". Нажали ",[86,644,645],{},"Ctrl+Z"," → процесс остановлен. Ввели ",[86,648,595],{}," → процесс продолжается в фоне, вы можете работать дальше.",[14,651,653],{"id":652},"шаг-5-дополнительные-полезные-сочетания","Шаг 5: Дополнительные полезные сочетания",[19,655,656],{},"Эти комбинации упростят повседневные задачи.",[58,658,659,667],{},[61,660,661],{},[64,662,663,665],{},[67,664,70],{"align":69},[67,666,73],{"align":69},[78,668,669,682,698,711,726,741],{},[64,670,671,676],{},[83,672,673],{"align":69},[86,674,675],{},"Tab",[83,677,678,681],{"align":69},[40,679,680],{},"Автодополнение"," имён файлов, команд, путей. Нажмите один раз для дополнения, два раза — показать все варианты.",[64,683,684,689],{},[83,685,686],{"align":69},[86,687,688],{},"Ctrl + L",[83,690,691,694,695,363],{"align":69},[40,692,693],{},"Очистить"," экран терминала (аналог команды ",[86,696,697],{},"clear",[64,699,700,705],{},[83,701,702],{"align":69},[86,703,704],{},"Ctrl + I",[83,706,707,708,710],{"align":69},"То же, что ",[86,709,675],{}," (редко используется).",[64,712,713,718],{},[83,714,715],{"align":69},[86,716,717],{},"Ctrl + H",[83,719,720,721,723,724,363],{"align":69},"Удалить один символ ",[40,722,299],{}," курсором (аналог ",[86,725,236],{},[64,727,728,733],{},[83,729,730],{"align":69},[86,731,732],{},"Ctrl + S",[83,734,735,737,738,740],{"align":69},[40,736,570],{}," вывод на экран (XOFF). Полезно, когда ",[86,739,362],{}," выводит слишком много.",[64,742,743,748],{},[83,744,745],{"align":69},[86,746,747],{},"Ctrl + Q",[83,749,750,753,754,110],{"align":69},[40,751,752],{},"Возобновить"," вывод на экран (XON) после ",[86,755,756],{},"Ctrl+S",[19,758,759,761,762,764,765,768],{},[40,760,209],{}," Комбинация ",[86,763,756],{}," может казаться «зависанием» терминала. Если экран перестал реагировать на ввод, попробуйте ",[86,766,767],{},"Ctrl+Q",", чтобы разблокировать.",[14,770,772],{"id":771},"проверка-результата","Проверка результата",[19,774,775],{},"Вы освоили сочетания, если можете:",[777,778,779,789,801,807,818],"ol",{},[33,780,781,782,785,786,110],{},"Быстро перемещаться по длинной команде с помощью ",[86,783,784],{},"Ctrl+A/E",", ",[86,787,788],{},"Alt+B/F",[33,790,791,792,785,795,797,798,363],{},"Удалять целые слова (",[86,793,794],{},"Ctrl+W",[86,796,379],{},") и восстанавливать их (",[86,799,800],{},"Ctrl+Y",[33,802,803,804,806],{},"Находить в истории прошлые команды через ",[86,805,426],{}," без их полного перебора.",[33,808,809,810,812,813,168,815,817],{},"Останавливать (",[86,811,645],{},") и возобновлять (",[86,814,582],{},[86,816,595],{},") процессы.",[33,819,820,821,823,824,827],{},"Использовать ",[86,822,675],{}," для автодополнения и ",[86,825,826],{},"Ctrl+L"," для очистки экрана.",[19,829,830,833,834,836],{},[40,831,832],{},"Практика:"," Откройте терминал, наберите сложную команду (например, с несколькими путями) и попробуйте все сочетания из шагов 1-5. Поиграйте с историей: выполните несколько команд, затем нажмите ",[86,835,426],{}," и начните вводить их первую букву.",[14,838,840],{"id":839},"возможные-проблемы","Возможные проблемы",[842,843,845],"h3",{"id":844},"_1-сочетания-не-работают-в-моём-терминале","1. Сочетания не работают в моём терминале",[19,847,848,849,852,853,856,857,363],{},"Чаще всего проблема в настройках самого эмулятора терминала. Например, в ",[40,850,851],{},"GNOME Terminal"," зайдите в ",[86,854,855],{},"Правка → Настройки клавиш"," и убедитесь, что сочетания не переназначены. Также проверьте, не включён ли «Режим совместимости» (например, для ",[86,858,859],{},"Ctrl+Shift+C/V",[842,861,863,864,168,866,869],{"id":862},"_2-altbaltf-ничего-не-делают","2. ",[86,865,164],{},[86,867,868],{},"Alt+F"," ничего не делают",[19,871,872,873,875,876,878,879,140,881,883,884,887,888,891,892,895],{},"На некоторых системах клавиша ",[86,874,213],{}," используется для вызова меню. Попробуйте нажать ",[86,877,143],{},", отпустить, а затем ",[86,880,147],{},[86,882,180],{},". Это эквивалент ",[86,885,886],{},"Alt+\u003Cклавиша>",". Если и это не работает, проверьте переменную оболочки ",[86,889,890],{},"$TERM"," (должна быть ",[86,893,894],{},"xterm-256color"," или подобной).",[842,897,899],{"id":898},"_3-конфликт-с-другими-программами-например-screentmux","3. Конфликт с другими программами (например, screen/tmux)",[19,901,902,903,140,906,909,910,913,914,144,916,919],{},"Если вы используете ",[40,904,905],{},"tmux",[40,907,908],{},"screen",", они могут перехватывать некоторые сочетания (особенно ",[86,911,912],{},"Ctrl+B"," в tmux). В таком случае нужно использовать их префикс (например, ",[86,915,912],{},[86,917,918],{},"["," для режима копирования в tmux). Для обычного Bash вне мультиплексеров проблем быть не должно.",[842,921,923],{"id":922},"_4-история-не-сохраняется-между-сессиями","4. История не сохраняется между сессиями",[19,925,926,927,930,931,140,933,936,937,940],{},"По умолчанию Bash сохраняет историю только при ",[40,928,929],{},"нормальном выходе"," (",[86,932,632],{},[86,934,935],{},"Ctrl+D","). Если терминал закрыть «кнопкой крестик», история может потеряться. Чтобы этого избежать, добавьте в ",[86,938,939],{},"~/.bashrc",":",[942,943,948],"pre",{"className":944,"code":945,"language":946,"meta":947,"style":947},"language-bash shiki shiki-themes github-light github-dark","# Сохранять историю после каждой команды, а не при выходе\nshopt -s histappend\nPROMPT_COMMAND='history -a'\n","bash","",[86,949,950,959,974],{"__ignoreMap":947},[951,952,955],"span",{"class":953,"line":954},"line",1,[951,956,958],{"class":957},"sJ8bj","# Сохранять историю после каждой команды, а не при выходе\n",[951,960,962,966,970],{"class":953,"line":961},2,[951,963,965],{"class":964},"sScJk","shopt",[951,967,969],{"class":968},"sj4cs"," -s",[951,971,973],{"class":972},"sZZnC"," histappend\n",[951,975,977,981,985],{"class":953,"line":976},3,[951,978,980],{"class":979},"sVt8B","PROMPT_COMMAND",[951,982,984],{"class":983},"szBVR","=",[951,986,987],{"class":972},"'history -a'\n",[19,989,990,991,110],{},"После этого каждая команда будет сразу записываться в ",[86,992,512],{},[994,995,996],"in-article-ad",{},[19,997,998],{},":::",[1000,1001,1002],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}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);}",{"title":947,"searchDepth":961,"depth":961,"links":1004},[1005,1006,1007,1008,1009,1010,1011,1012,1013],{"id":16,"depth":961,"text":17},{"id":24,"depth":961,"text":25},{"id":52,"depth":961,"text":53},{"id":229,"depth":961,"text":230},{"id":391,"depth":961,"text":392},{"id":519,"depth":961,"text":520},{"id":652,"depth":961,"text":653},{"id":771,"depth":961,"text":772},{"id":839,"depth":961,"text":840,"children":1014},[1015,1016,1018,1019],{"id":844,"depth":976,"text":845},{"id":862,"depth":976,"text":1017},"2. Alt+B/Alt+F ничего не делают",{"id":898,"depth":976,"text":899},{"id":922,"depth":976,"text":923},null,"2026-02-15 20:28:10","Изучите основные сочетания клавиш для Bash, чтобы управлять командной строкой без мыши. Пошаговый справочник с примерами для Linux. Начните экономить время уже сегодня!","easy",false,"5-10 мин","md",[1028,1031,1034,1037],{"question":1029,"answer":1030},"Почему некоторые сочетания клавиш в Bash не работают в моём терминале?","Чаще всего это связано с настройками самого терминала (например, GNOME Terminal) или конфликтом с другими программами. Проверьте, не переназначены ли клавиши в настройках терминала, и убедитесь, что вы используете именно Bash, а не другую оболочку.",{"question":1032,"answer":1033},"Можно ли изменить стандартные сочетания клавиш в Bash?","Да, через конфигурационный файл `~/.inputrc` вы можете переназначить большинство сочетаний. Это продвинутая тема; для начала достаточно освоить стандартные.",{"question":1035,"answer":1036},"Эти сочетания работают в других оболочках, например, Zsh или Fish?","Большинство базовых сочетаний (навигация, история) универсальны и работают в большинстве оболочек благодаря библиотеке Readline. Однако некоторые специфичные для Bash могут отличаться.",{"question":1038,"answer":1039},"Как быстро проверить, что я запомнил сочетания?","Откройте терминал, наберите длинную команду (например, `ls -la /usr/share/doc`) и попробуйте перемещаться по ней, редактировать, искать в истории. Практика — лучший учитель.",[1041,1044,1047,1050,1053],{"name":1042,"text":1043},"Освойте навигацию по строке ввода","Учитесь перемещать курсор и переходить между словами без использования стрелок или мыши.",{"name":1045,"text":1046},"Освойте редактирование текста","Научитесь удалять, вставлять и исправлять опечатки эффективными комбинациями.",{"name":1048,"text":1049},"Работайте с историей команд","Используйте поиск и повторение ранее выполненных команд, чтобы не вводить их заново.",{"name":1051,"text":1052},"Управляйте фоновыми задачами","Останавливайте, возобновляйте и завершайте процессы прямо из терминала.",{"name":1054,"text":1055},"Изучите дополнительные полезные сочетания","Добавьте в арсенал команды для очистки экрана, автодополнения и других задач.","PT10M",[1058,1059,1060,1061,1062,1063,1064,1065,1066,1067],"горячие клавиши bash","сочетания клавиш терминал linux","bash keyboard shortcuts","управление bash клавиатурой","как работать в bash быстрее","bash shortcuts linux","горячие клавиши в linux терминале","bash команды клавиши","сочетания клавиш для bash","bash hotkeys","ru_RU",{},true,"/guides/linux/bash-shortcuts","linux",[1074,1075,1076],"/guides/linux/aliases-in-bash","/guides/linux/history-command","/guides/linux/customize-bash-prompt","Гайды по Linux",{"title":5,"description":1022},"guides/linux/bash-shortcuts","Этот гайд познакомит вас с ключевыми сочетаниями клавиш для оболочки Bash, которые кардинально ускорят навигацию и редактирование в терминале Linux.",[946,1072,1082,1083,1084,1085],"shortcuts","terminal","клавиши","hotkeys","guide","gsxRLMr8ZzUf8bKCHbwTZGGFkxHlh6_xgWxF5urZjXI",{"data":1089,"body":1090},{},{"type":1091,"children":1092},"root",[1093],{"type":1094,"tag":19,"props":1095,"children":1096},"element",{},[1097],{"type":1098,"value":1030},"text",{"data":1100,"body":1101},{},{"type":1091,"children":1102},[1103],{"type":1094,"tag":19,"props":1104,"children":1105},{},[1106,1108,1114],{"type":1098,"value":1107},"Да, через конфигурационный файл ",{"type":1094,"tag":86,"props":1109,"children":1111},{"className":1110},[],[1112],{"type":1098,"value":1113},"~/.inputrc",{"type":1098,"value":1115}," вы можете переназначить большинство сочетаний. Это продвинутая тема; для начала достаточно освоить стандартные.",{"data":1117,"body":1118},{},{"type":1091,"children":1119},[1120],{"type":1094,"tag":19,"props":1121,"children":1122},{},[1123],{"type":1098,"value":1036},{"data":1125,"body":1126},{},{"type":1091,"children":1127},[1128],{"type":1094,"tag":19,"props":1129,"children":1130},{},[1131,1133,1139],{"type":1098,"value":1132},"Откройте терминал, наберите длинную команду (например, ",{"type":1094,"tag":86,"props":1134,"children":1136},{"className":1135},[],[1137],{"type":1098,"value":1138},"ls -la /usr/share/doc",{"type":1098,"value":1140},") и попробуйте перемещаться по ней, редактировать, искать в истории. Практика — лучший учитель.",{"data":1142,"body":1143},{},{"type":1091,"children":1144},[1145],{"type":1094,"tag":19,"props":1146,"children":1147},{},[1148],{"type":1098,"value":1043},{"data":1150,"body":1151},{},{"type":1091,"children":1152},[1153],{"type":1094,"tag":19,"props":1154,"children":1155},{},[1156],{"type":1098,"value":1046},{"data":1158,"body":1159},{},{"type":1091,"children":1160},[1161],{"type":1094,"tag":19,"props":1162,"children":1163},{},[1164],{"type":1098,"value":1049},{"data":1166,"body":1167},{},{"type":1091,"children":1168},[1169],{"type":1094,"tag":19,"props":1170,"children":1171},{},[1172],{"type":1098,"value":1052},{"data":1174,"body":1175},{},{"type":1091,"children":1176},[1177],{"type":1094,"tag":19,"props":1178,"children":1179},{},[1180],{"type":1098,"value":1055},[1182,2333,3374],{"id":1183,"title":1184,"appliesTo":1185,"author":9,"body":1190,"canonical":1020,"code":1020,"createdAt":2274,"description":2275,"difficulty":1023,"draft":1024,"estimatedTime":2276,"extension":1026,"faq":2277,"howToSteps":2290,"howToTotalTime":2309,"image":1020,"keywords":2310,"locale":1068,"meta":2319,"navigation":1070,"path":1074,"platform":1072,"related":2320,"section":2324,"seo":2325,"severity":1020,"stem":2326,"summary":2327,"tags":2328,"twitterCreator":1020,"twitterSite":1020,"type":1086,"updatedAt":2274,"__hash__":2332},"content_ru/guides/linux/aliases-in-bash.md","Создание и управление алиасами в Bash: полное руководство",[7,1186,1187,1188,1189],"Ubuntu 20.04+","Debian 11+","CentOS 8+","Fedora 35+",{"type":11,"value":1191,"toc":2258},[1192,1194,1207,1210,1232,1235,1237,1240,1277,1281,1285,1292,1304,1355,1359,1381,1385,1391,1483,1485,1491,1496,1725,1733,1738,1850,1854,1867,1872,1919,1924,1939,1945,1987,1992,2007,2011,2088,2090,2128,2131,2148,2150,2255],[14,1193,17],{"id":16},[19,1195,1196,1199,1200,1203,1204,363],{},[40,1197,1198],{},"Алиасы (aliases)"," в Bash — это один из самых простых и эффективных способов автоматизировать рутинные команды и сократить время, затрачиваемое на работу в терминале. Вместо того чтобы каждый раз печатать длинную цепочку команд (например, ",[86,1201,1202],{},"sudo apt update && sudo apt upgrade -y","), вы создаёте короткое, запоминающееся сокращение (например, ",[86,1205,1206],{},"update",[19,1208,1209],{},"После прохождения этого гайда вы сможете:",[30,1211,1212,1219,1226,1229],{},[33,1213,1214,1215,1218],{},"Создавать ",[40,1216,1217],{},"временные"," алиасы для текущей сессии терминала.",[33,1220,1221,1222,1225],{},"Настраивать ",[40,1223,1224],{},"постоянные"," алиасы, которые загружаются автоматически при каждом запуске Bash.",[33,1227,1228],{},"Использовать алиасы с аргументами через функции.",[33,1230,1231],{},"Организовывать и управлять своей коллекцией алиасов.",[19,1233,1234],{},"Это особенно полезно для разработчиков, системных администраторов и всех, кто регулярно работает с командной строкой Linux.",[14,1236,25],{"id":24},[19,1238,1239],{},"Перед началом убедитесь, что:",[777,1241,1242,1245,1258,1267],{},[33,1243,1244],{},"У вас есть доступ к терминалу Linux (Ubuntu, Debian, CentOS, Fedora, Arch и др.).",[33,1246,1247,1248,785,1250,785,1252,168,1255,363],{},"Вы знакомы с базовыми командами (",[86,1249,478],{},[86,1251,362],{},[86,1253,1254],{},"nano",[86,1256,1257],{},"vim",[33,1259,1260,1261,1263,1264,110],{},"У вас установлен ",[40,1262,42],{}," (версии 4.0 и новее). Проверить версию: ",[86,1265,1266],{},"bash --version",[33,1268,1269,1270,1273,1274,110],{},"Для некоторых алиасов (например, с ",[86,1271,1272],{},"sudo",") у вашего пользователя должны быть соответствующие права в ",[86,1275,1276],{},"sudoers",[14,1278,1280],{"id":1279},"пошаговая-инструкция","Пошаговая инструкция",[842,1282,1284],{"id":1283},"шаг-1-понимание-синтаксиса-алиаса","Шаг 1: Понимание синтаксиса алиаса",[19,1286,1287,1288,1291],{},"Базовый синтаксис команды ",[86,1289,1290],{},"alias"," выглядит так:",[942,1293,1295],{"className":944,"code":1294,"language":946,"meta":947,"style":947},"alias имя_алиаса='команда_с_аргументами'\n",[86,1296,1297],{"__ignoreMap":947},[951,1298,1299,1301],{"class":953,"line":954},[951,1300,1290],{"class":968},[951,1302,1303],{"class":972}," имя_алиаса='команда_с_аргументами'\n",[30,1305,1306,1320,1334],{},[33,1307,1308,1311,1312,785,1315,785,1318,363],{},[86,1309,1310],{},"имя_алиаса"," — короткое слово без пробелов (например, ",[86,1313,1314],{},"ll",[86,1316,1317],{},"gs",[86,1319,1206],{},[33,1321,1322,1325,1326,1329,1330,1333],{},[86,1323,1324],{},"команда_с_аргументами"," — полная команда или цепочка команд, которую вы хотите сократить. ",[40,1327,1328],{},"Важно заключить её в кавычки"," (одинарные ",[86,1331,1332],{},"' '"," предпочтительнее, они предотвращают преждевременную подстановку переменных).",[33,1335,1336,1337,1340,1341,1343,1344,1346,1347,1343,1349,1351,1352,1354],{},"Пробел ",[40,1338,1339],{},"только"," между ",[86,1342,1290],{}," и ",[86,1345,1310],{},". Между ",[86,1348,1310],{},[86,1350,984],{}," и между ",[86,1353,984],{}," и кавычками пробелов быть не должно.",[19,1356,1357],{},[40,1358,368],{},[942,1360,1362],{"className":944,"code":1361,"language":946,"meta":947,"style":947},"# Создаёт алиас 'll', который выполняет 'ls -la' с цветовой подсветкой\nalias ll='ls -la --color=auto'\n",[86,1363,1364,1369],{"__ignoreMap":947},[951,1365,1366],{"class":953,"line":954},[951,1367,1368],{"class":957},"# Создаёт алиас 'll', который выполняет 'ls -la' с цветовой подсветкой\n",[951,1370,1371,1373,1376,1378],{"class":953,"line":961},[951,1372,1290],{"class":983},[951,1374,1375],{"class":979}," ll",[951,1377,984],{"class":983},[951,1379,1380],{"class":972},"'ls -la --color=auto'\n",[842,1382,1384],{"id":1383},"шаг-2-создание-временного-алиаса-для-текущей-сессии","Шаг 2: Создание временного алиаса (для текущей сессии)",[19,1386,1387,1388,110],{},"Самый быстрый способ протестировать алиас — создать его прямо в терминале. Он будет работать ",[40,1389,1390],{},"только до тех пор, пока открыт текущий терминал",[777,1392,1393,1440,1477],{},[33,1394,1395,1396,1398,1399],{},"Введите команду ",[86,1397,1290],{}," с нужным определением. Например, для Git:\n",[942,1400,1402],{"className":944,"code":1401,"language":946,"meta":947,"style":947},"alias gs='git status'\nalias ga='git add'\nalias gc='git commit -m'\n",[86,1403,1404,1416,1428],{"__ignoreMap":947},[951,1405,1406,1408,1411,1413],{"class":953,"line":954},[951,1407,1290],{"class":983},[951,1409,1410],{"class":979}," gs",[951,1412,984],{"class":983},[951,1414,1415],{"class":972},"'git status'\n",[951,1417,1418,1420,1423,1425],{"class":953,"line":961},[951,1419,1290],{"class":983},[951,1421,1422],{"class":979}," ga",[951,1424,984],{"class":983},[951,1426,1427],{"class":972},"'git add'\n",[951,1429,1430,1432,1435,1437],{"class":953,"line":976},[951,1431,1290],{"class":983},[951,1433,1434],{"class":979}," gc",[951,1436,984],{"class":983},[951,1438,1439],{"class":972},"'git commit -m'\n",[33,1441,1442,1443],{},"Сразу же используйте новый алиас:\n",[942,1444,1446],{"className":944,"code":1445,"language":946,"meta":947,"style":947},"gs  # Выведет статус git-репозитория\nga .  # Добавит все изменения\ngc \"fix: updated readme\"  # Сделает коммит с сообщением\n",[86,1447,1448,1455,1466],{"__ignoreMap":947},[951,1449,1450,1452],{"class":953,"line":954},[951,1451,1317],{"class":964},[951,1453,1454],{"class":957},"  # Выведет статус git-репозитория\n",[951,1456,1457,1460,1463],{"class":953,"line":961},[951,1458,1459],{"class":964},"ga",[951,1461,1462],{"class":972}," .",[951,1464,1465],{"class":957},"  # Добавит все изменения\n",[951,1467,1468,1471,1474],{"class":953,"line":976},[951,1469,1470],{"class":964},"gc",[951,1472,1473],{"class":972}," \"fix: updated readme\"",[951,1475,1476],{"class":957},"  # Сделает коммит с сообщением\n",[33,1478,1479,1482],{},[40,1480,1481],{},"Важно:"," Все временные алиасы исчезнут после закрытия терминала или открытия нового.",[994,1484],{},[842,1486,1488,1489],{"id":1487},"шаг-3-создание-постоянного-алиаса-через-bashrc","Шаг 3: Создание постоянного алиаса через ",[86,1490,939],{},[19,1492,1493,1494,110],{},"Чтобы алиасы сохранялись между сессиями, их нужно добавить в конфигурационный файл Bash. Стандартный и самый распространённый файл — ",[86,1495,939],{},[777,1497,1498,1542,1551,1684,1706],{},[33,1499,1500,1505,1506],{},[40,1501,1502,1503],{},"Откройте файл ",[86,1504,939],{}," в текстовом редакторе. Используйте любой удобный вам:\n",[942,1507,1509],{"className":944,"code":1508,"language":946,"meta":947,"style":947},"nano ~/.bashrc\n# или\nvim ~/.bashrc\n# или, если установлен VS Code\ncode ~/.bashrc\n",[86,1510,1511,1518,1523,1529,1535],{"__ignoreMap":947},[951,1512,1513,1515],{"class":953,"line":954},[951,1514,1254],{"class":964},[951,1516,1517],{"class":972}," ~/.bashrc\n",[951,1519,1520],{"class":953,"line":961},[951,1521,1522],{"class":957},"# или\n",[951,1524,1525,1527],{"class":953,"line":976},[951,1526,1257],{"class":964},[951,1528,1517],{"class":972},[951,1530,1532],{"class":953,"line":1531},4,[951,1533,1534],{"class":957},"# или, если установлен VS Code\n",[951,1536,1538,1540],{"class":953,"line":1537},5,[951,1539,86],{"class":964},[951,1541,1517],{"class":972},[33,1543,1544,1547,1548,363],{},[40,1545,1546],{},"Прокрутите файл вниз"," и найдите подходящее место для добавления (например, в самом конце файла или после комментариев ",[86,1549,1550],{},"# Aliases",[33,1552,1553,1556,1557],{},[40,1554,1555],{},"Добавьте свои алиасы",", каждый с новой строки. Рекомендуется группировать их и добавлять комментарии для ясности.\n",[942,1558,1560],{"className":944,"code":1559,"language":946,"meta":947,"style":947},"# --- Мои полезные алиасы ---\n# Система\nalias update='sudo apt update && sudo apt upgrade -y'\nalias rebootnow='sudo reboot'\n\n# Навигация\nalias ..='cd ..'\nalias ...='cd ../..'\nalias c='clear'\n\n# Git (если используете)\nalias gs='git status'\nalias gd='git diff'\nalias gl='git log --oneline --graph --all --decorate'\n",[86,1561,1562,1567,1572,1584,1596,1601,1607,1615,1623,1636,1641,1647,1658,1671],{"__ignoreMap":947},[951,1563,1564],{"class":953,"line":954},[951,1565,1566],{"class":957},"# --- Мои полезные алиасы ---\n",[951,1568,1569],{"class":953,"line":961},[951,1570,1571],{"class":957},"# Система\n",[951,1573,1574,1576,1579,1581],{"class":953,"line":976},[951,1575,1290],{"class":983},[951,1577,1578],{"class":979}," update",[951,1580,984],{"class":983},[951,1582,1583],{"class":972},"'sudo apt update && sudo apt upgrade -y'\n",[951,1585,1586,1588,1591,1593],{"class":953,"line":1531},[951,1587,1290],{"class":983},[951,1589,1590],{"class":979}," rebootnow",[951,1592,984],{"class":983},[951,1594,1595],{"class":972},"'sudo reboot'\n",[951,1597,1598],{"class":953,"line":1537},[951,1599,1600],{"emptyLinePlaceholder":1070},"\n",[951,1602,1604],{"class":953,"line":1603},6,[951,1605,1606],{"class":957},"# Навигация\n",[951,1608,1610,1612],{"class":953,"line":1609},7,[951,1611,1290],{"class":968},[951,1613,1614],{"class":972}," ..='cd ..'\n",[951,1616,1618,1620],{"class":953,"line":1617},8,[951,1619,1290],{"class":968},[951,1621,1622],{"class":972}," ...='cd ../..'\n",[951,1624,1626,1628,1631,1633],{"class":953,"line":1625},9,[951,1627,1290],{"class":983},[951,1629,1630],{"class":979}," c",[951,1632,984],{"class":983},[951,1634,1635],{"class":972},"'clear'\n",[951,1637,1639],{"class":953,"line":1638},10,[951,1640,1600],{"emptyLinePlaceholder":1070},[951,1642,1644],{"class":953,"line":1643},11,[951,1645,1646],{"class":957},"# Git (если используете)\n",[951,1648,1650,1652,1654,1656],{"class":953,"line":1649},12,[951,1651,1290],{"class":983},[951,1653,1410],{"class":979},[951,1655,984],{"class":983},[951,1657,1415],{"class":972},[951,1659,1661,1663,1666,1668],{"class":953,"line":1660},13,[951,1662,1290],{"class":983},[951,1664,1665],{"class":979}," gd",[951,1667,984],{"class":983},[951,1669,1670],{"class":972},"'git diff'\n",[951,1672,1674,1676,1679,1681],{"class":953,"line":1673},14,[951,1675,1290],{"class":983},[951,1677,1678],{"class":979}," gl",[951,1680,984],{"class":983},[951,1682,1683],{"class":972},"'git log --oneline --graph --all --decorate'\n",[33,1685,1686,1689,1690,479,1692,483,1695,1343,1698,1700,1701,479,1703,363],{},[40,1687,1688],{},"Сохраните файл и закройте редактор"," (в ",[86,1691,1254],{},[86,1693,1694],{},"Ctrl+X",[86,1696,1697],{},"Y",[86,1699,430],{},"; в ",[86,1702,1257],{},[86,1704,1705],{},":wq",[33,1707,1708,1711,1712,1724],{},[40,1709,1710],{},"Примените изменения к текущей сессии",", не перезапуская терминал:\n",[942,1713,1715],{"className":944,"code":1714,"language":946,"meta":947,"style":947},"source ~/.bashrc\n",[86,1716,1717],{"__ignoreMap":947},[951,1718,1719,1722],{"class":953,"line":954},[951,1720,1721],{"class":968},"source",[951,1723,1517],{"class":972},"\nТеперь все добавленные алиасы доступны. Новые алиасы также будут загружаться автоматически при каждом новом запуске терминала.",[842,1726,1728,1729,1732],{"id":1727},"шаг-4-использование-отдельного-файла-bash_aliases-рекомендуется-для-больших-наборов","Шаг 4: Использование отдельного файла ",[86,1730,1731],{},"~/.bash_aliases"," (рекомендуется для больших наборов)",[19,1734,1735,1736,110],{},"Если у вас много алиасов, их можно вынести в отдельный файл, чтобы не загромождать основной ",[86,1737,939],{},[777,1739,1740,1761,1831,1842],{},[33,1741,1742,1747,1748],{},[40,1743,1744,1745],{},"Создайте файл ",[86,1746,1731],{},", если его нет:\n",[942,1749,1751],{"className":944,"code":1750,"language":946,"meta":947,"style":947},"touch ~/.bash_aliases\n",[86,1752,1753],{"__ignoreMap":947},[951,1754,1755,1758],{"class":953,"line":954},[951,1756,1757],{"class":964},"touch",[951,1759,1760],{"class":972}," ~/.bash_aliases\n",[33,1762,1763,1768,1769,1789,1790,1793,1794],{},[40,1764,1765,1766],{},"Откройте ",[86,1767,939],{}," и убедитесь, что в нём присутствует блок, который загружает этот файл. Обычно он уже есть, но закомментирован. Найдите строки:\n",[942,1770,1772],{"className":944,"code":1771,"language":946,"meta":947,"style":947},"# if [ -f ~/.bash_aliases ]; then\n#     . ~/.bash_aliases\n# fi\n",[86,1773,1774,1779,1784],{"__ignoreMap":947},[951,1775,1776],{"class":953,"line":954},[951,1777,1778],{"class":957},"# if [ -f ~/.bash_aliases ]; then\n",[951,1780,1781],{"class":953,"line":961},[951,1782,1783],{"class":957},"#     . ~/.bash_aliases\n",[951,1785,1786],{"class":953,"line":976},[951,1787,1788],{"class":957},"# fi\n","\nРаскомментируйте их (удалите ",[86,1791,1792],{},"#"," в начале каждой строки), чтобы выглядело так:\n",[942,1795,1797],{"className":944,"code":1796,"language":946,"meta":947,"style":947},"if [ -f ~/.bash_aliases ]; then\n    . ~/.bash_aliases\nfi\n",[86,1798,1799,1819,1826],{"__ignoreMap":947},[951,1800,1801,1804,1807,1810,1813,1816],{"class":953,"line":954},[951,1802,1803],{"class":983},"if",[951,1805,1806],{"class":979}," [ ",[951,1808,1809],{"class":983},"-f",[951,1811,1812],{"class":983}," ~",[951,1814,1815],{"class":979},"/.bash_aliases ]; ",[951,1817,1818],{"class":983},"then\n",[951,1820,1821,1824],{"class":953,"line":961},[951,1822,1823],{"class":968},"    .",[951,1825,1760],{"class":972},[951,1827,1828],{"class":953,"line":976},[951,1829,1830],{"class":983},"fi\n",[33,1832,1833,1838,1839,110],{},[40,1834,1835,1836],{},"Сохраните ",[86,1837,939],{}," и выполните ",[86,1840,1841],{},"source ~/.bashrc",[33,1843,1844,1849],{},[40,1845,1846,1847],{},"Теперь добавляйте все свои алиасы в файл ",[86,1848,1731],{},". Это более чистое решение.",[842,1851,1853],{"id":1852},"шаг-5-создание-алиасов-с-аргументами-использование-функций","Шаг 5: Создание алиасов с аргументами (использование функций)",[19,1855,1856,1857,785,1860,1863,1864,110],{},"Простой алиас не может принимать и обрабатывать собственные аргументы (",[86,1858,1859],{},"$1",[86,1861,1862],{},"$2"," и т.д.). Для этого используйте ",[40,1865,1866],{},"обёрточную функцию",[19,1868,1869,1871],{},[40,1870,368],{}," Алиас для быстрого поиска в текущей директории, где первый аргумент — это искомый текст.",[942,1873,1875],{"className":944,"code":1874,"language":946,"meta":947,"style":947},"# В ~/.bashrc или ~/.bash_aliases\nmygrep() {\n    # $1 - первый аргумент, переданный функции\n    grep -r \"$1\" .\n}\n",[86,1876,1877,1882,1890,1895,1914],{"__ignoreMap":947},[951,1878,1879],{"class":953,"line":954},[951,1880,1881],{"class":957},"# В ~/.bashrc или ~/.bash_aliases\n",[951,1883,1884,1887],{"class":953,"line":961},[951,1885,1886],{"class":964},"mygrep",[951,1888,1889],{"class":979},"() {\n",[951,1891,1892],{"class":953,"line":976},[951,1893,1894],{"class":957},"    # $1 - первый аргумент, переданный функции\n",[951,1896,1897,1900,1903,1906,1908,1911],{"class":953,"line":1531},[951,1898,1899],{"class":964},"    grep",[951,1901,1902],{"class":968}," -r",[951,1904,1905],{"class":972}," \"",[951,1907,1859],{"class":968},[951,1909,1910],{"class":972},"\"",[951,1912,1913],{"class":972}," .\n",[951,1915,1916],{"class":953,"line":1537},[951,1917,1918],{"class":979},"}\n",[19,1920,1921],{},[40,1922,1923],{},"Как использовать:",[942,1925,1927],{"className":944,"code":1926,"language":946,"meta":947,"style":947},"mygrep \"function_name\"  # Найдёт все вхождения строки \"function_name\" в текущей папке и подпапках\n",[86,1928,1929],{"__ignoreMap":947},[951,1930,1931,1933,1936],{"class":953,"line":954},[951,1932,1886],{"class":964},[951,1934,1935],{"class":972}," \"function_name\"",[951,1937,1938],{"class":957},"  # Найдёт все вхождения строки \"function_name\" в текущей папке и подпапках\n",[19,1940,1941,1944],{},[40,1942,1943],{},"Пример 2:"," Алиас для быстрого создания директории и перехода в неё.",[942,1946,1948],{"className":944,"code":1947,"language":946,"meta":947,"style":947},"mkcd() {\n    mkdir -p \"$1\" && cd \"$1\"\n}\n",[86,1949,1950,1957,1983],{"__ignoreMap":947},[951,1951,1952,1955],{"class":953,"line":954},[951,1953,1954],{"class":964},"mkcd",[951,1956,1889],{"class":979},[951,1958,1959,1962,1965,1967,1969,1971,1974,1976,1978,1980],{"class":953,"line":961},[951,1960,1961],{"class":964},"    mkdir",[951,1963,1964],{"class":968}," -p",[951,1966,1905],{"class":972},[951,1968,1859],{"class":968},[951,1970,1910],{"class":972},[951,1972,1973],{"class":979}," && ",[951,1975,478],{"class":968},[951,1977,1905],{"class":972},[951,1979,1859],{"class":968},[951,1981,1982],{"class":972},"\"\n",[951,1984,1985],{"class":953,"line":976},[951,1986,1918],{"class":979},[19,1988,1989],{},[40,1990,1991],{},"Использование:",[942,1993,1995],{"className":944,"code":1994,"language":946,"meta":947,"style":947},"mkcd new_project  # Создаст папку 'new_project' и перейдёт в неё\n",[86,1996,1997],{"__ignoreMap":947},[951,1998,1999,2001,2004],{"class":953,"line":954},[951,2000,1954],{"class":964},[951,2002,2003],{"class":972}," new_project",[951,2005,2006],{"class":957},"  # Создаст папку 'new_project' и перейдёт в неё\n",[842,2008,2010],{"id":2009},"шаг-6-управление-и-удаление-алиасов","Шаг 6: Управление и удаление алиасов",[30,2012,2013,2027,2050,2072],{},[33,2014,2015,2018],{},[40,2016,2017],{},"Просмотр всех активных алиасов (временных и постоянных, уже загруженных):",[942,2019,2021],{"className":944,"code":2020,"language":946,"meta":947,"style":947},"alias\n",[86,2022,2023],{"__ignoreMap":947},[951,2024,2025],{"class":953,"line":954},[951,2026,2020],{"class":968},[33,2028,2029,2032],{},[40,2030,2031],{},"Поиск конкретного алиаса:",[942,2033,2035],{"className":944,"code":2034,"language":946,"meta":947,"style":947},"alias | grep ll\n",[86,2036,2037],{"__ignoreMap":947},[951,2038,2039,2041,2044,2047],{"class":953,"line":954},[951,2040,1290],{"class":968},[951,2042,2043],{"class":983}," |",[951,2045,2046],{"class":964}," grep",[951,2048,2049],{"class":972}," ll\n",[33,2051,2052,2055,2067,2068,2071],{},[40,2053,2054],{},"Удаление временного алиаса (из текущей сессии):",[942,2056,2058],{"className":944,"code":2057,"language":946,"meta":947,"style":947},"unalias ll\n",[86,2059,2060],{"__ignoreMap":947},[951,2061,2062,2065],{"class":953,"line":954},[951,2063,2064],{"class":968},"unalias",[951,2066,2049],{"class":972},"\nЧтобы удалить все алиасы, можно использовать ",[86,2069,2070],{},"unalias -a"," (будьте осторожны!).",[33,2073,2074,2077,2078,140,2080,1838,2082,2084,2085,363],{},[40,2075,2076],{},"Удаление постоянного алиаса:"," Удалите соответствующую строку из ",[86,2079,939],{},[86,2081,1731],{},[86,2083,1841],{}," (или ",[86,2086,2087],{},"source ~/.bash_aliases",[14,2089,772],{"id":771},[777,2091,2092,2098,2109,2115,2121],{},[33,2093,2094,2095,110],{},"Создайте тестовый алиас, например, ",[86,2096,2097],{},"alias hello='echo \"Hello from FixPedia!\"'",[33,2099,2100,2101,168,2103,2105,2106,2108],{},"Если вы добавляли в ",[86,2102,939],{},[86,2104,1731],{},", выполните ",[86,2107,1721],{}," соответствующего файла.",[33,2110,2111,2112,110],{},"Введите в терминале ",[86,2113,2114],{},"hello",[33,2116,2117,2118,110],{},"На экране должно появиться сообщение: ",[86,2119,2120],{},"Hello from FixPedia!",[33,2122,2123,2124,2127],{},"Выполните ",[86,2125,2126],{},"alias | grep hello"," — вы должны увидеть свою строку.",[19,2129,2130],{},"Если алиас не работает:",[30,2132,2133,2136,2142],{},[33,2134,2135],{},"Проверьте, что вы не сделали опечатку в имени.",[33,2137,2138,2139,2141],{},"Убедитесь, что вы выполнили ",[86,2140,1721],{}," после редактирования файлов.",[33,2143,2144,2145,2147],{},"Проверьте синтаксис: нет ли пробелов вокруг ",[86,2146,984],{},", заключена ли команда в кавычки.",[14,2149,840],{"id":839},[30,2151,2152,2171,2187,2218,2228],{},[33,2153,2154,2160,2161,2163,2164,2166,2167,2170],{},[40,2155,2156,2159],{},[86,2157,2158],{},"alias: command not found"," или алиас не срабатывает:"," Вы, скорее всего, добавили алиас только в ",[86,2162,939],{},", но не выполнили ",[86,2165,1841],{}," в текущей сессии. Или вы пытаетесь использовать алиас в скрипте, запускаемом с помощью ",[86,2168,2169],{},"sh script.sh",". Алиасы по умолчанию не работают в неинтерактивных оболочках. Для скриптов используйте функции или полные команды.",[33,2172,2173,2176,2177,2180,2181,2183,2184,110],{},[40,2174,2175],{},"Алиас переопределяет существующую команду:"," Например, вы создали ",[86,2178,2179],{},"alias ls='ls -la'",", но потом хотите выполнить оригинальную команду ",[86,2182,362],{},". Используйте обратную косую черту: ",[86,2185,2186],{},"\\ls",[33,2188,2189,2192,2193,2196,2197,2200,2201,2204,2205,2208,2209,2212,2213,2215,2216,110],{},[40,2190,2191],{},"Проблемы с кавычками и переменными:"," Если в команде алиаса вы хотите, чтобы переменная (например, ",[86,2194,2195],{},"$HOME",") подставлялась в момент ",[40,2198,2199],{},"использования"," алиаса, а не в момент его ",[40,2202,2203],{},"создания",", используйте одинарные кавычки: ",[86,2206,2207],{},"alias mycd='cd $HOME/projects'",". При использовании ",[86,2210,2211],{},"alias mycd=\"cd $HOME/projects\""," (двойные кавычки) значение ",[86,2214,2195],{}," подставится сразу при выполнении ",[86,2217,1841],{},[33,2219,2220,2223,2224,2227],{},[40,2221,2222],{},"Конфликты имён:"," Убедитесь, что имя вашего алиаса не совпадает с именем существующей команды или другого алиаса. Используйте ",[86,2225,2226],{},"type имя_команды",", чтобы проверить, что это.",[33,2229,2230,2235,2236,2238,2239,2241,2242,2244,2245,2248,2249,2252,2253,110],{},[40,2231,2232,2233,940],{},"Алиас не работает в ",[86,2234,1272],{}," По умолчанию ",[86,2237,1272],{}," не наследует алиасы. Чтобы алиас работал с ",[86,2240,1272],{},", определите его с ",[86,2243,1272],{}," внутри: ",[86,2246,2247],{},"alias update='sudo apt update'",". Либо используйте ",[86,2250,2251],{},"sudo !!"," для повторения предыдущей команды с ",[86,2254,1272],{},[1000,2256,2257],{},"html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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 .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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 pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}",{"title":947,"searchDepth":961,"depth":961,"links":2259},[2260,2261,2262,2272,2273],{"id":16,"depth":961,"text":17},{"id":24,"depth":961,"text":25},{"id":1279,"depth":961,"text":1280,"children":2263},[2264,2265,2266,2268,2270,2271],{"id":1283,"depth":976,"text":1284},{"id":1383,"depth":976,"text":1384},{"id":1487,"depth":976,"text":2267},"Шаг 3: Создание постоянного алиаса через ~/.bashrc",{"id":1727,"depth":976,"text":2269},"Шаг 4: Использование отдельного файла ~/.bash_aliases (рекомендуется для больших наборов)",{"id":1852,"depth":976,"text":1853},{"id":2009,"depth":976,"text":2010},{"id":771,"depth":961,"text":772},{"id":839,"depth":961,"text":840},"2026-02-16 20:07:08","Узнайте, как создавать временные и постоянные алиасы в Bash для экономии времени. Пошаговая инструкция с примерами, лучшими практиками и устранением типичных ошибок.","10-15 мин",[2278,2281,2284,2287],{"question":2279,"answer":2280},"Алиас не работает после перезагрузки терминала, что делать?","Скорее всего, вы создали временный алиас. Чтобы он сохранялся, добавьте его в файл `~/.bashrc` или `~/.bash_aliases` и выполните `source ~/.bashrc`.",{"question":2282,"answer":2283},"Можно ли создать алиас с аргументами?","Да, для этого используйте функцию-обёртку вместо простого алиаса. Например: `mygrep() { grep -r \"$1\" .; }`.",{"question":2285,"answer":2286},"Как посмотреть список всех текущих алиасов?","Выполните команду `alias` без аргументов. Для поиска конкретного алиаса используйте `alias | grep имя_алиаса`.",{"question":2288,"answer":2289},"Почему алиас с пробелом или кавычками не работает?","При определении алиаса не должно быть пробелов вокруг `=`. Правильно: `alias ll='ls -la'`. Одинарные кавычки предотвратят подстановку переменных на этапе создания.",[2291,2294,2297,2300,2303,2306],{"name":2292,"text":2293},"Понимание синтаксиса алиаса","Алиас — это короткое имя, заменяющее одну или несколько команд. Базовый синтаксис: `alias имя='команда'`. Имя без пробелов, команда в кавычках.",{"name":2295,"text":2296},"Создание временного алиаса","Откройте терминал и введите команду напрямую. Например: `alias update='sudo apt update && sudo apt upgrade -y'`. Этот алиас будет работать только в текущей сессии.",{"name":2298,"text":2299},"Создание постоянного алиаса через ~/.bashrc","Отредактируйте файл `~/.bashrc` в любом текстовом редакторе (nano, vim, code). Добавьте строку с алиасом в конец файла. Например: `alias gs='git status'`. Сохраните файл.",{"name":2301,"text":2302},"Применение изменений в ~/.bashrc","Чтобы изменения вступили в силу без перезапуска терминала, выполните команду `source ~/.bashrc` или `. ~/.bashrc`.",{"name":2304,"text":2305},"Использование отдельного файла для алиасов (опционально)","Для удобства можно вынести все алиасы в `~/.bash_aliases`. Убедитесь, что в `~/.bashrc` есть строка `if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases; fi`. Затем просто добавляйте алиасы в этот файл.",{"name":2307,"text":2308},"Управление и удаление алиасов","Посмотреть все: `alias`. Удалить временный алиас: `unalias имя`. Удалить из постоянных — удалите строку из `~/.bashrc` или `~/.bash_aliases` и выполните `source`.","PT15M",[2311,2312,2313,2314,2315,2316,2317,2318],"алиас bash","создать alias linux","постоянный алиас bash","bashrc алиасы","управление алиасами","alias command example","как добавить алиас","bash shortcut commands",{},[2321,2322,2323],"/guides/linux/customizing-bash-prompt","/guides/linux/shell-variables-env","/guides/linux/command-line-shortcuts","Гайды Linux",{"title":1184,"description":2275},"guides/linux/aliases-in-bash","Это руководство объясняет, что такое алиасы в Bash и как их правильно создавать, настраивать для автоматизации повторяющихся команд и повышения продуктивности в терминале Linux.",[946,1072,1083,2329,2330,2331],"automation","cli","aliases","V1PNAg8wdzXf6tOQk06Q-aMkqQyRkGVpBPqwPcT3zso",{"id":2334,"title":2335,"appliesTo":2336,"author":9,"body":2340,"canonical":1020,"code":1020,"createdAt":3325,"description":3326,"difficulty":1023,"draft":1024,"estimatedTime":2276,"extension":1026,"faq":3327,"howToSteps":3340,"howToTotalTime":2309,"image":1020,"keywords":3356,"locale":1068,"meta":3364,"navigation":1070,"path":1075,"platform":1072,"related":3365,"section":2324,"seo":3368,"severity":1020,"stem":3369,"summary":3370,"tags":3371,"twitterCreator":1020,"twitterSite":1020,"type":1086,"updatedAt":3325,"__hash__":3373},"content_ru/guides/linux/history-command.md","Команда history в Linux: полное руководство по управлению историей",[2337,1187,1188,2338,7,2339],"Ubuntu 22.04+","Fedora 36+","Zsh 5.0+",{"type":11,"value":2341,"toc":3294},[2342,2344,2351,2371,2374,2376,2418,2421,2425,2429,2432,2441,2446,2450,2460,2476,2481,2485,2512,2514,2518,2522,2569,2573,2596,2598,2602,2605,2609,2617,2628,2631,2665,2681,2691,2695,2704,2727,2735,2755,2757,2761,2765,2777,2786,2790,2793,2818,2824,2828,2877,2881,2888,2924,2933,2935,2939,2943,2958,2965,2969,2986,2990,3005,3008,3010,3012,3049,3055,3057,3059,3182,3184,3186,3190,3208,3225,3247,3268,3291],[14,2343,17],{"id":16},[19,2345,2346,2347,2350],{},"Команда ",[86,2348,2349],{},"history"," — один из самых мощных инструментов для повышения продуктивности в командной строке Linux. Она записывает все введённые вами команды, позволяя:",[30,2352,2353,2359,2365],{},[33,2354,2355,2358],{},[40,2356,2357],{},"Быстро находить"," и повторять ранее использованные сложные команды без перепечатывания.",[33,2360,2361,2364],{},[40,2362,2363],{},"Анализировать"," свои действия, например, для документирования рутинных операций.",[33,2366,2367,2370],{},[40,2368,2369],{},"Управлять"," сессиями, очищая ненужные или конфиденциальные записи.",[19,2372,2373],{},"Это руководство превратит вашу историю команд из простого лога в удобный инструмент поиска и автоматизации.",[14,2375,25],{"id":24},[777,2377,2378,2384,2396,2407],{},[33,2379,2380,2383],{},[40,2381,2382],{},"Доступ к терминалу"," (Ctrl+Alt+T или аналогичный).",[33,2385,2386,2389,2390,2392,2393,110],{},[40,2387,2388],{},"Оболочка (shell)",": инструкция в основном для ",[86,2391,946],{}," (стандартная в большинстве дистрибутивов), но большинство принципов применимо и к ",[86,2394,2395],{},"zsh",[33,2397,2398,2401,2402,140,2404,363],{},[40,2399,2400],{},"Права на запись"," в домашний каталог (файл ",[86,2403,512],{},[86,2405,2406],{},"~/.zsh_history",[33,2408,2409,2412,2413,140,2415,2417],{},[40,2410,2411],{},"Текстовый редактор"," (например, ",[86,2414,1254],{},[86,2416,1257],{},") для редактирования конфигурационных файлов.",[2419,2420],"hr",{},[14,2422,2424],{"id":2423},"шаг-1-просмотр-и-поиск-в-истории","Шаг 1: Просмотр и поиск в истории",[842,2426,2428],{"id":2427},"_11-базовый-просмотр","1.1. Базовый просмотр",[19,2430,2431],{},"Просто введите команду, чтобы увидеть список всех сохранённых команд с номерами:",[942,2433,2435],{"className":944,"code":2434,"language":946,"meta":947,"style":947},"history\n",[86,2436,2437],{"__ignoreMap":947},[951,2438,2439],{"class":953,"line":954},[951,2440,2434],{"class":968},[19,2442,2443,2444,363],{},"По умолчанию выводится 500 или 1000 последних записей (зависит от настройки ",[86,2445,516],{},[842,2447,2449],{"id":2448},"_12-поиск-по-содержимому","1.2. Поиск по содержимому",[19,2451,2452,2453,2456,2457,940],{},"Чтобы найти команду, содержащую конкретный текст (например, ",[86,2454,2455],{},"systemctl","), используйте ",[86,2458,2459],{},"grep",[942,2461,2463],{"className":944,"code":2462,"language":946,"meta":947,"style":947},"history | grep systemctl\n",[86,2464,2465],{"__ignoreMap":947},[951,2466,2467,2469,2471,2473],{"class":953,"line":954},[951,2468,2349],{"class":968},[951,2470,2043],{"class":983},[951,2472,2046],{"class":964},[951,2474,2475],{"class":972}," systemctl\n",[19,2477,2478,2479,110],{},"Это отфильтрует только те строки, где встречается слово ",[86,2480,2455],{},[842,2482,2484],{"id":2483},"_13-поиск-с-помощью-сочетаний-клавиш-в-интерактивном-режиме","1.3. Поиск с помощью сочетаний клавиш (в интерактивном режиме)",[30,2486,2487,2504],{},[33,2488,2489,2491,2492,2495,2496,2498,2499,431,2501,2503],{},[86,2490,414],{}," — ",[40,2493,2494],{},"реверсивный поиск",". Начните вводить часть команды, и терминал будет показывать первое совпадение. Нажимайте ",[86,2497,414],{}," для перебора других. ",[86,2500,430],{},[86,2502,497],{}," — выйти из поиска.",[33,2505,2506,2508,2509,2511],{},[86,2507,444],{}," / ",[86,2510,457],{}," — прокрутка по последним командам.",[2419,2513],{},[14,2515,2517],{"id":2516},"шаг-2-повторение-и-редактирование-прошлых-команд","Шаг 2: Повторение и редактирование прошлых команд",[842,2519,2521],{"id":2520},"_21-быстрое-повторение","2.1. Быстрое повторение",[30,2523,2524,2538,2552],{},[33,2525,2526,2529,2530,2533,2534,2412,2536,363],{},[86,2527,2528],{},"!!"," — выполнить ",[40,2531,2532],{},"последнюю"," команду. Полезно после ",[86,2535,1272],{},[86,2537,2251],{},[33,2539,2540,2543,2544,2547,2548,2551],{},[86,2541,2542],{},"!-n"," — выполнить команду, которая была ",[86,2545,2546],{},"n"," шагов назад. ",[86,2549,2550],{},"!-2"," — предпоследняя.",[33,2553,2554,2557,2558,2561,2562,2565,2566,110],{},[86,2555,2556],{},"!\u003Cстрока>"," — выполнить последнюю команду, начинающуюся с ",[86,2559,2560],{},"\u003Cстрока>",". Например, ",[86,2563,2564],{},"!sys"," выполнит последнюю команду, которая начиналась с ",[86,2567,2568],{},"sys",[842,2570,2572],{"id":2571},"_22-редактирование-перед-выполнением","2.2. Редактирование перед выполнением",[30,2574,2575,2588],{},[33,2576,2577,2578,2580,2581,140,2584,2587],{},"После нахождения команды через ",[86,2579,414],{}," нажмите ",[86,2582,2583],{},"←",[86,2585,2586],{},"→",", чтобы выйти из режима поиска и отредактировать строку.",[33,2589,2590,2591,168,2593,2595],{},"Или найдите команду стрелками ",[86,2592,444],{},[86,2594,457],{}," и редактируйте её как обычную строку ввода.",[2419,2597],{},[14,2599,2601],{"id":2600},"шаг-3-настройка-размера-и-формата-истории","Шаг 3: Настройка размера и формата истории",[19,2603,2604],{},"По умолчанию история может быть ограничена. Давайте это изменим.",[842,2606,2608],{"id":2607},"_31-увеличение-количества-сохраняемых-команд","3.1. Увеличение количества сохраняемых команд",[19,2610,2611,2612,2614,2615,940],{},"Откройте конфигурационный файл вашей оболочки. Для ",[86,2613,946],{}," это обычно ",[86,2616,939],{},[942,2618,2620],{"className":944,"code":2619,"language":946,"meta":947,"style":947},"nano ~/.bashrc\n",[86,2621,2622],{"__ignoreMap":947},[951,2623,2624,2626],{"class":953,"line":954},[951,2625,1254],{"class":964},[951,2627,1517],{"class":972},[19,2629,2630],{},"Добавьте или измените строки в конце файла:",[942,2632,2634],{"className":944,"code":2633,"language":946,"meta":947,"style":947},"# Максимальное количество команд в памяти сессии\nHISTSIZE=5000\n# Максимальное количество команд в файле истории\nHISTFILESIZE=10000\n",[86,2635,2636,2641,2650,2655],{"__ignoreMap":947},[951,2637,2638],{"class":953,"line":954},[951,2639,2640],{"class":957},"# Максимальное количество команд в памяти сессии\n",[951,2642,2643,2645,2647],{"class":953,"line":961},[951,2644,516],{"class":979},[951,2646,984],{"class":983},[951,2648,2649],{"class":972},"5000\n",[951,2651,2652],{"class":953,"line":976},[951,2653,2654],{"class":957},"# Максимальное количество команд в файле истории\n",[951,2656,2657,2660,2662],{"class":953,"line":1531},[951,2658,2659],{"class":979},"HISTFILESIZE",[951,2661,984],{"class":983},[951,2663,2664],{"class":972},"10000\n",[19,2666,2667,2668,785,2671,2673,2674,2676,2677,2680],{},"Сохраните (",[86,2669,2670],{},"Ctrl+O",[86,2672,430],{},") и закройте (",[86,2675,1694],{},") редактор. ",[40,2678,2679],{},"Чтобы изменения вступили в силу в текущей сессии",", выполните:",[942,2682,2683],{"className":944,"code":1714,"language":946,"meta":947,"style":947},[86,2684,2685],{"__ignoreMap":947},[951,2686,2687,2689],{"class":953,"line":954},[951,2688,1721],{"class":968},[951,2690,1517],{"class":972},[842,2692,2694],{"id":2693},"_32-добавление-времени-выполнения-команд","3.2. Добавление времени выполнения команд",[19,2696,2697,2698,2701,2702,940],{},"Для аудита или анализа полезно видеть, ",[40,2699,2700],{},"когда"," команда была запущена. Добавьте в ",[86,2703,939],{},[942,2705,2707],{"className":944,"code":2706,"language":946,"meta":947,"style":947},"# Формат: Год-Месяц-День Часы:Минуты:Секунды\nexport HISTTIMEFORMAT='%F %T '\n",[86,2708,2709,2714],{"__ignoreMap":947},[951,2710,2711],{"class":953,"line":954},[951,2712,2713],{"class":957},"# Формат: Год-Месяц-День Часы:Минуты:Секунды\n",[951,2715,2716,2719,2722,2724],{"class":953,"line":961},[951,2717,2718],{"class":983},"export",[951,2720,2721],{"class":979}," HISTTIMEFORMAT",[951,2723,984],{"class":983},[951,2725,2726],{"class":972},"'%F %T '\n",[19,2728,125,2729,2731,2732,2734],{},[86,2730,1841],{}," команда ",[86,2733,2349],{}," будет выводить время перед каждой командой.",[2736,2737,2738],"blockquote",{},[19,2739,2740,2741,2744,2745,2747,2748,2751,2752,110],{},"💡 ",[40,2742,2743],{},"Совет:"," Для ",[86,2746,2395],{}," используйте переменную ",[86,2749,2750],{},"HISTTIMEFORMAT"," аналогично или настройте через ",[86,2753,2754],{},"setopt EXTENDED_HISTORY",[2419,2756],{},[14,2758,2760],{"id":2759},"шаг-4-очистка-и-управление-файлом-истории","Шаг 4: Очистка и управление файлом истории",[842,2762,2764],{"id":2763},"_41-очистка-текущей-сессии-оперативной-памяти","4.1. Очистка текущей сессии (оперативной памяти)",[942,2766,2768],{"className":944,"code":2767,"language":946,"meta":947,"style":947},"history -c\n",[86,2769,2770],{"__ignoreMap":947},[951,2771,2772,2774],{"class":953,"line":954},[951,2773,2349],{"class":968},[951,2775,2776],{"class":968}," -c\n",[19,2778,2779,2780,2785],{},"Это удалит все записи из текущей сессии, но ",[40,2781,2782,2783],{},"не затронет файл ",[86,2784,512],{}," на диске.",[842,2787,2789],{"id":2788},"_42-очистка-файла-истории-на-диске","4.2. Очистка файла истории на диске",[19,2791,2792],{},"Чтобы стереть историю и в файле, выполните две команды:",[942,2794,2796],{"className":944,"code":2795,"language":946,"meta":947,"style":947},"history -c        # 1. Очищаем оперативную память\nhistory -w        # 2. Записываем (пустую) оперативную память в файл ~/.bash_history\n",[86,2797,2798,2808],{"__ignoreMap":947},[951,2799,2800,2802,2805],{"class":953,"line":954},[951,2801,2349],{"class":968},[951,2803,2804],{"class":968}," -c",[951,2806,2807],{"class":957},"        # 1. Очищаем оперативную память\n",[951,2809,2810,2812,2815],{"class":953,"line":961},[951,2811,2349],{"class":968},[951,2813,2814],{"class":968}," -w",[951,2816,2817],{"class":957},"        # 2. Записываем (пустую) оперативную память в файл ~/.bash_history\n",[19,2819,2820,2823],{},[40,2821,2822],{},"Внимание:"," Это действие необратимо для текущего пользователя.",[842,2825,2827],{"id":2826},"_43-удаление-конкретной-записи","4.3. Удаление конкретной записи",[777,2829,2830,2835,2862],{},[33,2831,2832,2833,110],{},"Узнайте номер строки команды через ",[86,2834,2349],{},[33,2836,2837,2838],{},"Удалите её:\n",[942,2839,2841],{"className":944,"code":2840,"language":946,"meta":947,"style":947},"history -d \u003Cномер_строки>\n",[86,2842,2843],{"__ignoreMap":947},[951,2844,2845,2847,2850,2853,2856,2859],{"class":953,"line":954},[951,2846,2349],{"class":968},[951,2848,2849],{"class":968}," -d",[951,2851,2852],{"class":983}," \u003C",[951,2854,2855],{"class":972},"номер_строк",[951,2857,2858],{"class":979},"и",[951,2860,2861],{"class":983},">\n",[33,2863,2864,2865],{},"Немедленно синхронизируйте с файлом:\n",[942,2866,2868],{"className":944,"code":2867,"language":946,"meta":947,"style":947},"history -w\n",[86,2869,2870],{"__ignoreMap":947},[951,2871,2872,2874],{"class":953,"line":954},[951,2873,2349],{"class":968},[951,2875,2876],{"class":968}," -w\n",[842,2878,2880],{"id":2879},"_44-отключение-записи-истории-временное","4.4. Отключение записи истории (временное)",[19,2882,2883,2884,2887],{},"Для конфиденциальных операций (например, ввода паролей в открытом виде, что ",[40,2885,2886],{},"крайне не рекомендуется",") можно временно отключить запись:",[942,2889,2891],{"className":944,"code":2890,"language":946,"meta":947,"style":947},"set +o history   # Отключить запись текущей сессии\n# ... выполняем конфиденциальные команды ...\nset -o history   # Включить запись обратно\n",[86,2892,2893,2907,2912],{"__ignoreMap":947},[951,2894,2895,2898,2901,2904],{"class":953,"line":954},[951,2896,2897],{"class":968},"set",[951,2899,2900],{"class":972}," +o",[951,2902,2903],{"class":972}," history",[951,2905,2906],{"class":957},"   # Отключить запись текущей сессии\n",[951,2908,2909],{"class":953,"line":961},[951,2910,2911],{"class":957},"# ... выполняем конфиденциальные команды ...\n",[951,2913,2914,2916,2919,2921],{"class":953,"line":976},[951,2915,2897],{"class":968},[951,2917,2918],{"class":968}," -o",[951,2920,2903],{"class":972},[951,2922,2923],{"class":957},"   # Включить запись обратно\n",[19,2925,2926,2928,2929,2932],{},[40,2927,1481],{}," Команды, введённые в отключённом режиме, не попадут в историю, но могут быть видны в процессе (",[86,2930,2931],{},"ps aux",") или в кэше терминала.",[2419,2934],{},[14,2936,2938],{"id":2937},"шаг-5-полезные-продвинутые-приёмы","Шаг 5: Полезные продвинутые приёмы",[842,2940,2942],{"id":2941},"_51-выполнение-команды-из-истории-по-номеру","5.1. Выполнение команды из истории по номеру",[942,2944,2946],{"className":944,"code":2945,"language":946,"meta":947,"style":947},"!\u003Cномер>\n",[86,2947,2948],{"__ignoreMap":947},[951,2949,2950,2953,2956],{"class":953,"line":954},[951,2951,2952],{"class":983},"!\u003C",[951,2954,2955],{"class":979},"номер",[951,2957,2861],{"class":983},[19,2959,2960,2961,2964],{},"Например, ",[86,2962,2963],{},"!123"," выполнит команду под номером 123.",[842,2966,2968],{"id":2967},"_52-подстановка-аргументов-из-предыдущей-команды","5.2. Подстановка аргументов из предыдущей команды",[30,2970,2971,2980],{},[33,2972,2973,2976,2977,110],{},[86,2974,2975],{},"!$"," — последний аргумент последней команды. Полезно для операций с одним и тем же файлом: ",[86,2978,2979],{},"cp file.txt backup.txt && mv !$ new_name.txt",[33,2981,2982,2985],{},[86,2983,2984],{},"!*"," — все аргументы, кроме первой команды.",[842,2987,2989],{"id":2988},"_53-экспорт-истории-в-файл-для-анализа","5.3. Экспорт истории в файл для анализа",[942,2991,2993],{"className":944,"code":2992,"language":946,"meta":947,"style":947},"history > my_history.txt\n",[86,2994,2995],{"__ignoreMap":947},[951,2996,2997,2999,3002],{"class":953,"line":954},[951,2998,2349],{"class":968},[951,3000,3001],{"class":983}," >",[951,3003,3004],{"class":972}," my_history.txt\n",[19,3006,3007],{},"Теперь у вас есть текстовый файл со всей историей для поиска или документирования.",[2419,3009],{},[14,3011,772],{"id":771},[777,3013,3014,3025,3031,3037,3043],{},[33,3015,3016,3017,785,3019,785,3022,363],{},"Выполните несколько разных команд (",[86,3018,362],{},[86,3020,3021],{},"pwd",[86,3023,3024],{},"echo \"test\"",[33,3026,3027,3028,3030],{},"Введите ",[86,3029,2349],{}," — они должны отобразиться.",[33,3032,3033,3034,3036],{},"Если вы настраивали ",[86,3035,2750],{},", убедитесь, что время отображается.",[33,3038,3039,3040,3042],{},"Попробуйте поиск через ",[86,3041,426],{}," — должен находить ваши команды.",[33,3044,3045,3046,110],{},"Проверьте размер файла истории: ",[86,3047,3048],{},"ls -la ~/.bash_history",[19,3050,3051,3052,3054],{},"Если команды появляются в выводе ",[86,3053,2349],{}," и сохраняются после закрытия и повторного открытия терминала — настройка работает корректно.",[2419,3056],{},[14,3058,840],{"id":839},[58,3060,3061,3074],{},[61,3062,3063],{},[64,3064,3065,3068,3071],{},[67,3066,3067],{"align":69},"Проблема",[67,3069,3070],{"align":69},"Возможная причина",[67,3072,3073],{"align":69},"Решение",[78,3075,3076,3103,3134,3154],{},[64,3077,3078,3081,3096],{},[83,3079,3080],{"align":69},"История пуста после перезапуска терминала",[83,3082,3083,3084,3086,3087,3090,3091,140,3093,110],{"align":69},"Переменная ",[86,3085,516],{}," установлена в ",[86,3088,3089],{},"0"," в ",[86,3092,939],{},[86,3094,3095],{},"~/.profile",[83,3097,3098,3099,3102],{"align":69},"Проверьте эти файлы на наличие ",[86,3100,3101],{},"HISTSIZE=0"," и исправьте.",[64,3104,3105,3110,3121],{},[83,3106,3107,3108],{"align":69},"Не сохраняются команды, введённые через ",[86,3109,1272],{},[83,3111,3112,3113,3115,3116,930,3118,363],{"align":69},"История по умолчанию записывается от имени текущего пользователя. Команды, выполненные через ",[86,3114,1272],{},", могут логироваться в истории ",[40,3117,1091],{},[86,3119,3120],{},"/root/.bash_history",[83,3122,3123,3124,3126,3127,3129,3130,3133],{"align":69},"Для записи команд ",[86,3125,1272],{}," в вашу историю настройте ",[86,3128,1272],{}," (опция ",[86,3131,3132],{},"timestamp_timeout","), но это может быть небезопасно.",[64,3135,3136,3139,3145],{},[83,3137,3138],{"align":69},"История \"прыгает\" или теряет записи",[83,3140,3141,3142,3144],{"align":69},"Файл ",[86,3143,512],{}," повреждён или имеет неверные права.",[83,3146,3147,3148,3150,3151,3153],{"align":69},"Убедитесь, что владелец файла — вы: ",[86,3149,3048],{},". При необходимости удалите файл (он создастся заново) и настройте ",[86,3152,2659],{}," заново.",[64,3155,3156,3162,3172],{},[83,3157,3158,3161],{"align":69},[86,3159,3160],{},"history -w"," не записывает изменения",[83,3163,3164,3165,140,3168,3171],{"align":69},"Вы находитесь в ",[86,3166,3167],{},"su",[86,3169,3170],{},"sudo su"," сессии. Файл истории пытается записаться от root.",[83,3173,3174,3175,3177,3178,3181],{"align":69},"Выйдите из сессии root (",[86,3176,632],{},") или настройте ",[86,3179,3180],{},"HISTFILE"," для root-сессии.",[994,3183],{},[2419,3185],{},[14,3187,3189],{"id":3188},"часто-задаваемые-вопросы-faq","Часто задаваемые вопросы (FAQ)",[19,3191,3192,3195,3196,3199,3200,3203,3204,3090,3206,940],{},[40,3193,3194],{},"Можно ли синхронизировать историю между несколькими окнами терминала?","\nДа, но с оговорками. По умолчанию каждая сессия оболочки считывает историю при старте и записывает её при выходе. При работе в нескольких окнах одновременно последние команды из одного окна не появятся в другом, пока вы не выйдете из первой сессии. Чтобы получать обновления \"на лету\", можно использовать ",[86,3197,3198],{},"history -a"," (добавить текущие команды в файл) и ",[86,3201,3202],{},"history -n"," (прочитать новые строки из файла) вручную или настроить ",[86,3205,980],{},[86,3207,939],{},[942,3209,3211],{"className":944,"code":3210,"language":946,"meta":947,"style":947},"export PROMPT_COMMAND='history -a; history -n'\n",[86,3212,3213],{"__ignoreMap":947},[951,3214,3215,3217,3220,3222],{"class":953,"line":954},[951,3216,2718],{"class":983},[951,3218,3219],{"class":979}," PROMPT_COMMAND",[951,3221,984],{"class":983},[951,3223,3224],{"class":972},"'history -a; history -n'\n",[19,3226,3227,3230,3231,3234,3235,3238,3239,3242,3243,3246],{},[40,3228,3229],{},"Как найти и выполнить команду, которая содержала опечатку?","\nИспользуйте поиск по части remembered команды. Например, если вы хотели ввести ",[86,3232,3233],{},"git commit",", но напечатали ",[86,3236,3237],{},"git comit",", найдите через ",[86,3240,3241],{},"history | grep comit",", получите номер и выполните ",[86,3244,3245],{},"!\u003Cномер>"," или просто найдите стрелками и исправьте.",[19,3248,3249,3252,3253,3256,3257,3259,3260,3263,3264,3267],{},[40,3250,3251],{},"Безопасно ли хранить всю историю?","\nНет. История — это ",[40,3254,3255],{},"plain-text"," файл (",[86,3258,512],{},"), доступный для чтения любому, у кого есть доступ к вашему аккаунту. Никогда не вводите в терминал пароли, ключи API или другие секреты. Для конфиденциальных операций используйте отключение истории (",[86,3261,3262],{},"set +o history",") или специальные утилиты (например, ",[86,3265,3266],{},"ssh-keygen"," для паролей не требует ввода в историю).",[19,3269,3270,3276,3277,3280,3281,3284,3285,3287,3288,363],{},[40,3271,3272,3273,3275],{},"Почему команда ",[86,3274,2349],{}," показывает меньше строк, чем я ожидал?","\nПроверьте две переменные: ",[86,3278,3279],{},"echo $HISTSIZE"," (лимит для текущей сессии) и ",[86,3282,3283],{},"echo $HISTFILESIZE"," (лимит для файла). Также убедитесь, что вы не очищали историю ранее. Файл ",[86,3286,512],{}," может быть скрыт или находиться в нестандартном месте (проверьте ",[86,3289,3290],{},"echo $HISTFILE",[1000,3292,3293],{},"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 .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 .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":947,"searchDepth":961,"depth":961,"links":3295},[3296,3297,3298,3303,3307,3311,3317,3322,3323,3324],{"id":16,"depth":961,"text":17},{"id":24,"depth":961,"text":25},{"id":2423,"depth":961,"text":2424,"children":3299},[3300,3301,3302],{"id":2427,"depth":976,"text":2428},{"id":2448,"depth":976,"text":2449},{"id":2483,"depth":976,"text":2484},{"id":2516,"depth":961,"text":2517,"children":3304},[3305,3306],{"id":2520,"depth":976,"text":2521},{"id":2571,"depth":976,"text":2572},{"id":2600,"depth":961,"text":2601,"children":3308},[3309,3310],{"id":2607,"depth":976,"text":2608},{"id":2693,"depth":976,"text":2694},{"id":2759,"depth":961,"text":2760,"children":3312},[3313,3314,3315,3316],{"id":2763,"depth":976,"text":2764},{"id":2788,"depth":976,"text":2789},{"id":2826,"depth":976,"text":2827},{"id":2879,"depth":976,"text":2880},{"id":2937,"depth":961,"text":2938,"children":3318},[3319,3320,3321],{"id":2941,"depth":976,"text":2942},{"id":2967,"depth":976,"text":2968},{"id":2988,"depth":976,"text":2989},{"id":771,"depth":961,"text":772},{"id":839,"depth":961,"text":840},{"id":3188,"depth":961,"text":3189},"2026-02-15 21:10:13","Узнайте, как эффективно использовать команду history в Linux для поиска, повторения и управления историей команд. Пошаговая инструкция с примерами для bash и zsh.",[3328,3331,3334,3337],{"question":3329,"answer":3330},"Как увеличить количество сохраняемых команд в истории?","Измените переменные `HISTSIZE` (для текущей сессии) и `HISTFILESIZE` (в файле ~/.bashrc или ~/.zshrc) на нужное значение, например, 5000.",{"question":3332,"answer":3333},"Команды не сохраняются в истории. Почему?","Чаще всего это происходит, если сессия терминала запущена с правами root (sudo su) или если в конфигурационном файле оболочки установлен `HISTSIZE=0`. Также проверьте, что у вашего пользователя есть права на запись в файл ~/.bash_history.",{"question":3335,"answer":3336},"Как безопасно удалить конкретную команду из истории?","Используйте команду `history -d \u003Cномер_строки>`. Номер можно узнать через `history`. После этого выполните `history -w`, чтобы немедленно записать изменения в файл.",{"question":3338,"answer":3339},"Почему время выполнения команд не отображается в history?","По умолчанию история сохраняет только команды. Чтобы видеть время, установите переменную `HISTTIMEFORMAT` (для bash), например: `export HISTTIMEFORMAT='%F %T '`.",[3341,3344,3347,3350,3353],{"name":3342,"text":3343},"Просмотр и поиск в истории","Изучите базовые команды для вывода и фильтрации истории с помощью `history` и `grep`.",{"name":3345,"text":3346},"Повторение и редактирование прошлых команд","Научитесь быстро вызывать и изменять предыдущие команды с помощью `!!`, `!-n` и стрелок.",{"name":3348,"text":3349},"Настройка размера и формата истории","Увеличьте лимит записей и добавьте временные метки через переменные окружения.",{"name":3351,"text":3352},"Очистка и управление файлом истории","Узнайте, как корректно удалять записи из памяти и файла ~/.bash_history.",{"name":3354,"text":3355},"Отключение истории (если требуется)","Для конфиденциальных сессий узнайте, как временно запретить запись команд.",[3357,3358,3359,3360,3361,3362,3363],"команда history linux","как посмотреть историю команд linux","история команд bash примеры","очистить историю команд linux","history grep поиск","настройка history linux","увеличить размер истории bash",{},[3366,2323,3367],"/guides/linux/bash-aliases","/errors/linux/bash-command-not-found",{"title":2335,"description":3326},"guides/linux/history-command","Это руководство подробно разбирает команду history в Linux. Вы научитесь искать, редактировать и очищать историю команд, настраивать её размер и формат, что значительно ускорит вашу работу в терминале.",[1072,946,1083,2349,2330,3372,2329],"sysadmin","7Y1Dh6nRTGY4quFcEt_GrldeS0k3pbPcQLIVNHuoIQ4",{"id":3375,"title":3376,"appliesTo":3377,"author":9,"body":3379,"canonical":1020,"code":1020,"createdAt":4274,"description":4275,"difficulty":4276,"draft":1024,"estimatedTime":4277,"extension":1026,"faq":4278,"howToSteps":4291,"howToTotalTime":4304,"image":1020,"keywords":4305,"locale":1068,"meta":4316,"navigation":1070,"path":1076,"platform":1072,"related":4317,"section":2324,"seo":4320,"severity":1020,"stem":4321,"summary":4322,"tags":4323,"twitterCreator":1020,"twitterSite":1020,"type":1086,"updatedAt":4274,"__hash__":4328},"content_ru/guides/linux/customize-bash-prompt.md","Кастомизация bash prompt: настройка PS1, цветов и информации",[7,1186,1189,3378],"Arch Linux",{"type":11,"value":3380,"toc":4252},[3381,3383,3390,3392,3419,3423,3433,3436,3446,3449,3453,3459,3606,3617,3621,3624,3630,3644,3647,3686,3692,3694,3698,3701,3715,3718,3737,3744,3770,3780,3784,3788,3795,3809,3813,3824,3838,3843,3866,3870,3875,3921,3924,3938,3941,3945,3948,4026,4029,4050,4066,4068,4114,4116,4120,4131,4144,4148,4159,4163,4186,4190,4195,4199,4223,4229,4237,4249],[14,3382,17],{"id":16},[19,3384,3385,3386,3389],{},"Приглашение командной строки (bash prompt) — это строка, которую вы видите перед курсором в терминале. По умолчанию оно обычно выглядит как ",[86,3387,3388],{},"user@host:~/path$",". Кастомизация prompt делает работу в терминале более информативной и визуально приятной. Вы можете добавить отображение текущего времени, статуса последней команды, ветки Git, а также использовать цвета для выделения важной информации. После выполнения этого гайда вы получите prompt, который будет подстраиваться под ваши задачи и предпочтения.",[14,3391,25],{"id":24},[777,3393,3394,3399,3404,3416],{},[33,3395,3396,3397,110],{},"У вас должен быть установлен bash (версии 4.0 и выше). Проверить версию: ",[86,3398,1266],{},[33,3400,3401,3402,110],{},"Убедитесь, что у вас есть доступ к домашней директории и возможность редактировать файл ",[86,3403,939],{},[33,3405,3406,3407,3410,3411,140,3413,363],{},"Рекомендуется использовать терминал, поддерживающий 256 цветов (например, GNOME Terminal, Konsole, iTerm2). Проверить: ",[86,3408,3409],{},"echo $TERM"," (должно быть ",[86,3412,894],{},[86,3414,3415],{},"screen-256color",[33,3417,3418],{},"Базовые знания о редактировании текстовых файлов в Linux (nano, vim, etc.).",[14,3420,3422],{"id":3421},"шаг-1-найдите-и-откройте-конфигурационный-файл-bash","Шаг 1: Найдите и откройте конфигурационный файл bash",[19,3424,3425,3426,3428,3429,3432],{},"Бash читает конфигурационные файлы при запуске. Для интерактивных оболочек это обычно ",[86,3427,939],{}," (для пользователя) или ",[86,3430,3431],{},"/etc/bash.bashrc"," (системный). Мы будем редактировать пользовательский файл, чтобы изменения не затрагивали других пользователей.",[19,3434,3435],{},"Откройте терминал и выполните:",[942,3437,3438],{"className":944,"code":2619,"language":946,"meta":947,"style":947},[86,3439,3440],{"__ignoreMap":947},[951,3441,3442,3444],{"class":953,"line":954},[951,3443,1254],{"class":964},[951,3445,1517],{"class":972},[19,3447,3448],{},"Или используйте предпочитаемый редактор (vim, code, gedit). Если файл пустой или отсутствует, создайте его.",[14,3450,3452],{"id":3451},"шаг-2-поймите-структуру-переменной-ps1","Шаг 2: Поймите структуру переменной PS1",[19,3454,3083,3455,3458],{},[86,3456,3457],{},"PS1"," определяет основной prompt. Она поддерживает множество escape-последовательностей, которые заменяются на актуальные данные. Вот основные:",[58,3460,3461,3471],{},[61,3462,3463],{},[64,3464,3465,3468],{},[67,3466,3467],{},"Escape-последовательность",[67,3469,3470],{},"Описание",[78,3472,3473,3483,3493,3503,3517,3527,3543,3553,3563,3573,3583,3593],{},[64,3474,3475,3480],{},[83,3476,3477],{},[86,3478,3479],{},"\\u",[83,3481,3482],{},"Имя текущего пользователя",[64,3484,3485,3490],{},[83,3486,3487],{},[86,3488,3489],{},"\\h",[83,3491,3492],{},"Имя хоста (до первой точки)",[64,3494,3495,3500],{},[83,3496,3497],{},[86,3498,3499],{},"\\H",[83,3501,3502],{},"Полное имя хоста",[64,3504,3505,3510],{},[83,3506,3507],{},[86,3508,3509],{},"\\w",[83,3511,3512,3513,3516],{},"Полный путь текущей директории, с ",[86,3514,3515],{},"~"," для домашней",[64,3518,3519,3524],{},[83,3520,3521],{},[86,3522,3523],{},"\\W",[83,3525,3526],{},"Только имя текущей директории",[64,3528,3529,3534],{},[83,3530,3531],{},[86,3532,3533],{},"\\$",[83,3535,3536,3538,3539,3542],{},[86,3537,1792],{}," для root, ",[86,3540,3541],{},"$"," для обычного пользователя",[64,3544,3545,3550],{},[83,3546,3547],{},[86,3548,3549],{},"\\t",[83,3551,3552],{},"Текущее время в 24-часовом формате (HH:MM:SS)",[64,3554,3555,3560],{},[83,3556,3557],{},[86,3558,3559],{},"\\T",[83,3561,3562],{},"Время в 12-часовом формате (HH:MM:SS)",[64,3564,3565,3570],{},[83,3566,3567],{},[86,3568,3569],{},"\\@",[83,3571,3572],{},"Время в 12-часовом формате с AM/PM",[64,3574,3575,3580],{},[83,3576,3577],{},[86,3578,3579],{},"\\d",[83,3581,3582],{},"Дата в формате \"День ММ ГГГГ\"",[64,3584,3585,3590],{},[83,3586,3587],{},[86,3588,3589],{},"\\n",[83,3591,3592],{},"Новая строка",[64,3594,3595,3603],{},[83,3596,3597,1343,3600],{},[86,3598,3599],{},"\\[",[86,3601,3602],{},"\\]",[83,3604,3605],{},"Обозначают начало и конец непечатаемых символов (например, для цветов)",[19,3607,3608,3611,3612,1343,3614,3616],{},[40,3609,3610],{},"Важно",": Для цветов используются escape-последовательности ANSI, которые нужно заключать в ",[86,3613,3599],{},[86,3615,3602],{},", чтобы bash правильно считал длину prompt.",[14,3618,3620],{"id":3619},"шаг-3-добавьте-простые-цвета-и-информацию","Шаг 3: Добавьте простые цвета и информацию",[19,3622,3623],{},"Давайте создадим простой цветной prompt, который показывает пользователя, хост и текущую директорию.",[19,3625,3626,3627,3629],{},"Добавьте в ",[86,3628,939],{}," строку:",[942,3631,3633],{"className":944,"code":3632,"language":946,"meta":947,"style":947},"PS1='\\[\\e[0;32m\\]\\u@\\h:\\w\\$ \\[\\e[m\\] '\n",[86,3634,3635],{"__ignoreMap":947},[951,3636,3637,3639,3641],{"class":953,"line":954},[951,3638,3457],{"class":979},[951,3640,984],{"class":983},[951,3642,3643],{"class":972},"'\\[\\e[0;32m\\]\\u@\\h:\\w\\$ \\[\\e[m\\] '\n",[19,3645,3646],{},"Разберем:",[30,3648,3649,3663,3677,3683],{},[33,3650,3651,3654,3655,3658,3659,3662],{},[86,3652,3653],{},"\\[\\e[0;32m\\]"," — включает зеленый цвет (код 32). ",[86,3656,3657],{},"\\e"," — escape-символ, ",[86,3660,3661],{},"[0;32m"," — код цвета.",[33,3664,3665,3668,3669,3672,3673,140,3675,110],{},[86,3666,3667],{},"\\u@\\h:\\w\\$"," — комбинация escape-последовательностей: пользователь, символ ",[86,3670,3671],{},"@",", хост, двоеточие, текущий путь, ",[86,3674,3541],{},[86,3676,1792],{},[33,3678,3679,3682],{},[86,3680,3681],{},"\\[\\e[m\\]"," — сброс цветов к стандартным.",[33,3684,3685],{},"Пробел в конце для удобства.",[19,3687,3688,3689,3691],{},"После сохранения файла выполните ",[86,3690,1841],{}," или откройте новый терминал. Вы должны увидеть зеленый prompt.",[994,3693],{},[14,3695,3697],{"id":3696},"шаг-4-используйте-более-сложные-цвета-и-форматирование","Шаг 4: Используйте более сложные цвета и форматирование",[19,3699,3700],{},"Вы можете комбинировать цвета и атрибуты (жирный, подчеркивание). Например, для жирного зеленого текста:",[942,3702,3704],{"className":944,"code":3703,"language":946,"meta":947,"style":947},"PS1='\\[\\e[1;32m\\]\\u@\\h\\[\\e[m\\]:\\[\\e[1;34m\\]\\w\\[\\e[m\\]\\$ '\n",[86,3705,3706],{"__ignoreMap":947},[951,3707,3708,3710,3712],{"class":953,"line":954},[951,3709,3457],{"class":979},[951,3711,984],{"class":983},[951,3713,3714],{"class":972},"'\\[\\e[1;32m\\]\\u@\\h\\[\\e[m\\]:\\[\\e[1;34m\\]\\w\\[\\e[m\\]\\$ '\n",[19,3716,3717],{},"Здесь:",[30,3719,3720,3726,3731],{},[33,3721,3722,3725],{},[86,3723,3724],{},"\\[\\e[1;32m\\]"," — жирный зеленый (1 — жирный, 32 — зеленый).",[33,3727,3728,3730],{},[86,3729,3681],{}," — сброс после имени пользователя и хоста.",[33,3732,3733,3736],{},[86,3734,3735],{},"\\[\\e[1;34m\\]"," — жирный синий для пути.",[19,3738,3739,3740,3743],{},"Список цветов (перед кодом можно добавить ",[86,3741,3742],{},"1;"," для жирного):",[30,3745,3746,3749,3752,3755,3758,3761,3764,3767],{},[33,3747,3748],{},"Черный: 30",[33,3750,3751],{},"Красный: 31",[33,3753,3754],{},"Зеленый: 32",[33,3756,3757],{},"Желтый: 33",[33,3759,3760],{},"Синий: 34",[33,3762,3763],{},"Пурпурный: 35",[33,3765,3766],{},"Голубой: 36",[33,3768,3769],{},"Белый: 37",[19,3771,3772,3773,2412,3776,3779],{},"Также можно использовать 256-цветовую палитру: ",[86,3774,3775],{},"\\[\\e[38;5;{номер}м\\]",[86,3777,3778],{},"\\[\\e[38;5;202m\\]"," для оранжевого). Номер цвета от 0 до 255.",[14,3781,3783],{"id":3782},"шаг-5-добавьте-динамическую-информацию-время-статус-git","Шаг 5: Добавьте динамическую информацию (время, статус, Git)",[842,3785,3787],{"id":3786},"время","Время",[19,3789,3790,3791,140,3793,940],{},"Чтобы добавить текущее время, используйте ",[86,3792,3549],{},[86,3794,3569],{},[942,3796,3798],{"className":944,"code":3797,"language":946,"meta":947,"style":947},"PS1='\\[\\e[0;33m\\]\\t \\[\\e[m\\]\\u@\\h:\\w\\$ '\n",[86,3799,3800],{"__ignoreMap":947},[951,3801,3802,3804,3806],{"class":953,"line":954},[951,3803,3457],{"class":979},[951,3805,984],{"class":983},[951,3807,3808],{"class":972},"'\\[\\e[0;33m\\]\\t \\[\\e[m\\]\\u@\\h:\\w\\$ '\n",[842,3810,3812],{"id":3811},"статус-последней-команды","Статус последней команды",[19,3814,3815,3816,3819,3820,3823],{},"Escape-последовательность ",[86,3817,3818],{},"\\$?"," возвращает код выхода последней команды (0 — успех, не 0 — ошибка). Но в PS1 она не работает напрямую. Нужно использовать команду-подстановку или условную конструкцию. Пример с отображением ",[86,3821,3822],{},"!"," при ошибке:",[942,3825,3827],{"className":944,"code":3826,"language":946,"meta":947,"style":947},"PS1='\\[\\e[0;31m\\]$(if [[ $? != 0 ]]; then echo \"! \"; fi)\\[\\e[m\\]\\u@\\h:\\w\\$ '\n",[86,3828,3829],{"__ignoreMap":947},[951,3830,3831,3833,3835],{"class":953,"line":954},[951,3832,3457],{"class":979},[951,3834,984],{"class":983},[951,3836,3837],{"class":972},"'\\[\\e[0;31m\\]$(if [[ $? != 0 ]]; then echo \"! \"; fi)\\[\\e[m\\]\\u@\\h:\\w\\$ '\n",[19,3839,3840,3841,940],{},"Однако это может замедлять prompt, так как выполняется для каждого вызова. Более эффективный способ — использовать ",[86,3842,980],{},[942,3844,3846],{"className":944,"code":3845,"language":946,"meta":947,"style":947},"PROMPT_COMMAND='RET=$?; [[ $RET != 0 ]] && echo -n \"!$RET \"'\nPS1='\\[\\e[0;33m\\]\\u@\\h:\\w\\$ \\[\\e[m\\]'\n",[86,3847,3848,3857],{"__ignoreMap":947},[951,3849,3850,3852,3854],{"class":953,"line":954},[951,3851,980],{"class":979},[951,3853,984],{"class":983},[951,3855,3856],{"class":972},"'RET=$?; [[ $RET != 0 ]] && echo -n \"!$RET \"'\n",[951,3858,3859,3861,3863],{"class":953,"line":961},[951,3860,3457],{"class":979},[951,3862,984],{"class":983},[951,3864,3865],{"class":972},"'\\[\\e[0;33m\\]\\u@\\h:\\w\\$ \\[\\e[m\\]'\n",[842,3867,3869],{"id":3868},"информация-о-git","Информация о Git",[19,3871,3872,3873,940],{},"Если вы работаете с Git, полезно отображать текущую ветку. Добавьте функцию в ",[86,3874,939],{},[942,3876,3878],{"className":944,"code":3877,"language":946,"meta":947,"style":947},"parse_git_branch() {\n    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \\(.*\\)/ (\\1)/'\n}\n",[86,3879,3880,3887,3917],{"__ignoreMap":947},[951,3881,3882,3885],{"class":953,"line":954},[951,3883,3884],{"class":964},"parse_git_branch",[951,3886,1889],{"class":979},[951,3888,3889,3892,3895,3898,3901,3903,3906,3909,3912,3914],{"class":953,"line":961},[951,3890,3891],{"class":964},"    git",[951,3893,3894],{"class":972}," branch",[951,3896,3897],{"class":983}," 2>",[951,3899,3900],{"class":972}," /dev/null",[951,3902,2043],{"class":983},[951,3904,3905],{"class":964}," sed",[951,3907,3908],{"class":968}," -e",[951,3910,3911],{"class":972}," '/^[^*]/d'",[951,3913,3908],{"class":968},[951,3915,3916],{"class":972}," 's/* \\(.*\\)/ (\\1)/'\n",[951,3918,3919],{"class":953,"line":976},[951,3920,1918],{"class":979},[19,3922,3923],{},"Затем используйте в PS1:",[942,3925,3927],{"className":944,"code":3926,"language":946,"meta":947,"style":947},"PS1='\\[\\e[0;36m\\]\\u@\\h\\[\\e[m\\]:\\[\\e[1;34m\\]\\w\\[\\e[0;33m\\]$(parse_git_branch)\\[\\e[m\\]\\$ '\n",[86,3928,3929],{"__ignoreMap":947},[951,3930,3931,3933,3935],{"class":953,"line":954},[951,3932,3457],{"class":979},[951,3934,984],{"class":983},[951,3936,3937],{"class":972},"'\\[\\e[0;36m\\]\\u@\\h\\[\\e[m\\]:\\[\\e[1;34m\\]\\w\\[\\e[0;33m\\]$(parse_git_branch)\\[\\e[m\\]\\$ '\n",[19,3939,3940],{},"Эта функция будет показывать ветку в скобках, если текущая директория — репозиторий Git.",[14,3942,3944],{"id":3943},"шаг-6-оптимизируйте-и-комбинируйте","Шаг 6: Оптимизируйте и комбинируйте",[19,3946,3947],{},"Теперь объединим всё: цвета, время, Git, статус. Пример продвинутого prompt:",[942,3949,3951],{"className":944,"code":3950,"language":946,"meta":947,"style":947},"# Функция для 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",[86,3952,3953,3958,3964,3986,3990,3994,3999,4008,4012,4017],{"__ignoreMap":947},[951,3954,3955],{"class":953,"line":954},[951,3956,3957],{"class":957},"# Функция для Git\n",[951,3959,3960,3962],{"class":953,"line":961},[951,3961,3884],{"class":964},[951,3963,1889],{"class":979},[951,3965,3966,3968,3970,3972,3974,3976,3978,3980,3982,3984],{"class":953,"line":976},[951,3967,3891],{"class":964},[951,3969,3894],{"class":972},[951,3971,3897],{"class":983},[951,3973,3900],{"class":972},[951,3975,2043],{"class":983},[951,3977,3905],{"class":964},[951,3979,3908],{"class":968},[951,3981,3911],{"class":972},[951,3983,3908],{"class":968},[951,3985,3916],{"class":972},[951,3987,3988],{"class":953,"line":1531},[951,3989,1918],{"class":979},[951,3991,3992],{"class":953,"line":1537},[951,3993,1600],{"emptyLinePlaceholder":1070},[951,3995,3996],{"class":953,"line":1603},[951,3997,3998],{"class":957},"# PROMPT_COMMAND для статуса\n",[951,4000,4001,4003,4005],{"class":953,"line":1609},[951,4002,980],{"class":979},[951,4004,984],{"class":983},[951,4006,4007],{"class":972},"'RET=$?; [[ $RET != 0 ]] && echo -ne \"\\e[0;31m!$RET \\e[m\"'\n",[951,4009,4010],{"class":953,"line":1617},[951,4011,1600],{"emptyLinePlaceholder":1070},[951,4013,4014],{"class":953,"line":1625},[951,4015,4016],{"class":957},"# Сам PS1\n",[951,4018,4019,4021,4023],{"class":953,"line":1638},[951,4020,3457],{"class":979},[951,4022,984],{"class":983},[951,4024,4025],{"class":972},"'\\[\\e[0;33m\\]\\t \\[\\e[m\\]\\u@\\h:\\[\\e[1;34m\\]\\w\\[\\e[0;32m\\]$(parse_git_branch)\\[\\e[m\\]\\$ '\n",[19,4027,4028],{},"Этот prompt:",[30,4030,4031,4034,4037,4040,4043],{},[33,4032,4033],{},"Показывает время (желтый).",[33,4035,4036],{},"Имя пользователя и хост (стандартный цвет).",[33,4038,4039],{},"Текущий путь (жирный синий).",[33,4041,4042],{},"Ветку Git (зеленый).",[33,4044,4045,4046,4049],{},"При ошибке предыдущей команды выводит ",[86,4047,4048],{},"!код"," красным.",[19,4051,4052,4055,4056,4058,4059,4062,4063,4065],{},[40,4053,4054],{},"Совет",": Если prompt становится слишком длинным или медленным (например, из-за частых вызовов ",[86,4057,109],{},"), упростите его. Для Git можно использовать более быстрые альтернативы, например, ",[86,4060,4061],{},"__git_ps1"," из пакета ",[86,4064,109],{}," (если установлен).",[14,4067,772],{"id":771},[777,4069,4070,4079,4082,4103],{},[33,4071,4072,4073,4075,4076,4078],{},"После внесения изменений в ",[86,4074,939],{}," выполните ",[86,4077,1841],{}," или закройте и откройте терминал заново.",[33,4080,4081],{},"Убедитесь, что prompt отображается с цветами и информацией.",[33,4083,4084,4085],{},"Проверьте сценарии:\n",[30,4086,4087,4090,4097],{},[33,4088,4089],{},"Перейдите в директорию с Git-репозиторием — должна отобразиться ветка.",[33,4091,4092,4093,4096],{},"Выполните команду, которая завершится с ошибкой (например, ",[86,4094,4095],{},"ls non_existent_file","). В следующем prompt должен появиться код ошибки.",[33,4098,4099,4100,4102],{},"Проверьте, что цвета не \"разбегаются\" (после сброса ",[86,4101,3681],{}," следующий текст должен быть стандартного цвета).",[33,4104,4105,4106,4108,4109,168,4111,4113],{},"Если что-то не работает, проверьте синтаксис в ",[86,4107,939],{}," (лишние кавычки, отсутствие ",[86,4110,3599],{},[86,4112,3602],{}," для цветов).",[14,4115,840],{"id":839},[842,4117,4119],{"id":4118},"проблема-1-цвета-не-отображаются-или-разбегаются","Проблема 1: Цвета не отображаются или \"разбегаются\"",[19,4121,4122,4125,4126,1343,4128,4130],{},[40,4123,4124],{},"Причина",": Неправильное использование ",[86,4127,3599],{},[86,4129,3602],{}," вокруг непечатаемых символов (escape-последовательностей). Bash использует эти маркеры для корректного расчета длины prompt. Если их нет, курсор может смещаться.",[19,4132,4133,4135,4136,1343,4138,4140,4141,110],{},[40,4134,3073],{},": Убедитесь, что каждый блок цвета (включая сброс) обернут в ",[86,4137,3599],{},[86,4139,3602],{},". Пример правильного: ",[86,4142,4143],{},"\\[\\e[0;32m\\]...\\[\\e[m\\]",[842,4145,4147],{"id":4146},"проблема-2-prompt-слишком-медленный","Проблема 2: Prompt слишком медленный",[19,4149,4150,4152,4153,140,4156,4158],{},[40,4151,4124],{},": Выполнение тяжелых команд (например, ",[86,4154,4155],{},"git status",[86,4157,3884],{}," без кэширования) при каждом выводе prompt.",[19,4160,4161,940],{},[40,4162,3073],{},[30,4164,4165,4174,4183],{},[33,4166,4167,4168,4170,4171,4173],{},"Упростите функцию Git, используя ",[86,4169,4061],{}," (если установлен пакет ",[86,4172,109],{},"). Он оптимизирован.",[33,4175,4176,4177,4179,4180,363],{},"Или добавьте кэширование: например, обновлять информацию о Git только при изменении директории (через ",[86,4178,980],{}," и проверку ",[86,4181,4182],{},"$PWD",[33,4184,4185],{},"Удалите ненужные данные из PS1.",[842,4187,4189],{"id":4188},"проблема-3-unicode-символы-или-эмодзи-отображаются-некорректно","Проблема 3: Unicode-символы или эмодзи отображаются некорректно",[19,4191,4192,4194],{},[40,4193,4124],{},": Терминал или шрифт не поддерживают эти символы, или локаль не в UTF-8.",[19,4196,4197,940],{},[40,4198,3073],{},[30,4200,4201,4204,4220],{},[33,4202,4203],{},"Установите шрифт с поддержкой эмодзи (например, Nerd Fonts).",[33,4205,4206,4207,4210,4211,4214,4215,3090,4218,110],{},"Проверьте локаль: ",[86,4208,4209],{},"locale"," должен содержать ",[86,4212,4213],{},"UTF-8",". При необходимости: ",[86,4216,4217],{},"export LANG=en_US.UTF-8",[86,4219,939],{},[33,4221,4222],{},"Убедитесь, что терминал настроен на UTF-8.",[842,4224,4226,4227],{"id":4225},"проблема-4-изменения-не-применяются-после-source-bashrc","Проблема 4: Изменения не применяются после ",[86,4228,1841],{},[19,4230,4231,4233,4234,4236],{},[40,4232,4124],{},": Синтаксическая ошибка в ",[86,4235,939],{}," (например, незакрытая кавычка). Bash может не загружать файл при ошибке.",[19,4238,4239,4241,4242,4245,4246,4248],{},[40,4240,3073],{},": Проверьте файл на синтаксис, выполнив ",[86,4243,4244],{},"bash -n ~/.bashrc",". Исправьте ошибки. Также убедитесь, что вы не перезаписываете ",[86,4247,3457],{}," позже в том же файле (порядок важен).",[1000,4250,4251],{},"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":947,"searchDepth":961,"depth":961,"links":4253},[4254,4255,4256,4257,4258,4259,4260,4265,4266,4267],{"id":16,"depth":961,"text":17},{"id":24,"depth":961,"text":25},{"id":3421,"depth":961,"text":3422},{"id":3451,"depth":961,"text":3452},{"id":3619,"depth":961,"text":3620},{"id":3696,"depth":961,"text":3697},{"id":3782,"depth":961,"text":3783,"children":4261},[4262,4263,4264],{"id":3786,"depth":976,"text":3787},{"id":3811,"depth":976,"text":3812},{"id":3868,"depth":976,"text":3869},{"id":3943,"depth":961,"text":3944},{"id":771,"depth":961,"text":772},{"id":839,"depth":961,"text":840,"children":4268},[4269,4270,4271,4272],{"id":4118,"depth":976,"text":4119},{"id":4146,"depth":976,"text":4147},{"id":4188,"depth":976,"text":4189},{"id":4225,"depth":976,"text":4273},"Проблема 4: Изменения не применяются после source ~/.bashrc","2026-02-16 12:52:35","Полное руководство по изменению приглашения командной строки в bash. Научитесь настраивать PS1, добавлять цвета, время, текущую директорию и другие данные. Примеры для Ubuntu, Fedora, Arch Linux.","medium","15-30 мин",[4279,4282,4285,4288],{"answer":4280,"question":4281},"Чтобы вернуть стандартный prompt, удалите или закомментируйте изменения в переменной PS1 в файле ~/.bashrc и выполните `source ~/.bashrc`.","Как вернуть стандартный prompt в bash?",{"answer":4283,"question":4284},"Убедитесь, что ваш терминал поддерживает 256 цветов и что вы используете правильные escape-последовательности. Также проверьте, что переменная TERM установлена в xterm-256color.","Почему цвета в bash prompt не работают?",{"answer":4286,"question":4287},"Используйте escape-последовательность `\\` (полный путь) или `\\` (только имя текущей директории) в значении PS1.","Как добавить текущую директорию в prompt?",{"answer":4289,"question":4290},"Да, но убедитесь, что ваш терминал и шрифт поддерживают эти символы. Также может потребоваться установка локали в UTF-8.","Можно ли использовать Unicode символы в bash prompt?",[4292,4295,4298,4301],{"name":4293,"text":4294},"Откройте файл ~/.bashrc","Откройте файл ~/.bashrc в любом текстовом редакторе (nano, vim, code и т.д.).",{"name":4296,"text":4297},"Найдите переменную PS1","В файле найдите строку, начинающуюся с `PS1=`. Если такой строки нет, добавьте ее.",{"name":4299,"text":4300},"Измените PS1 под свои нужды","Измените значение PS1, используя escape-последовательности для цветов и информации. Пример: `PS1='\\\\[0;32m\\\\@\\:\\\\ \\\\[m\\'`.",{"name":4302,"text":4303},"Примените изменения","Сохраните файл и выполните команду `source ~/.bashrc` или перезапустите терминал.","PT20M",[4306,4307,4308,4309,4310,4311,4312,4313,4314,4315],"кастомизация bash prompt","изменить приглащение bash","PS1 bash","цвета в bash prompt","bashrc prompt","как настроить bash prompt","пользовательское приглащение bash","bash prompt цвета","bash prompt примеры","bash prompt текущая директория",{},[3366,4318,4319],"/guides/linux/bashrc-configuration","/guides/linux/zsh-vs-bash",{"title":3376,"description":4275},"guides/linux/customize-bash-prompt","В этом гайде вы узнаете, как полностью кастомизировать приглашение bash (prompt) с помощью переменной PS1. Мы рассмотрим настройку цветов, отображение системной информации и условные конструкции.",[946,1072,4324,4325,3457,4326,4327],"конфигурация","терминал","色彩","customization","nL2QII9BRgeGBvAWvnK6BOYToaJ6SD_f9eJn1ZjgJLU"]