Dotfiles là gì? Hướng dẫn đầy đủ về cách dùng và lợi ích
Học cách quản lý dotfiles để có cấu hình nhất quán giữa các hệ thống và cải thiện quy trình làm việc. Đảm bảo khả năng tương thích với các hệ thống dựa trên Unix.
Dotfiles—những tệp cấu hình ẩn nằm trong hệ thống của bạn—là công cụ thiết yếu cho nhà phát triển phần mềm, cho phép tùy biến môi trường và quy trình làm việc. Bài viết này giới thiệu dotfiles, lý do chúng hữu ích, và hướng dẫn bạn tạo, quản lý, cũng như kiểm soát phiên bản dotfiles của mình.
Hiểu về dotfiles chỉ là một trong nhiều kỹ năng bạn cần với tư cách nhà phát triển. Nếu bạn mới bắt đầu, theo học lộ trình nghề nghiệp Associate Python Developer của DataCamp có thể giúp bạn xây dựng kỹ năng Python và phát triển phần mềm. Nếu đã có chút kinh nghiệm, lộ trình Python Developer đi sâu vào các thực hành nâng cao hơn, như dùng pytest để kiểm thử mã.
Tìm hiểu Dotfiles
Hãy dành một phút để hiểu dotfiles về mặt khái niệm rồi xem các ví dụ cụ thể.
Dotfiles là gì?
Dotfiles là các tệp cấu hình ẩn trên hệ thống dựa trên Unix, mặc định bị ẩn do có tiền tố đặc biệt (.). Những tệp này lưu trữ cấu hình, thiết lập và ưu tiên cho ứng dụng, công cụ như hệ thống kiểm soát phiên bản và trình soạn thảo. Chúng giúp nhà phát triển dễ dàng tạo môi trường tùy biến phù hợp với quy trình làm việc của mình.
Bạn có thể quản lý và chia sẻ dotfiles giữa các máy khác nhau thông qua kiểm soát phiên bản. Bạn cũng có thể chia sẻ các dotfiles này để tăng năng suất và chia sẻ các alias, script, và cấu hình hữu ích.
Ví dụ về các dotfiles phổ biến
Dưới đây là một số dotfiles được dùng phổ biến nhất.
.bashrc/.zshrc: Dùng để cấu hình môi trường shell Bash hoặc Zsh. Chứa các hàm alias và biến môi trường.
.gitconfig: Lưu các thiết lập cấu hình Git như thông tin người dùng và alias.
.vimrc:Lưu cấu hình cho trình soạn thảo Vim và bao gồm các thiết lập như tô sáng cú pháp, thụt lề, đánh số dòng, và ánh xạ phím.
Các dotfiles dùng phổ biến như .bashrc, .zshrc và .vimrc, thường được lưu trong thư mục home. Điều này có thể khác nhau giữa các hệ thống. Trên Linux, chúng được lưu tại /home/username, trong khi trên macOS là /Users/username. Các tệp này thường bị ẩn để tránh làm lộn xộn thư mục, nhờ tiền tố (.) trong tên tệp. Bạn có thể xem chúng bằng cách chạy ls -a trong terminal.
Danh sách dotfiles trong thư mục home. Ảnh: Tác giả
Các ứng dụng cần cấu hình phức tạp, như ứng dụng đồ họa và ứng dụng CLI hiện đại, lưu thiết lập cấu hình trong thư mục .config. Ví dụ, /.config/nvim, cho Neovim.
Cách thiết lập và tổ chức Dotfiles
Dotfiles thường nằm rải rác trong thư mục home của bạn. Vì vậy, một thực hành tốt là tạo một thư mục chứa tất cả dotfiles.
Tạo thư mục dotfiles
Để tạo thư mục dotfiles, mở terminal và tạo thư mục dotfiles trong thư mục home.
Xem tất cả tệp trong thư mục dotfiles mới tạo. Ảnh: Tác giả.
Bạn có thể tổ chức dotfiles vào các thư mục được đặt theo tên ứng dụng tương ứng. Ví dụ, bạn có thể tạo thư mục bash để lưu dotfiles của Bash hoặc vim để lưu dotfiles của Vim và trỏ thư mục home của bạn tới các thư mục này bằng trình quản lý dotfile như GNU Stow.
GNU Stow tạo các liên kết tượng trưng tới dotfiles của bạn, trỏ thư mục home đến dotfiles trong các thư mục tương ứng. Điều này khiến như thể dotfiles nằm trong thư mục home của bạn, nhưng thực ra chúng ở trong các thư mục con của thư mục dotfiles. Đây còn gọi là symlink. Để symlink các tệp này tới thư mục home, bạn cần cài GNU Stow. Vào thư mục dotfiles và chạy lệnh sau trên bất kỳ thư mục nào bạn muốn symlink với thư mục home.
stow bash# This will link all files in the bash folder to your home directoryĐược hỗ trợ bởi
Kiểm soát phiên bản cho phép bạn theo dõi thay đổi trong thư mục dotfiles của mình. Bạn cũng có thể lưu trữ và chia sẻ chúng với người khác trên GitHub. Để bật kiểm soát phiên bản trong thư mục dotfiles, bạn cần khởi tạo git trong thư mục dotfiles bằng lệnh sau.
Khi đã thiết lập kiểm soát phiên bản cho dotfiles, bạn có thể dùng các nền tảng lưu trữ như GitHub hoặc GitLab để lưu trữ dotfiles.
Vì sao nên dùng Dotfiles?
Việc tạo và quản lý dotfiles mang lại lợi ích gì cho nhà phát triển? Ở phần này, tôi sẽ nêu một vài lý do khiến các nhà phát triển quan tâm tới dotfiles.
Năng suất và hiệu quả:Là nhà phát triển, dotfiles cho phép bạn cấu hình phím tắt, alias và hàm để giảm gõ lặp lại. Ví dụ, bạn có thể tạo phím tắt cho git status thành gs và lưu trong tệp .bashrc hoặc .zshrc.
Tính nhất quán giữa các thiết bị:Khi chuyển hệ thống, dotfiles cho phép bạn mang các tùy biến sang máy khác. Bạn chỉ cần clone dotfiles lên hệ thống mới.
Cộng đồng và chia sẻ tri thức: Bạn có thể chia sẻ dotfiles trên GitHub để người khác học cách tối ưu môi trường làm việc.
Bảo mật và quyền riêng tư: Thông tin nhạy cảm như khóa API và mật khẩu không nên công khai. Dotfiles giúp đảm bảo các tệp chứa khóa bí mật không bị đẩy lên công khai. Ví dụ là dotfile .gitignore, ngăn không cho các tệp bí mật bị đẩy lên GitHub. .gitconfig cho phép người dùng thiết lập danh tính Git mà không phải công khai trên mọi kho.
Nâng cấp môi trường phát triển: Dotfiles không chỉ giới hạn ở shell mà còn dùng để cấu hình các công cụ phát triển. Ví dụ, nhà phát triển Python dùng .pythonrc cho thiết lập Python REPL, còn nhà phát triển JavaScript dùng .npmrc cho cấu hình npm. .vimrc và .emacs.d/init.el cũng là dotfiles cho trình soạn thảo Vim và Emacs, cho phép người dùng tùy biến môi trường chỉnh sửa như tô sáng cú pháp, thụt lề, plugin, v.v.
Quản lý Dotfiles nâng cao
Bạn có thể dùng dotfiles cho các quy trình nâng cao, như sử dụng trên nhiều máy và tự động hóa thiết lập, chia sẻ, sao lưu.
Dùng dotfiles trên nhiều máy
Với dotfiles, bạn có thể dựng quy trình làm việc cá nhân hóa trên nhiều máy. Bạn chỉ cần đảm bảo đã thiết lập kiểm soát phiên bản cho dotfiles bằng Git và GitHub rồi clone kho về máy mới bạn muốn làm việc bằng lệnh dưới đây.
Bạn có thể có một shell script để tự động cài đặt và tạo symlink cho dotfiles trên máy mới. Ví dụ, shell script dưới đây trong tệp install.sh tự động sao lưu và symlink dotfiles trên một máy.
#!/bin/bash# Define pathsDOTFILES_DIR="$HOME/dotfiles"BACKUP_DIR="$HOME/dotfiles_backup"# Files to link and their source directoriesdeclare-A FILES
FILES[".bashrc"]="$DOTFILES_DIR/bash/.bashrc"
FILES[".vimrc"]="$DOTFILES_DIR/vim/.vimrc"# Create a backup directorymkdir-p"$BACKUP_DIR"# Loop through each file and create a symlinkforfilein"${!FILES[@]}";dosrc="${FILES[$file]}"dest="$HOME/$file"# Backup existing file if it existsif[-e"$dest"];thenecho"Backing up existing $file to $BACKUP_DIR"mv"$dest""$BACKUP_DIR/"fi# Create symlinkecho"Linking $src to $dest"ln-s"$src""$dest"doneecho"Dotfile installation complete!"Được hỗ trợ bởi
Phân tích ngắn gọn script trên.
Script dùng DOTFILES_DIR làm thư mục gốc của dotfiles và BACKUP_DIR để sao lưu dotfiles hiện có trong thư mục $HOME.
Một mảng kết hợp FILES ánh xạ tên tệp đích trong thư mục home tới đường dẫn tương ứng trong DOTFILES_DIR.
Với mỗi tệp trong FILES, script kiểm tra xem đã có tệp tại vị trí đích $HOME/.bashrc hoặc $HOME/.vimrc chưa. Nếu có, tệp sẽ được chuyển vào BACKUP_DIR.
Sau đó tạo một symlink từ nguồn $DOTFILES_DIR/bash/.bashrc hoặc $DOTFILES_DIR/vim/.vimrc tới đích $HOME/.bashrc hoặc $HOME/.vimrc.
Bạn có thể cấp quyền thực thi cho script bằng lệnh sau
Với tự động hóa quy mô lớn hoặc quản lý cấu hình trên nhiều hệ thống, bạn có thể dùng công cụ như Ansible, nơi các script tự động hóa được viết bằng YAML.
Tùy biến dotfiles cho ứng dụng
Dotfiles cho phép bạn tùy biến nhiều công cụ, từ trình soạn thảo đến hệ thống kiểm soát phiên bản. Ví dụ, bạn có thể tùy biến alias của Git bằng cách chỉnh sửa dotfiles .gitconfig.
[user]
name =<your-name>
email =<[email protected]>[alias]
co = checkout
br = branch
ci = commit
st = status
[core]
editor =vimĐược hỗ trợ bởi
Trường name và email dưới phần [user] xác định tên và email của bạn như chúng xuất hiện trong thông điệp và nhật ký commit.
Phần [alias] tạo phím tắt cho các lệnh git thường dùng. Ví dụ, thay vì dùng lệnh git status, bạn có thể định nghĩa phím tắt git st để tiết kiệm thời gian.
Phần [core] chỉ định trình soạn thảo mặc định khi thực hiện commit. Bạn có thể dùng code cho VS Code hoặc subl cho Sublime Text.
Chia sẻ và sao lưu Dotfiles
Nếu bạn muốn chia sẻ dotfiles với người khác hoặc sao lưu phòng trường hợp mất thiết bị, các nền tảng như GitHub hoặc GitLab giúp việc lưu trữ dotfiles rất thuận tiện.
Lưu trữ dotfiles trên GitHub hoặc GitLab
Đảm bảo bạn đã đăng nhập GitHub và tạo kho mới. Sao chép URL kho và thêm vào lệnh sau.
Nếu bạn có các tệp bí mật, như tệp .env có thể chứa API secret hoặc mật khẩu, bạn có thể dùng tệp .gitignore để khai báo các tệp Git nên bỏ qua khi đẩy lên kho từ xa.
Sao lưu và khôi phục dotfiles
Bạn có thể sao lưu thiết lập dotfiles bằng bất kỳ nhà cung cấp đám mây nào, như Google Drive, OneDrive hoặc Dropbox. Ví dụ, dùng Stow và Dropbox, bạn có thể tạo liên kết tượng trưng bên trong bộ nhớ đám mây từ ~/Dropbox/dotfile tới thư mục home. Bất cứ khi nào có cập nhật cục bộ cho dotfiles, thay đổi sẽ được đồng bộ lên đám mây.
Bạn cũng có thể dùng các công cụ như Rclone, hỗ trợ hầu hết nhà cung cấp đám mây. Rclone cung cấp giao diện dòng lệnh giúp bạn dễ dàng đồng bộ dotfiles vào một thư mục lưu trữ đám mây. Bạn cũng có thể tạo cron job để tự động hóa định kỳ việc sao lưu dotfile.
Thực hành tốt khi làm việc với Dotfiles
Dưới đây là một số thực hành tốt cần tuân thủ khi làm việc với dotfiles:
Giữ cấu hình dạng mô-đun:Chia nhỏ các tệp cấu hình lớn thành những phần nhỏ hơn. Lưu các tệp theo ứng dụng của chúng và giữ tất cả ở một nơi trung tâm.
Tránh sao chép dotfiles của người khác một cách mù quáng:Trước khi dùng dotfile của ai đó, hãy chắc chắn bạn hiểu cấu hình và nó phù hợp với quy trình của bạn. Đồng thời, chỉ áp dụng dotfiles từ nguồn tin cậy.
Lỗi cấu hình: Chuẩn bị giải pháp cho các vấn đề thường gặp như lỗi cú pháp trong tệp shell hoặc symlink sai, có thể khiến dotfiles không hoạt động đúng. Trước khi áp dụng dotfiles trên máy, hãy thử trên máy ảo hoặc container để tránh lỗi cấu hình.
Không tương thích giữa các hệ thống: Lưu ý vấn đề tương thích khi dùng dotfiles trên các hệ dựa trên Unix (ví dụ, Mac so với Linux). Đôi khi có khác biệt nhỏ giữa các shell trên các hệ Unix khác nhau.
Dùng hệ thống kiểm soát phiên bản: Luôn là thực hành tốt khi dùng hệ thống kiểm soát phiên bản để theo dõi thay đổi. Điều này hữu ích khi bạn muốn quay lại cấu hình trước đó và cũng giúp dễ dàng lưu trữ, chia sẻ quy trình làm việc.
Dùng liên kết tượng trưng: Thay vì sao chép dotfiles, hãy tạo symlink từ thư mục home tới dotfiles để luôn cập nhật.
Ghi chú và tài liệu: Ghi chú các thiết lập phức tạp để người khác dễ hiểu lý do của từng cấu hình.
Kết luận
Ban đầu, việc tạo và quản lý dotfiles có thể trông khó khăn, nhưng về lâu dài chúng giúp bạn năng suất và hiệu quả hơn. Hãy bắt đầu với một vài dotfiles thiết yếu và dần dần bổ sung thêm cấu hình theo thời gian.
Chắc hẳn bạn để ý tôi đã nhắc đến GitHub khá nhiều lần trong bài. GitHub là mắt xích quan trọng ở đây. Bên cạnh lộ trình Associate Python Developer tôi đã đề cập, hãy thử Chứng chỉ GitHub Foundations của chúng tôi, được xây dựng hợp tác cùng GitHub, sẽ dạy bạn những điều quan trọng như quản lý kho. Hơn nữa, khi hoàn thành khóa học với chúng tôi, bạn sẽ được giảm 75% lệ phí thi.
Giảng viên khoa học dữ liệu giàu kinh nghiệm và Nhà thống kê sinh học, có chuyên môn về Python, R và học máy.
Câu hỏi thường gặp về Dotfile
Dotfile là gì?⌄
Dotfiles là các tệp cấu hình ẩn trên hệ thống dựa trên Unix, lưu trữ cấu hình, thiết lập và ưu tiên cho nhiều ứng dụng, công cụ như hệ thống kiểm soát phiên bản và trình soạn thảo.
Tại sao tôi cần dotfiles?⌄
Với tư cách nhà phát triển, dotfiles giúp cải thiện năng suất và hiệu quả. Chúng cũng cho phép bạn duy trì môi trường nhất quán giữa các thiết bị.
Làm sao tôi phân biệt dotfiles với các tệp khác trên PC?⌄
Dotfiles là các tệp ẩn và thường có tiền tố (.).
Tôi có thể chia sẻ dotfiles với người khác không?⌄
Bạn có thể chia sẻ dotfiles với người khác bằng cách lưu trữ chúng trên các nền tảng kiểm soát phiên bản như GitHub.
Tôi có thể quản lý dotfiles giữa nhiều máy không?⌄
Có, bạn có thể có thiết lập phát triển cá nhân hóa trên máy khác. Bạn chỉ cần clone kho chứa dotfiles trên máy mới bạn muốn làm việc.
Dotfiles—những tệp cấu hình ẩn nằm trong hệ thống của bạn—là công cụ thiết yếu cho nhà phát triển phần mềm, cho phép tùy biến môi trường và quy trình làm việc. Bài viết này giới thiệu dotfiles, lý do chúng hữu ích, và hướng dẫn bạn tạo, quản lý, cũng như kiểm soát phiên bản dotfiles của mình.
Hiểu về dotfiles chỉ là một trong nhiều kỹ năng bạn cần với tư cách nhà phát triển. Nếu bạn mới bắt đầu, theo học lộ trình nghề nghiệp Associate Python Developer của DataCamp có thể giúp bạn xây dựng kỹ năng Python và phát triển phần mềm. Nếu đã có chút kinh nghiệm, lộ trình Python Developer đi sâu vào các thực hành nâng cao hơn, như dùng pytest để kiểm thử mã.
Tìm hiểu Dotfiles
Hãy dành một phút để hiểu dotfiles về mặt khái niệm rồi xem các ví dụ cụ thể.
Dotfiles là gì?
Dotfiles là các tệp cấu hình ẩn trên hệ thống dựa trên Unix, mặc định bị ẩn do có tiền tố đặc biệt (
.). Những tệp này lưu trữ cấu hình, thiết lập và ưu tiên cho ứng dụng, công cụ như hệ thống kiểm soát phiên bản và trình soạn thảo. Chúng giúp nhà phát triển dễ dàng tạo môi trường tùy biến phù hợp với quy trình làm việc của mình.Bạn có thể quản lý và chia sẻ dotfiles giữa các máy khác nhau thông qua kiểm soát phiên bản. Bạn cũng có thể chia sẻ các dotfiles này để tăng năng suất và chia sẻ các alias, script, và cấu hình hữu ích.
Ví dụ về các dotfiles phổ biến
Dưới đây là một số dotfiles được dùng phổ biến nhất.
Các dotfiles dùng phổ biến như
.bashrc,.zshrcvà.vimrc, thường được lưu trong thư mục home. Điều này có thể khác nhau giữa các hệ thống. Trên Linux, chúng được lưu tại/home/username, trong khi trên macOS là/Users/username. Các tệp này thường bị ẩn để tránh làm lộn xộn thư mục, nhờ tiền tố (.) trong tên tệp. Bạn có thể xem chúng bằng cách chạyls -atrong terminal.Danh sách dotfiles trong thư mục home. Ảnh: Tác giả
Các ứng dụng cần cấu hình phức tạp, như ứng dụng đồ họa và ứng dụng CLI hiện đại, lưu thiết lập cấu hình trong thư mục
.config. Ví dụ,/.config/nvim, cho Neovim.Cách thiết lập và tổ chức Dotfiles
Dotfiles thường nằm rải rác trong thư mục home của bạn. Vì vậy, một thực hành tốt là tạo một thư mục chứa tất cả dotfiles.
Tạo thư mục dotfiles
Để tạo thư mục dotfiles, mở terminal và tạo thư mục
dotfilestrong thư mục home.Lệnh
mkdirtạo thư mục mới trong thư mục home, trong đó~là ký hiệu đại diện cho thư mục home.Nếu bạn có tệp
.bashrcvà.vimrctrong thư mục home, bạn có thể di chuyển chúng bằng cách chạy lệnh sau trong terminal.Lệnh
mvdi chuyển tệp từ thư mục này sang thư mục khác. Bạn cũng có thể làm tương tự với tệp.vimrc.Nếu bạn không có các tệp này trong thư mục home, hãy tạo tệp mới bằng cách chạy lệnh sau trong terminal.
Lệnh
touchcho phép bạn tạo tệp mới trong một thư mục xác định.Chạy lệnh sau để xem tất cả tệp trong thư mục dotfiles.
Xem tất cả tệp trong thư mục dotfiles mới tạo. Ảnh: Tác giả.
Bạn có thể tổ chức dotfiles vào các thư mục được đặt theo tên ứng dụng tương ứng. Ví dụ, bạn có thể tạo thư mục
bashđể lưu dotfiles của Bash hoặcvimđể lưu dotfiles của Vim và trỏ thư mục home của bạn tới các thư mục này bằng trình quản lý dotfile như GNU Stow.GNU Stow tạo các liên kết tượng trưng tới dotfiles của bạn, trỏ thư mục home đến dotfiles trong các thư mục tương ứng. Điều này khiến như thể dotfiles nằm trong thư mục home của bạn, nhưng thực ra chúng ở trong các thư mục con của thư mục
dotfiles. Đây còn gọi là symlink. Để symlink các tệp này tới thư mục home, bạn cần cài GNU Stow. Vào thư mụcdotfilesvà chạy lệnh sau trên bất kỳ thư mục nào bạn muốn symlink với thư mục home.Bạn cũng có thể làm tương tự với thư mục
vimThêm dotfiles vào hệ thống kiểm soát phiên bản
Kiểm soát phiên bản cho phép bạn theo dõi thay đổi trong thư mục dotfiles của mình. Bạn cũng có thể lưu trữ và chia sẻ chúng với người khác trên GitHub. Để bật kiểm soát phiên bản trong thư mục dotfiles, bạn cần khởi tạo git trong thư mục dotfiles bằng lệnh sau.
Khởi tạo kho Git. Ảnh: Tác giả.
Tiếp theo là thêm tất cả các tệp bạn đã tạo đến thời điểm này.
Nếu bạn chỉ muốn thêm một tệp, ví dụ .
vimrc, bạn có thể chạy lệnh sauCommit các thay đổi kèm thông điệp commit:
Khi đã thiết lập kiểm soát phiên bản cho dotfiles, bạn có thể dùng các nền tảng lưu trữ như GitHub hoặc GitLab để lưu trữ dotfiles.
Vì sao nên dùng Dotfiles?
Việc tạo và quản lý dotfiles mang lại lợi ích gì cho nhà phát triển? Ở phần này, tôi sẽ nêu một vài lý do khiến các nhà phát triển quan tâm tới dotfiles.
Năng suất và hiệu quả: Là nhà phát triển, dotfiles cho phép bạn cấu hình phím tắt, alias và hàm để giảm gõ lặp lại. Ví dụ, bạn có thể tạo phím tắt cho
git statusthànhgsvà lưu trong tệp.bashrchoặc.zshrc.Tính nhất quán giữa các thiết bị: Khi chuyển hệ thống, dotfiles cho phép bạn mang các tùy biến sang máy khác. Bạn chỉ cần clone dotfiles lên hệ thống mới.
Cộng đồng và chia sẻ tri thức: Bạn có thể chia sẻ dotfiles trên GitHub để người khác học cách tối ưu môi trường làm việc.
Bảo mật và quyền riêng tư: Thông tin nhạy cảm như khóa API và mật khẩu không nên công khai. Dotfiles giúp đảm bảo các tệp chứa khóa bí mật không bị đẩy lên công khai. Ví dụ là dotfile
.gitignore, ngăn không cho các tệp bí mật bị đẩy lên GitHub..gitconfigcho phép người dùng thiết lập danh tính Git mà không phải công khai trên mọi kho.Nâng cấp môi trường phát triển: Dotfiles không chỉ giới hạn ở shell mà còn dùng để cấu hình các công cụ phát triển. Ví dụ, nhà phát triển Python dùng
.pythonrccho thiết lập Python REPL, còn nhà phát triển JavaScript dùng.npmrccho cấu hình npm..vimrcvà.emacs.d/init.elcũng là dotfiles cho trình soạn thảo Vim và Emacs, cho phép người dùng tùy biến môi trường chỉnh sửa như tô sáng cú pháp, thụt lề, plugin, v.v.Quản lý Dotfiles nâng cao
Bạn có thể dùng dotfiles cho các quy trình nâng cao, như sử dụng trên nhiều máy và tự động hóa thiết lập, chia sẻ, sao lưu.
Dùng dotfiles trên nhiều máy
Với dotfiles, bạn có thể dựng quy trình làm việc cá nhân hóa trên nhiều máy. Bạn chỉ cần đảm bảo đã thiết lập kiểm soát phiên bản cho dotfiles bằng Git và GitHub rồi clone kho về máy mới bạn muốn làm việc bằng lệnh dưới đây.
Trong đó
<url>là URL kho dotfile trên GitHub.Tự động hóa với script cài đặt
Bạn có thể có một shell script để tự động cài đặt và tạo symlink cho dotfiles trên máy mới. Ví dụ, shell script dưới đây trong tệp
install.shtự động sao lưu và symlink dotfiles trên một máy.Phân tích ngắn gọn script trên.
Script dùng
DOTFILES_DIRlàm thư mục gốc của dotfiles vàBACKUP_DIRđể sao lưu dotfiles hiện có trong thư mục$HOME.Một mảng kết hợp
FILESánh xạ tên tệp đích trong thư mục home tới đường dẫn tương ứng trongDOTFILES_DIR.Với mỗi tệp trong
FILES, script kiểm tra xem đã có tệp tại vị trí đích$HOME/.bashrchoặc$HOME/.vimrcchưa. Nếu có, tệp sẽ được chuyển vàoBACKUP_DIR.Sau đó tạo một symlink từ nguồn
$DOTFILES_DIR/bash/.bashrchoặc$DOTFILES_DIR/vim/.vimrctới đích$HOME/.bashrchoặc$HOME/.vimrc.Bạn có thể cấp quyền thực thi cho script bằng lệnh sau
Và chạy lệnh sau để thực thi tệp
install.sh.Với tự động hóa quy mô lớn hoặc quản lý cấu hình trên nhiều hệ thống, bạn có thể dùng công cụ như Ansible, nơi các script tự động hóa được viết bằng YAML.
Tùy biến dotfiles cho ứng dụng
Dotfiles cho phép bạn tùy biến nhiều công cụ, từ trình soạn thảo đến hệ thống kiểm soát phiên bản. Ví dụ, bạn có thể tùy biến alias của Git bằng cách chỉnh sửa dotfiles
.gitconfig.Trường
namevàemaildưới phần[user]xác định tên và email của bạn như chúng xuất hiện trong thông điệp và nhật ký commit.Phần
[alias]tạo phím tắt cho các lệnh git thường dùng. Ví dụ, thay vì dùng lệnh git status, bạn có thể định nghĩa phím tắtgit stđể tiết kiệm thời gian.Phần
[core]chỉ định trình soạn thảo mặc định khi thực hiện commit. Bạn có thể dùngcodecho VS Code hoặcsublcho Sublime Text.Chia sẻ và sao lưu Dotfiles
Nếu bạn muốn chia sẻ dotfiles với người khác hoặc sao lưu phòng trường hợp mất thiết bị, các nền tảng như GitHub hoặc GitLab giúp việc lưu trữ dotfiles rất thuận tiện.
Lưu trữ dotfiles trên GitHub hoặc GitLab
Đảm bảo bạn đã đăng nhập GitHub và tạo kho mới. Sao chép URL kho và thêm vào lệnh sau.
Sao chép URL kho GitHub. Ảnh: Tác giả.
Sau đó đẩy các thay đổi lên kho từ xa.
Nếu bạn có các tệp bí mật, như tệp
.envcó thể chứa API secret hoặc mật khẩu, bạn có thể dùng tệp.gitignoređể khai báo các tệp Git nên bỏ qua khi đẩy lên kho từ xa.Sao lưu và khôi phục dotfiles
Bạn có thể sao lưu thiết lập dotfiles bằng bất kỳ nhà cung cấp đám mây nào, như Google Drive, OneDrive hoặc Dropbox. Ví dụ, dùng Stow và Dropbox, bạn có thể tạo liên kết tượng trưng bên trong bộ nhớ đám mây từ
~/Dropbox/dotfiletới thư mục home. Bất cứ khi nào có cập nhật cục bộ cho dotfiles, thay đổi sẽ được đồng bộ lên đám mây.Bạn cũng có thể dùng các công cụ như Rclone, hỗ trợ hầu hết nhà cung cấp đám mây. Rclone cung cấp giao diện dòng lệnh giúp bạn dễ dàng đồng bộ dotfiles vào một thư mục lưu trữ đám mây. Bạn cũng có thể tạo cron job để tự động hóa định kỳ việc sao lưu dotfile.
Thực hành tốt khi làm việc với Dotfiles
Dưới đây là một số thực hành tốt cần tuân thủ khi làm việc với dotfiles:
Kết luận
Ban đầu, việc tạo và quản lý dotfiles có thể trông khó khăn, nhưng về lâu dài chúng giúp bạn năng suất và hiệu quả hơn. Hãy bắt đầu với một vài dotfiles thiết yếu và dần dần bổ sung thêm cấu hình theo thời gian.
Chắc hẳn bạn để ý tôi đã nhắc đến GitHub khá nhiều lần trong bài. GitHub là mắt xích quan trọng ở đây. Bên cạnh lộ trình Associate Python Developer tôi đã đề cập, hãy thử Chứng chỉ GitHub Foundations của chúng tôi, được xây dựng hợp tác cùng GitHub, sẽ dạy bạn những điều quan trọng như quản lý kho. Hơn nữa, khi hoàn thành khóa học với chúng tôi, bạn sẽ được giảm 75% lệ phí thi.