[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-rabota-v-cli-bash-chto-takoe-aliasy-i-fayly-konfiguratsii-shell":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":21,"progress":22,"seo":23},160,"chto-takoe-aliasy-i-fayly-konfiguratsii-shell",4,"rabota-v-cli-bash","Работа в CLI (Bash)","💻","Что такое алиасы и файлы конфигурации shell?","**Алиасы (alias)** — это пользовательские сокращения для часто используемых команд, позволяющие создавать короткие имена для длинных или сложных командных строк.\n\n### Работа с алиасами\n\n```bash\n# Создать алиас (действует в текущей сессии)\nalias ll='ls -la'\nalias gs='git status'\nalias gp='git push'\nalias dc='docker compose'\nalias k='kubectl'\n\n# Показать все алиасы\nalias\n\n# Показать конкретный алиас\nalias ll\n\n# Удалить алиас\nunalias ll\n\n# Выполнить оригинальную команду, игнорируя алиас\n\\ls\ncommand ls\n```\n\n### Файлы конфигурации bash\n\n| Файл | Когда загружается | Что размещать |\n|---|---|---|\n| `~\u002F.bash_profile` (или `~\u002F.profile`) | **Login shell** (вход в систему, SSH) | Переменные окружения |\n| `~\u002F.bashrc` | **Interactive non-login shell** (новый терминал в GUI) | Алиасы, функции, настройки промпта |\n| `~\u002F.bash_logout` | При завершении login shell | Команды очистки |\n\n> Рекомендуемая практика: в `~\u002F.bash_profile` подгружать `~\u002F.bashrc`, чтобы настройки работали в обоих случаях:\n```bash\n# ~\u002F.bash_profile\nif [ -f ~\u002F.bashrc ]; then\n    source ~\u002F.bashrc\nfi\n```\n\n### Файлы конфигурации zsh\n\n+ **`~\u002F.zprofile`** — аналог `~\u002F.bash_profile`\n+ **`~\u002F.zshrc`** — аналог `~\u002F.bashrc` (основной файл конфигурации)\n+ **`~\u002F.zshenv`** — выполняется для ВСЕХ экземпляров zsh (включая скрипты)\n\n### Пример конфигурации ~\u002F.bashrc для Java-разработчика\n\n\u003Cdetails>\n\u003Csummary>Полный пример .bashrc\u003C\u002Fsummary>\n\n```bash\n# Переменные окружения\nexport JAVA_HOME=\u002Fusr\u002Flib\u002Fjvm\u002Fjava-17\nexport MAVEN_HOME=\u002Fopt\u002Fmaven\nexport PATH=$PATH:$JAVA_HOME\u002Fbin:$MAVEN_HOME\u002Fbin\n\n# Алиасы для Git\nalias gs='git status'\nalias gl='git log --oneline -20'\nalias gd='git diff'\nalias gc='git commit'\nalias gp='git push'\n\n# Алиасы для Docker\nalias dc='docker compose'\nalias dps='docker ps --format \"table {{.Names}}\\t{{.Status}}\\t{{.Ports}}\"'\n\n# Алиасы для Maven\nalias mci='mvn clean install'\nalias mcp='mvn clean package -DskipTests'\nalias mt='mvn test'\n\n# Алиасы для навигации\nalias ..='cd ..'\nalias ...='cd ..\u002F..'\nalias ll='ls -lah'\nalias la='ls -la'\n\n# Полезные функции\nmkcd() {\n    mkdir -p \"$1\" && cd \"$1\"\n}\n\n# Настройка промпта (показывает текущую ветку git)\nparse_git_branch() {\n    git branch 2>\u002Fdev\u002Fnull | sed -e '\u002F^[^*]\u002Fd' -e 's\u002F* \\(.*\\)\u002F (\\1)\u002F'\n}\nexport PS1=\"\\u@\\h \\[\\033[32m\\]\\w\\[\\033[33m\\]\\$(parse_git_branch)\\[\\033[00m\\] $ \"\n\n# История\nexport HISTSIZE=10000\nexport HISTFILESIZE=20000\nexport HISTCONTROL=ignoredups:erasedups\n```\n\n\u003C\u002Fdetails>\n\n> **На собеседовании:** интервьюер проверяет понимание разницы между login shell и non-login shell, и какие файлы при каком типе загружаются. Частая ошибка — добавлять переменные окружения только в `.bashrc` и удивляться, что они не работают в cron или при SSH-подключении (login shell читает `.bash_profile`).","","junior",[15,16,17,18,19,20],"cli","bashrc","конфигурация","linux","alias","bash",[],null,{"title":24,"description":25,"ogTitle":26,"ogDescription":27,"keywords":28,"schemaAnswer":36,"featuredSnippetReady":37},"Алиасы и файлы конфигурации shell: .bashrc, .zshrc — Gymterview","Что такое алиасы в Bash и файлы конфигурации shell: .bashrc, .bash_profile, .zshrc. Создание alias, порядок загрузки конфигурационных файлов.","Алиасы и конфигурация shell — .bashrc, .bash_profile, .zshrc | Gymterview","Подробный разбор алиасов в bash и файлов конфигурации: .bashrc, .bash_profile, .zshrc, порядок загрузки и различие login\u002Fnon-login shell.",[29,30,31,32,33,34,35],"alias bash","алиасы linux",".bashrc",".bash_profile",".zshrc","конфигурация shell","alias команда","Алиасы (alias) — сокращения для часто используемых команд, создающие короткие имена для длинных команд. Файлы конфигурации: .bashrc — для интерактивных non-login сессий, .bash_profile — для login-сессий, .zshrc — аналог для zsh. Алиасы обычно записываются в эти файлы для постоянного действия.",true]