img

Дотфайлы – что такое дотфайл и как его создать в Mac и Linux

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

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

Эта статья – это введение в работу с дотфайлами.

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

Приступим!

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

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

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

Отличает их от обычных файлов и каталогов их префикс. 

Дотфайлы имеют такое название из-за того, что каждый файл и каталог начинается с точки (.).

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

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

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

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

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

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

В Finder корень вашего домашнего каталога может выглядеть примерно следующим образом:

Screenshot-2021-10-20-at-7.11.45-PM

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

Для того, чтобы просмотреть дотфайлы в Finder, перейдите в корень вашего домашнего каталога и удерживайте одновременно клавиши Command Shift.

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

Screenshot-2021-10-20-at-7.12.04-PM

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

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

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

Затем воспользуйтесь командой ls с флагом -a, который расшифровывается как all:

ls -a

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

ls -la

В результате вы увидите все файлы и каталоги – и скрытые тоже, - которые находятся в вашем текущем домашнем каталоге. 

Screenshot-2021-10-19-at-1.37.15-PM

Каждый файл и каталог, который начинается с точки, - это дотфайл.

Для чего нужен дотфайл?

Ваши дотфайлы – это ваши личные файлы.

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

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

А как вы запомните точные настройки и команды, которые вы использовали?

Или что, если у вас есть второй компьютер, и вы хотите, чтобы обе системы были одинаково настроены? 

Одна из основных целей разработчиков – автоматизация повторяющихся задач. 

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

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

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

Как настроить папку для хранения ваших дотфайлов?

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

Для простоты понимания я покажу пример создания папки в корне вашего домашнего каталога. Но вы можете добавить папку куда вам удобно. 

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

Перейдите в свой домашний каталог (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

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

Что такое псевдонимы и функции?

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

Псевдонимы – это комбинации клавиш для команд терминала. Они представляют собой более короткую версию длинной команды. 

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

Еще один способ сэкономить время – это упростить процессы. 

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

Вот одна полезная функция, которую можно создать: объединение команды для создания нового каталога (mkdir) и команды для перехода в новый каталог (cd).

В таком случае вы создадите папку и сразу же перейдете в нее – и все это произойдет за один этап.

Эта функция будет выглядеть следующим образом:

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

Вы можете добавить как псевдонимы, так и функции к вашему дотфайлу .zshrc, а можете создать для низ отдельные файлы: .aliases и .functions.

Как связать символическими ссылками ваши дотфайлы?

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

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

Именно поэтому рекомендуется связать символическими ссылками (или создать символическую ссылку (symbolic link) - указатель) файл в каталоге dotfiles, где вы храните свои настройки наряду с другими созданными вами файлами, с файлом в его корневом каталоге по умолчанию.

Это будет выглядеть так, как будто файл одновременно находится в двух местах!

Файл будет находиться в каталоге dotfiles, но при этом его «копия» также будет располагаться в корневом каталоге. 

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

Ниже показано, как связать символическими ссылками файлы .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/dionysialemonaki/dotfiles/.zshrc

Если посмотреть на данные файла .zshrc, то можно увидеть, что файл, который расположен в корневом каталоге, указывает на файл в каталоге dotfiles. Значок -> обозначает символическую ссылку. 

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

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

Как управлять версиями ваших дотфайлов?

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

Убедитесь, что вы сменили каталог на dotfiles (cd dotfiles).

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

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

git init

  1. Добавьте все созданные вами до настоящего времени файлы:

git add .

  1. Зафиксируйте изменения и добавьте сообщение о завершении:

git commit -m "Added dotfiles"

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

Убедитесь, что вы вошли в свой аккаунт GitHub.

Теперь, создайте новый репозиторий:

Screenshot-2021-10-21-at-5.21.59-PM

Назовите его и нажмите «Create repository» («Создать репозиторий»).

Далее, добавьте следующее в командную строку:

git remote add origin url 

#where 'url',the GitHub url of the repository you previously created
#ending in .git

И наконец, 

git push -u origin main

Теперь вы можете делиться своими дотфайлами онлайн!

Заключение

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

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

Ссылка
скопирована
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
  Всплески трафика могут стать как проблемой для вашей инфраструктуры хостинга, так и потрясающей возможностью для развития.  На
img
Подробное руководство, предназначенное для понимания и оптимизации различных типов соединений в SQL, которое повысит вашу произв
img
  Введение Цель резервного копирования и репликации – предотвратить критическую потерю данных в результате непредвиденных событи
img
  Вы можете более эффективно запускать и компилировать свои программы с помощью этого удобного средства автоматизации. Есл
img
Дотфайлы (dotfiles) – это немаловажные файлы, которые могут сыграть ключевую роль в вашей карьере разработчика программного обес
img
Linux Jargon Buster: что такое менеджер пакетов в Linux? Как это работает? То, что позволяет отличать дистрибутивы Linux друг от
Комментарии
ЛЕТНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59