mirror of
https://github.com/Linux4Yourself/book.git
synced 2025-02-03 23:47:16 +08:00
68 lines
4.8 KiB
Markdown
68 lines
4.8 KiB
Markdown
# Настройка окружения bash
|
||
|
||
Оболочка командной строки `bash` использует множество стартовых скриптов. С их помощью можно задать различные переменные, функции, алиасы, настройки `bash`
|
||
Ниже будут предложены команды по созданию минимальных версий стартовых скриптов `bash`:
|
||
|
||
## /etc/profile
|
||
|
||
<!-- объяснение строк давать как коментарии в самом скрипте -->
|
||
|
||
Вы могли заметить файлы `~/.profile`, `~/.bash_profile` и ряд других. Они используются для задания элементов окружения для оболочки пользователя. Например, `umask`, а так же переменных `PS1` или `PATH`. Тоже самое и с файлом `/etc/profile`, только он используется для задания общесистемных параметров, а файлы в каталоге пользователя - для задания параметров конкретного пользователя системы.
|
||
|
||
[filename](https://raw.githubusercontent.com/Linux4Yourself/Linux4Yourself.Book.Scripts/develop/src/profile.sh ':include')
|
||
|
||
### О CFLAGS и CXXFLAGS
|
||
|
||
С помощью данных переменных можно задать флаги компилятора, влияющие в том числе на оптимизацию.
|
||
Есть следующие уровни оптимизации (и соответствующие флаги)
|
||
|
||
``-O0`` - Без оптимизации. Не рекомендуется.
|
||
|
||
``-O1`` - Простейшие минимальные оптимизации. Не рекомендуется.
|
||
|
||
``-O2`` - Стандартная оптимизация. По умолчанию в GCC.
|
||
|
||
``-O3`` - Агрессивная оптимизация, почти все пакеты собираются и работают, рекомендуется нами.
|
||
|
||
``-Ofast`` - Чрезвычайно агрессивная оптимизация, некоторые пакеты не собираются.
|
||
|
||
``-Os`` - Оптимизация по размеру.
|
||
|
||
``-Og`` - Оптимизация для отладки.
|
||
|
||
Вы можете сообщить компилятору оптимизировать код для вашего процессора добавив опцию ``-march=native``, однако возможность запуска такого кода на других процессорах будет потеряна.
|
||
|
||
## Bash-completion
|
||
|
||
bash-completion расширяет существующие возможности дополнения в bash, позволяя вводить сложные командные строки нажатием буквально нескольких клавиш. Целью является создание программируемых процедур дополнения для большинства распространённых команд Linux/UNIX, которые позволили бы системным администраторам и программистам сократить количество нажатий клавиш при выполнении ежедневных задач.
|
||
|
||
[filename](https://raw.githubusercontent.com/Linux4Yourself/Linux4Yourself.Book.Scripts/develop/src/completion.sh ':include')
|
||
|
||
## Dircolors
|
||
|
||
Этот файл нужен для цветного вывода таких утилит, как `ls`. Пример: `ls --color=auto`.
|
||
|
||
[filename](https://raw.githubusercontent.com/Linux4Yourself/Linux4Yourself.Book.Scripts/develop/src/dircolors.sh ':include')
|
||
|
||
## Readline
|
||
|
||
Этот файл нужен для настройки ``inputrc``. Если пользователь не имеет индивидуальных установок, он использует глобальный файл.
|
||
|
||
[filename](https://raw.githubusercontent.com/Linux4Yourself/Linux4Yourself.Book.Scripts/develop/src/inputrc.sh ':include')
|
||
|
||
## Umask
|
||
|
||
Установка значения ``umask`` важна для безопасности. Здесь права доступа для записи группы по умолчанию выключены для пользователей системы и когда имена пользователя и группы не совпадают.
|
||
|
||
[filename](https://raw.githubusercontent.com/Linux4Yourself/Linux4Yourself.Book.Scripts/develop/src/umask.sh ':include')
|
||
|
||
## Другие стартовые скрипты
|
||
|
||
[filename](https://raw.githubusercontent.com/Linux4Yourself/Linux4Yourself.Book.Scripts/develop/src/other.sh ':include')
|
||
|
||
## Применить изменения
|
||
|
||
```bash
|
||
bash --login +h
|
||
```
|