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/