понеділок, 13 жовтня 2014 р.

Конфигурационные файлы пользователя

Конфигурационные файлы пользователя - это те, которые "лежат" в домашней директории данного пользователя, и имя которых начинается с точки.
Чтобы посмотреть все свои конфигурационные файлы, можно воспользоваться такой командой (первое, что пришло в голову, может у вас получится ещё проще):

 $ ls -la ~ | rev | awk '{ print $1 }' | rev | egrep '^\.\w'

Стандартный набор файлов, который, теоретически, есть по-умолчанию (если ваша оболочка по-умолчанию - баш):

.bash_history
.bash_logout
.bash_profile
.bashrc
.profile

.bash_history - хранит историю введённых команд
.profile - сценарий, не привязан к оболочке (bash, zsh, etc.)
Остальные, в принципе, можно понять из документации к башу (man bash):

FILES
       /bin/bash
              The bash executable
       /etc/profile
              The systemwide initialization file, executed for login shells
       ~/.bash_profile
              The personal initialization file, executed for login shells
       ~/.bashrc
              The individual per-interactive-shell startup file
       ~/.bash_logout
              The individual login shell cleanup file, executed when a login shell exits
       ~/.inputrc

              Individual readline initialization file

Ещё можно собственноручно создавать другие конфигурационные файлы, например, .profile_work - для инициализации своего придуманного рабочего окружения (автоматически не выполняется, нужно выполнить команду source ~/.profile_work).
А также разные приложения имеют свои конфигурационные файлы, которые можно настраивать под себя (например, .vimrc - конфигурационый файл редактора vim).
Теперь посмотрим какие самые элементарные полезности можно засунуть в такие конфигурационные файлы.

Файл ~/.profile:

# setup user paths
export PYTHONPATH=$PYTHONPATH:/home/data/python_libs

# setup user aliases
alias wtf='uname -n'
alias ll='ls -la'
alias rm='rm -i'

# prompt colored

export PS1='\[\e[32m\]\u@\h:\w\$ \[\e[0m\]'

В первой строке расширяется питоновский путь поиска модулей.
Далее назначаем алиасы (дружественное имя какой-то команды), один из самых полезных - alias rm='rm -i', теперь всегда команда rm будет выполняться с ключом "-i", то есть спрашивать подтверждение перед удалением. Но если вы запустите команду с ключом "-f", то ключ "-i" проигнорируется.
Ну и последнее - это цветная строка приглашения к вводу.

Если вам вдруг нужно много работать удалённо (через ssh), вам жизненно необходимо иметь утилиту screen на удалённой машине. И вот пример прекрасного .screenrc (опять-таки, поместить в домашнюю директорию пользователя):

Файл ~/.screenrc:

startup_message off
vbell off
windows
# Add stuff to xterm (and cousins) title bars.  This is a moderate abuse of the
# hardstatus feature--it just puts the hardstatus stuff into an xterm title
# bar.
termcapinfo xterm*|Eterm|mlterm 'hs:ts=\E]0;:fs=\007:ds=\E]0;screen\007'
hardstatus off

defscrollback 10000
hardstatus alwayslastline
hardstatus string '%{= kW}%-Lw%{= KW}%50>%n%f* %t%{= kW}%+Lw%<'

# Bind F11 and F12 (NOT F1 and F2) to previous and next screen window
bindkey -k F1 prev

bindkey -k F2 next

В результате, вы получите отличный вид вкладок и нет раздражающего мерцания (+ ещё некоторые полезности, но лучше погуглить, чтобы до конца разобраться).
Ну и, конечно же, вам надо настроить ваш любимый консольный текстовый редактор - но эта тема очень широка, потому здесь опять придётся вам покопаться самим. Удачи!