433
Homebrew (The missing package manager for macOS)
- Homebrew là package manager rất có ích cho macOS, nó giúp bạn cài đặt các thư viện, ngôn ngữ, framework… rất nhanh và dễ dàng.
- Ưu điểm của Homebrew đó là bạn chỉ cần gõ câu lệnh để cài đặt package mà được Homebrew support, sau đó nó sẽ tự động download, check các dependencies (các package cần phải có trước khi cài đặt package mình mong muốn), nếu chưa có nó sẽ download và install dependencies trước, rồi sẽ install package mà bạn muốn cài
- Ngoài ra thì Homebrew cũng cài đặt các package lên máy trong folder riêng của nó, sau đó mới link sang thư mục /usr/local, việc này sẽ đảm bảo môi trường default trên máy bạn không bị ảnh hưởng.
- Homebrew cũng đảm bảo các package luôn được up-to-date. Điều này chắc chắn là tiết kiệm cho bạn rất nhiều thời gian.
- Ngoài ra, bạn có thể cài đặt các application trên macOS bằng cách sử dụng Homebrew Cask. (No more download, no more .dmg)
Oh my zsh
- Các developer sử dụng macOS và các OS Linux khác chắc hẳn rằng không còn xa lạ gì với bash, có thể nói rằng bash chính là một phần không thể thiếu trong công việc hàng ngày. Khi bạn mở Terminal lên, gõ câu lệnh và OS thực thi nó, vậy là bạn đã sử dụng bash.
- Vậy bash là gì?
- bash (Bourne-Again SHell) thực chất là các shell, hay còn gọi là command-line interpreter hoặc command language interpreter (CLI). Nó cho phép người dùng sử dụng các câu lệnh dạng text để gọi đến các service của OS (kernel), qua đó thực thi các câu lệnh của người dùng.
- bash là shell mặc định trên các OS như macOS, Linux. Ngoài việc nhận lệnh trực tiếp từ user thông qua các ứng dụng như Terminal thì bash còn có thể thực thi lệnh thông qua file được gọi là shell script.
- zsh là gì?
- zsh cũng giống như bash, nhưng nó được thiết kế nhằm mục đích phục vụ cho việc tương tác với người dùng (thực hiện lệnh mà người dùng input vào). zsh cũng “học hỏi” rất nhiều tính năng từ bash, ksh, tcsh ngoài những tính năng nó có sẵn, đem đến cho người dùng một bộ công cụ mạnh mẽ khi làm việc với shell.
- Những điểm thú vị khi so sánh zsh với bash
- muốn thay đổi directory thì chỉ cần gõ tên directory, không cần thêm cd ở đầu
- ls *.(h|m) : list tất cả các file có đuôi .h hoặc .m trong folder
- completing command options: example git — + tab => liệt kê các options tương ứng với command vừa gõ.
- hiển thị thời điểm gõ câu lệnh RPROMPT=”%t”
oh-my-zsh
- Không dừng lại ở zsh, cộng đồng developers đã tạo ra oh-my-zsh, một framework thú vị, giúp người dùng không còn cảm thấy nhàm chán mỗi khi làm việc với command line.
- oh-my-zsh có gì thú vị?
- Có bộ plugin khổng lồ cho các công cụ, ngôn ngữ và framework mà bạn hay dùng như: aws, docker, git, rails, laravel, npm, osx, python… Nó giúp bạn có thể autocomplete câu lệnh hoặc cung cấp các alias ngắn gọn, giúp rút ngắn thời gian gõ lệnh.
- Cung cấp các bộ theme đẹp và tiện dụng cho terminal, một terminal màu mè với các symbol hiển thị phù hợp sẽ đỡ nhàm chán hơn rất nhiều so với một terminal đen trắng.
- Bạn có thể trở thành contributor để cung cấp những plugin do chính mình viết.
- Install oh-my-zsh
- Mở terminal, paste câu lệnh sau và nhấn enter:
- sh -c “$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)”
- Config plugin cho on-my-zsh
- Mở file ~/.zshrc
- Tìm đến dòng plugins=(…) và add plugin cho phù hợp với nhu cầu. Ví dụ muốn dùng plugin git, macos, aws, docker thì chỉnh sửa thành:
- plugins=(git osx aws docker)
- Restart terminal
- Kết quả:
- Ví dụ, trước đây khi muốn show hidden file trong macOS thì cần phải gõ
- defaults write com.apple.finder AppleShowAllFiles -bool TRUE
- killall Finder
- Sau khi dùng plugin osx thì chỉ cần gõ
- showfiles / hidefiles để hiện và ẩn hidden file (hidden file là những file có tên bắt đầu bằng dấu .)
- Ví dụ, trước đây khi muốn show hidden file trong macOS thì cần phải gõ
- Mở terminal, paste câu lệnh sau và nhấn enter:
- Install theme cho on-my-zsh
- Mở file ~/.zshrc
- Điền tên theme vào sau ZSH_THEME=, ví dụ ZSH_THEME=”robbyrussell”
iTerm2
- App Terminal, default của macOS có thể thực hiện tốt các nhiệm vụ khi người dùng muốn làm việc với shell. Tuy nhiên, nếu bạn thực sự muốn một app có tính tuỳ biến cao, nhiều tính năng thú vị hỗ trợ thì nên thử qua app iTerm2.
- Một vài tính năng thú vị của iTerm2:
- Split panels: tính năng này cho phép bạn chia tab hiện tại của iTerms ra thành các “panel” khác nhau, mỗi panel là một section riêng biệt. Rất có ích khi làm việc mà cần phải tham chiếu kết quả giữa các section với nhau.
- Search: tính năng search trên iTerm2 có sự khác biệt khi so sánh với Terminal, iTerm2 highlight tất cả các kết quả phù hợp với điều kiện search, ngoài ra nó còn hỗ trợ cả search theo regular expression.
- Autocomplete: với những câu lệnh bạn đã từng gõ trong iTerm, thì lần sau chỉ cần gõ vài ký tự đầu và nhấn tổ hợp phím Cmd + ; thì iTerm sẽ liệt kê lịch sử các câu lệnh đã gõ tương ứng cho bạn lựa chọn.
ref:
- bash: http://www.hackmac.org/articles/bash/bash-101-history-of-bash-and-terminal/
- zsh feature: http://zsh.sourceforge.net/Intro/intro_toc.html
- oh my zsh plugin: https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins
- oh my zsh theme: https://github.com/robbyrussell/oh-my-zsh/tree/master/themes/
- iTerm2 features: https://www.iterm2.com/features.html
- Homebrew: https://brew.sh/