[Code like pro] Part 1: Terminal oh-my-zsh

5 min read

Giới thiệu

Code là công việc mà một lập trình viên làm hằng ngày. Những công việc lặp đi lặp lại sẽ dễ trở nên nhàm chán. Series [Code like pro] giới thiệu đến mọi người các cách thức/ công cụ phục vụ công việc trở nên dễ dàng hơn. Khiến công việc hàng ngày đạt hiệu xuất cao hơn và bớt nhàm chán. Hoặc đơn giản là để nhìn vào trông bạn có vẻ pro hơn :))

Series gồm 5 phần:
– [Code like pro] Part 1: Terminal oh-my-zsh
– [Code like pro] Part 2: PowerShell oh-my-posh
– [Code like pro] Part 3: Neovim
– [Code like pro] Part 4: Best packges for linux environment
– [Code like pro] Part 5: Chrome extension

Terminal

Terminal là môi trường nhập và xuất văn bản. Đây là application đóng vai trò như một wrapper và cho phép chúng ta nhập lệnh để máy tính xử lý.

Nói một cách dễ hiểu thì đó là “windows” mà bạn nhập các lệnh thực tế mà máy tính của bạn sẽ xử lý.
Một số từ có ý nghĩa liên quan/gần giống như: console, command line, CLI, shell

Tại sao chúng ta phải quan tâm đến Terminal

Như mọi người đều biết thì phần đa hệ điều hành đều có GUI (Graphical User Interface) vậy tại sao chúng ta phải quan tâm đến Terminal mà không chỉ đơn thuần sử dụng GUI.

  • Lý do đầu tiên là nó hiệu quả hơn. VD: một tác vụ lặp đi lặp lại việc click chuột có thể đơn giản hoá thành 1 dòng lệnh.
  • Lý do thứ hai là khả năng tự động hoá các tác vụ. VD: một công việc testing lặp đi lặp lại có thể thay thế bằng việc viết shell script và chỉ cần run script mỗi lần muốn test.
  • Lý do thứ ba là đôi khi đây là cách duy nhất để lập trình viên tương tác với hệ điều hành. Cụ thể với các hệ thống đám mây và máy chủ thường chỉ cài đặt giao diện CLI đơn thuần mà không có GUI. Vậy nên với các devops hoặc các engineer lâu năm thì việc biết sử dụng Terminal hay viết shell script là một điều bắt buộc.

Bourne shell (sh)

Bourne shell ( sh) là shell command-line interpreter cho hệ điều hành máy tính.

Bourne shell là shell default shell for Version 7 Unix. Các hệ thống giống Unix vẫn tiếp tục có /bin/sh—đó sẽ là Bourne shell hoặc liên kết tượng trưng hoặc liên kết cứng đến shell tương thích—ngay cả khi hầu hết người dùng đều sử dụng các shell khác.

Được phát triển bởi Stephen Bourne tại Bell Labs , nó là sự thay thế cho Thompson shell , có tệp thực thi có cùng tên— sh. Nó được phát hành vào năm 1979 trong bản phát hành Version 7 Unix được phân phối cho các trường cao đẳng và đại học. Mặc dù nó được sử dụng như một trình thông dịch lệnh tương tác, nó cũng được dự định là một ngôn ngữ lập trình và chứa hầu hết các tính năng thường được coi là để tạo ra các chương trình có cấu trúc.

Steve Bourne

Bash (Unix shell)

Bash, viết tắt của Bourne-Again SHell, là một chương trình shell và ngôn ngữ lệnh được Free Software Foundation hỗ trợ và được Brian Fox phát triển lần đầu tiên cho GNU Project. Được thiết kế như một phần mềm thay thế miễn phí 100% cho Bourne shell , ban đầu nó được phát hành vào năm 1989. Biệt danh của nó là một cách chơi chữ, ám chỉ cả người tiền nhiệm của nó, Bourne shell, và khái niệm tái sinh.

Kể từ khi ra đời, Bash đã được áp dụng rộng rãi và thường được sử dụng làm shell đăng nhập mặc định cho nhiều bản phân phối Linux . Nó có ý nghĩa lịch sử vì là một trong những chương trình đầu tiên được Linus Torvalds chuyển sang Linux , cùng với GNU Compiler ( GCC ). Nó có sẵn trên hầu hết các hệ điều hành hiện đại, khiến nó trở thành một công cụ đa năng trong nhiều môi trường computing khác nhau.

Bash cũng được sử dụng cho các phiên bản Macos của Apple trước Catalina 2019

Z shell (zsh)

Z shell ( Zsh ) là một shell Unix có thể được sử dụng như một shell đăng nhập tương tác và như một trình thông dịch lệnh cho shell scripting . Zsh là một shell Bourne mở rộng với nhiều cải tiến, bao gồm một số tính năng của Bash , ksh và tcsh .

Zsh được Paul Falstad tạo ra vào năm 1990 khi ông còn là sinh viên tại Đại học Princeton . Nó kết hợp các tính năng từ cả ksh và tcsh , cung cấp các chức năng như hoàn thành dòng lệnh có thể lập trình , mở rộng tệp globbing , cải thiện xử lý biến/mảng và lời nhắc theo chủ đề .

Zsh có sẵn cho Microsoft Windows như một phần của bộ sưu tập UnxUtils và đã được áp dụng làm shell mặc định cho macOS và Kali Linux .

oh-my-zsh

Oh My Zsh là một nền tảng mã nguồn mở do cộng đồng điều hành để quản lý cấu hình zsh của bạn .

Nghe có vẻ nhàm chán. Hãy thử lại nhé.

Oh My Zsh sẽ không biến bạn thành một nhà phát triển 10x…nhưng bạn có thể cảm thấy mình như vậy.

Sau khi cài đặt, terminal shell của bạn sẽ trở thành chủ đề bàn tán hoặc bạn sẽ được hoàn lại tiền! Với mỗi lần nhấn phím trong dấu nhắc lệnh, bạn sẽ tận dụng được hàng trăm plugin mạnh mẽ và chủ đề đẹp. Người lạ sẽ đến gặp bạn trong quán cà phê và hỏi bạn, “thật tuyệt vời! bạn có phải là thiên tài không?”

Cuối cùng, bạn sẽ bắt đầu nhận được sự quan tâm mà bạn luôn cảm thấy mình xứng đáng được nhận. …hoặc có thể bạn sẽ sử dụng thời gian tiết kiệm được để bắt đầu dùng chỉ nha khoa thường xuyên hơn. 😬

Guild: https://github.com/ohmyzsh/ohmyzsh?tab=readme-ov-file

Các bài viết liên quan

  • https://ant.ncc.asia/p-1-shell-scripting-quick-beginners-guide/
  • https://ant.ncc.asia/zsh-la-gi-co-the-su-dung-zsh-tren-windows-khong/
Avatar photo

Clean Code: Nguyên tắc đặt tên (Naming)

Clean Code là việc viết mã nguồn rõ ràng, dễ hiểu, dễ bảo trì. Bài viết này sẽ giới thiệu nguyên tắc đầu tiên...
Avatar photo Dat Tran Thanh
4 min read

BigQuery vs Google Cloud SQL – P2

Ở bài viết trước tôi đã tổng quan về khái niệm, các tính năng chính và so sánh sự khác biệt chính của GCP...
Avatar photo Toai Nguyen Cong
11 min read

Leave a Reply

Your email address will not be published. Required fields are marked *