Дотфайлы: что это такое и как их создавать в Mac и Linux

0
115
views

Дотфайлы (англ. dotfiles, образовано от dot — «точка» и files — «файлы») будут играть важную роль в вашей карьере разработчика.

Прежде всего, с их помощью вы сможете работать продуктивнее. Но это еще не все: благодаря им вы сможете создавать себе продуктивную рабочую среду на любой машине.

Эта ознакомительная статья поможет вам начать работать с дотфайлами.

Вы узнаете, что это такое, как располагать эти файлы в своей системе и как их создавать. Также я дам вам пару советов и ресурсов для кастомизации настроек и углубления знаний.

Приступим!

Что такое дотфайлы?

Конфигурационные настройки многих программ хранятся в простых текстовых файлах или директориях.

Дотфайлы — это файлы конфигурации для различных программ. С их помощью эти программы управляют своим функционалом.

От обычных файлов и директорий их отличает префикс. Собственно, дотфайлы получили свое название именно из-за точки, с которой начинаются их имена.

В системах на основе Unix дотфайлы по умолчанию являются скрытыми.

Примеры распространенных дотфайлов

Большинство программ по умолчанию сохраняют свои конфигурации в вашей домашней директории.

Вот несколько распространенных дотфайлов, о которых вы могли слышать или даже применять:

  • Если вы используете оболочку Bash, вероятно, у вас есть файлы .bash_profile и .bashrc. В обоих хранятся скрипты. Каждый раз, когда вы начинаете новую сессию в терминале, эти скрипты загружаются и настраивают оболочку.
  • Если вы используете оболочку Zsh (она теперь является дефолтной в MacOS), у вас есть файл .zshrc, который настраивает эту оболочку.
  • Если вы пользуетесь консольным текстовым редактором Vim, у вас есть файл .vimrc, где хранятся настройки редактора.
  • После установки и настройки Git на вашей локальной машине у вас появится файл .gitconfig, содержащий всю вашу информацию и настройки.
  • Многие программы, вместо того чтобы хранить свои конфиги в вашей домашней директории, сохраняют их в скрытой директории (папке) .config в вашей системе.

Как найти дотфайлы

В Finder (приложение для отображения содержимого Mac) корень вашей директории Home может выглядеть как-то так:

Но на самом деле компьютерные системы имеют куда больше файлов, просто многие из них скрыты по умолчанию.

Чтобы просмотреть дотфайлы в Finder, перейдите в корень вашей директории Home и зажмите одновременно Command + Shift + . (точка).

Вы увидите множество дотфайлов, созданных либо вами лично, либо автоматически при установке каких-то программ.

Но чаще всего вы будете взаимодействовать с дотфайлами при помощи командной строки. Чтобы увидеть их там, опять же, нужно сделать пару дополнительных шагов.

Команда ls, выводящая список файлов в указанной директории, по умолчанию не выводит дотфайлы, даже если они есть в директории.

Для начала перейдите в вашу домашнюю директорию (если вы еще не в ней). Это делается при помощи команды cd.

Запустите команду ls с флагом -a (-a — сокращение от all — «все»):

ls -a

Если хотите увидеть дополнительную информацию о ваших файлах, можете добавить также флаг -l. Благодаря ему список файлов и директорий выводится в «длинном» формате. Вы увидите даты и время создания файлов, их размер и т. д.

ls -la

В выводе будут все файлы и папки, хранящиеся в вашей домашней директории, включая скрытые.

Файлы и директории, имена которых начинаются с точки, — это дотфайлы.

Зачем нужны дотфайлы?

Ваши дотфайлы «привязаны» к вам лично.

Вы потратили довольно много времени на тонкую настройку своего рабочего окружения. Подобрали конфигурации, которые наилучшим образом вам подходят. Подогнали внешний вид программ под свой вкус. В итоге вы получили среду разработки, которая вам лично помогает быть более продуктивным.

А представьте, что после всего этого вам приходится сменить машину. И что теперь, начинать все заново, с нуля? А как вспомнить, какие именно настройки и команды вы использовали, чтобы добиться имеющегося результата?

Или другой вариант: у вас есть две машины, и вы хотите, чтобы настройки на них были совершенно одинаковыми.

Одна из основных задач разработчиков — автоматизировать повторяющиеся задачи.

Создание репозитория с дотфайлами и размещение его на хостинге, например, на GitHub, сэкономит вам кучу времени при смене компьютера. Вы сможете подтянуть сохраненные конфиг-файлы на новый компьютер и получить точно такие же настройки, какие были на вашей старой машине.

Таким образом все ваши настройки и предпочтения можно будет использовать повторно и применять на любой новой машине.

Как создавать дотфайлы

Хороший подход — держать все свои дотфайлы в отдельной папке.

Я покажу, как создать папку в корне домашней директории, но это для простоты. Вы можете добавить такую папку там, где сочтете нужным.

Также я покажу создание файлов .zshrc и .vimr, но остальные дотфайлы создаются по тому же принципу.

Перейдите в домашнюю директорию (команда cd) и создайте в ней директорию с именем dotfiles. В ней будут храниться все ваши конфигурационные файлы.

mkdir dotfiles

Для создания дотфайлов применяем команду touch и передаем ей в качестве аргумента желаемое имя файла (или несколько имен, если хотите создать несколько файлов). Перед именами файлов ставим точки.

Чтобы создать файлы .zshrc и .vimrc в директории dotfiles, пишем команду так:

touch ~/dotfiles/.zshrc ~/dotfiles/.vimrc

Если в вашей системе уже есть такие файлы и вы хотите просто переместить их в директорию dotfiles, воспользуйтесь командой mv:

mv ~/.zshrc ~/dotfiles/

Первый аргумент — текущий путь к файлу. Тильда (~) обозначает домашнюю директорию. По умолчанию большинство скрытых конфигурационных файлов хранятся именно там.

Второй аргумент — путь к директории, куда нужно переместить файл. В нашем случае мы перемещаем его в директорию dotfiles, которая лежит в домашней директории.

То же самое можно сделать с файлом .vimrc:

mv ~/.vimrc ~/dotfiles/

Посмотрим на наши дотфайлы:

ls -a dotfiles
. .. .vimrc .zshrc

Когда файлы созданы, в них можно добавить нужные настройки.

Настраиваем конфиги

Ниже представлено несколько идей, которые помогут вам начать вносить настройки в созданные вами дотфайлы.

Персонализация строки предложения Zsh

После создания файла .zshrc все, добавленное в этот файл, будет влиять на поведение оболочки Zsh.

Пора настроить строку предложения оболочки. Настройка делается по собственному вкусу, я лишь поделюсь ресурсами, которые вам помогут:

Кастомизация Vim

После создания файла .vimrc можно настроить текстовый редактор Vim. Вот пара ресурсов, которые вам пригодятся:

Алиасы и функции

Один из способов улучшить свой рабочий процесс и повысить продуктивность работы — сэкономить время, которое тратится на ввод часто используемых команд. Это можно сделать при помощи шорткатов (скоращений).

Алиасы (псевдонимы) — это шорткаты для команд, вводимых в терминале. То есть это короткие версии длинных команд.

Например, разработчики часто пользуются Git. Будет хорошей идеей создать алиасы Git для повторяющихся команд. Почитайте о самых полезных в этой статье.

Другой способ сэкономить время — упростить процессы.

Вы можете скомбинировать две команды в одной, создав изолированное поведение, выполняющее одну специфическую задачу. Это делается при помощи функций.

Пример полезной функции — комбинация команды mkdir (создание новой директории) с командой cd (переход в указанную директорию). С помощью этой функции вы сможете создавать новую директорию и тут же переходить в нее.

Функция выглядит так:

function mkcd() {
  mkdir -p "$@" && cd "$_";
}

О функциях и алиасах в Zsh можно почитать здесь.

Как создавать ссылки на дотфайлы

Вероятно, вы заметили, что никакие настройки, добавленные вами в файлы в директории dotfiles, не возымели никакого эффекта.

Конфигурационные файлы программ, как уже говорилось, по умолчанию хранятся в скрытом виде в домашней директории. То есть программа в поиске своих настроек будет искать их именно там.

Будет хорошей идеей связать ссылкой файл в директории dotfiles (где сохранены нужные вам настройки) и файл в домашней директории, где настройки должны храниться по умолчанию.

Это будто один файл, хранящийся в двух местах одновременно! То есть файл будет находиться в директории dotfiles, а указатель на него будет лежать в домашней директории.

Для создания ссылки используется команда ln (образовано от link) с аргументом -s (означает symbolic, «символическая» ссылка).

Создаем символические ссылки для файлов .zshrc и .vimrc:

ln -s ~/dotfiles/.vimrc ~/.vimrc
ln -s ~/dotfiles/.zshrc ~/.zshrc

Таким образом программы будут без проблем находить свои настройки там, где ожидают их найти.

ls -l ~/.zshrc
lrwxr-xr-x 1 dionysialemonaki staff 39 Oct 21 18:30 /Users/dionysialemonaki/.zshrc -> /Users/dionysialemonak

Если посмотреть полную информацию по файлу .zshrc, мы увидим, что файл, находящийся в домашней директории, указывает на файл в директории dotfiles. Стрелочка -> означает символическую ссылку.

Проставлять ссылки вручную довольно нудно и утомительно, ведь со временем у вас будет появляться все больше дотфайлов.

Чтобы облегчить этот процесс, можно создать скрипт, автоматически вызывающий ln -s для создаваемых вами дотфайлов. Или можно использовать специальную утилиту.

Контроль версий для дотфайлов

Контроль версий дотфайлов позволит вам отслеживать все изменения, внесенные в них, а также делиться ими на GitHub.

Перейдите в директорию dotfiles (cd dotfiles).

Чтобы организовать ваши файлы в git-репозиторий, выполните следующие шаги:

1. Инициализируйте репозиторий:

git init

2. Добавьте в него все файлы, которые у вас есть на данный момент:

git add .

3. Сделайте коммит изменений с соответствующим сообщением:

git commit -m "Added dotfiles"

От редакции Techrocks. Предлагаем почитать статью «Практическое руководство по использованию Git».

Как разместить дотфайлы на GitHub

Для начала, у вас должен быть аккаунт на GitHub. Войдите в него.

Затем создайте новый репозиторий:

Дайте ему имя и кликните «Create repository».

В командной строке введите следующую команду:

git remote add origin url
где 'url' - GitHub url созданного вами ранее репозитория, оканчивающийся на .git

Наконец,

git push -u origin main

Вот и всё: вы можете делиться своими дотфайлами онлайн!

Заключение

Теперь вы знакомы с дотфайлами! Надеюсь, этот туториал был вам полезен.

Проект dotfiles, скорее всего, будет с вами всю вашу карьеру. Постепенно он будет разрастаться — по мере того, как вы будете узнавать что-то новое о дотфайлах.

Также со временем как вы начнете лучше разбираться в том, что вам нравится в настройках рабочего окружения, а что — нет. И это неизбежно приведет к изменениям в дотфайлах.

Перевод статьи «Dotfiles – What is a Dotfile and How to Create it in Mac and Linux».