Linux Bash
Biết cách sử dụng Linux Bash là một kĩ năng cần thiết khi làm việc với các công nghệ có mã nguồn mở. Linux đã chiếm lấy cả ngành phát triển phần mềm, ngay cả Microsoft cũng tham gia vào cuộc chơi khi cung cấp Windows Subsystem cho cả Linux và Windows10 Pro. Trong kì thi DEVASC, ta cần phải biết sử dụng BASH và phải nhớ các lệnh.
Tìm hiểu về BASH
Bash là một loại dấu nhắc lệnh shell, là một lớp giao tiếp giữa người dùng và phần lõi kernel hoạt động bên trong của hệ điều hành. Người dùng có thể dùng shell để nhập các dòng lệnh, hệ điều hành sẽ xử lý các dòng lệnh và thực hiện nhiệm vụ được giao từ người dùng. Trước khi giao diện đồ hoạ (graphical user interfaces - GUI) thông dụng, shell luôn là xu thế và những ai biết và hiểu được sự phức tạp của nó được xem như “phù thuỷ công nghệ”. Cho đến ngày nay, nó vẫn được đánh giá cao và thiếu nó bạn sẽ chật vật vì giao diện người dùng đồ hoạ không thể chạy được các phép tính như khi dùng trên shell được.
BASH là viết tắt của Bourne Again Shell, một trong những shell nổi tiếng nhất. Nó đã có từ năm 1989 và là shell mặc định trên mọi hệ điều hành trên Linux. BASH cũng đã từng là shell mặc định của hệ điều hành trên máy Mac nhưng gần đây Apple đã thay BASH thành Z shell. Các lệnh và cú pháp gõ lệnh của Z khá giống với BASH shell, vì nó được xây dựng để duy trì khả năng tương thích với BASH.
BASH không chỉ là một shell để xử lý các lệnh chuẩn của hệ điều hành Linux. Nó cũng có thể đọc và chuyển đổi các script cho việc tự động hoá. Những kiến thức này vượt ra ngoài phạm vi của kì thi DEVASC nhưng nếu bạn tìm hiểu thêm về automation thì scripts thực sự là nơi BASH toả sáng. Cũng như các UNIX shells khác, BASH hỗ trợ các tính năng như piping (liên quan đến việc lấy output từ một lệnh này làm input của một lệnh khác), khai báo biến, xử lý điều kiện và vòng lặp. Ta cũng có thể sử dụng lệnh history để xem lại các câu lệnh đã thực thi, và muốn chỉnh các lệnh trước đó, hãy dùng các phím mũi tên để di chuyển qua lại và sửa chúng.
Các platforms của UNIX như là Linux hay OSX được tích hợp sẵn tài liệu cho mỗi câu lệnh sử dụng trong hệ điều hành. Để sử dụng sự trợ giúp cho bất kì câu lệnh nào, hãy gõ man (viết tắt của manual) và theo sau đó là lệnh mà bạn đang thắc mắc. Kết quả của lệnh man sẽ cho ra một bản tóm tắt chức năng của câu lệnh đó.
Không phải câu lệnh nào cũng có thể chạy được ở đặc quyền của một user bình thường. Ta có thể tạm thời nâng cấp đặc quyền của mình bằng cách thêm lệnh sudo vào trước lệnh mà bạn cần quyền truy cập ở cấp độ cao hơn. Khi dùng sudo, bạn sẽ phải nhập mật khẩu để xác minh rằng bạn có quyền để sử dụng sudo. Tuy niên, khi dùng sudo bạn phải thật cẩn thận vì toàn bộ ý nghĩa của chuyện giảm đặc quyền là để tăng cường bảo mật và ngăn người dùng bình thường chạy những câu lệnh nguy hiểm cho hệ thống. Chỉ sử dụng sudo khi thực sự cần thiết, chẳng hạn khi bạn cần cập nhật hệ thống trên một bản phân phối Linux, ta chạy dòng lệnh sau:
$ sudo apt-get update
Như đã đề cập phía trên, một trong những tính năng mạnh mẽ nhất của BASH là piping. Nó cho phép bạn xâu chuỗi các câu lệnh lại với nhau. Ví dụ, lệnh cat hiển thị nội dung của một tệp ra màn hình. Khi tệp đó chứa quá nhiều nội dung và những nội dung đó không hiện được hết trên một màn hình, lệnh cat sẽ gửi ra mọi ký tự của tệp ở màn hình từ trên xuống dưới cho đến khi nó kết thúc, bất kể về việc bạn có xem kịp hay không. Để giải quyết việc này, bạn có thể chuyển output của cat sang lệnh more rồi truyền nội dung từ cat sang more. Để sử dụng piping, hãy gõ ký tự | giữa các câu lệnh.
Điều hướng thư mục (Directory Navigation)
Những hệ điều hành dựa trên UNIX cũng có cấu trúc thư mục dạng cây giống như Windows. Phần ngọn của cây được gọi là root (vì nó là một cái cây bị lộn ngược) và bạn có thể sử dụng dấu gạch chéo (/) để chỉ ra root. Có nhiều thư mục trong root và trong mỗi thư mục lại có nhiều tệp và thư mục nhỏ hơn.
Mỗi khi bạn cần gọi một tập tin nào đó, bạn phải cung cấp đường dẫn cho nó. Mọi thứ bạn thực thi trong UNIX đều liên quan đến root. Để thực thi một tệp trong thư mục hiện tại, sử dụng ./filename.sh, phần trong dấu chấm chỉ đơn giản là cách gọi khác của thư mục hiện tại. Ngoài file root trong hệ thống, mỗi user có một thư mục home dùng để kiểm soát và lưu trữ các tệp và ứng dụng riêng lẻ. Đường dẫn đầy đủ đến thư mục home thường là /home/username trên Linux và /Users/username trên Mac OS X nhưng ta cũng có thể sử dụng dấu ngã (~/) để tham chiếu đến thư mục home.
Biết cách sử dụng Linux Bash là một kĩ năng cần thiết khi làm việc với các công nghệ có mã nguồn mở. Linux đã chiếm lấy cả ngành phát triển phần mềm, ngay cả Microsoft cũng tham gia vào cuộc chơi khi cung cấp Windows Subsystem cho cả Linux và Windows10 Pro. Trong kì thi DEVASC, ta cần phải biết sử dụng BASH và phải nhớ các lệnh.
Tìm hiểu về BASH
Bash là một loại dấu nhắc lệnh shell, là một lớp giao tiếp giữa người dùng và phần lõi kernel hoạt động bên trong của hệ điều hành. Người dùng có thể dùng shell để nhập các dòng lệnh, hệ điều hành sẽ xử lý các dòng lệnh và thực hiện nhiệm vụ được giao từ người dùng. Trước khi giao diện đồ hoạ (graphical user interfaces - GUI) thông dụng, shell luôn là xu thế và những ai biết và hiểu được sự phức tạp của nó được xem như “phù thuỷ công nghệ”. Cho đến ngày nay, nó vẫn được đánh giá cao và thiếu nó bạn sẽ chật vật vì giao diện người dùng đồ hoạ không thể chạy được các phép tính như khi dùng trên shell được.
BASH là viết tắt của Bourne Again Shell, một trong những shell nổi tiếng nhất. Nó đã có từ năm 1989 và là shell mặc định trên mọi hệ điều hành trên Linux. BASH cũng đã từng là shell mặc định của hệ điều hành trên máy Mac nhưng gần đây Apple đã thay BASH thành Z shell. Các lệnh và cú pháp gõ lệnh của Z khá giống với BASH shell, vì nó được xây dựng để duy trì khả năng tương thích với BASH.
BASH không chỉ là một shell để xử lý các lệnh chuẩn của hệ điều hành Linux. Nó cũng có thể đọc và chuyển đổi các script cho việc tự động hoá. Những kiến thức này vượt ra ngoài phạm vi của kì thi DEVASC nhưng nếu bạn tìm hiểu thêm về automation thì scripts thực sự là nơi BASH toả sáng. Cũng như các UNIX shells khác, BASH hỗ trợ các tính năng như piping (liên quan đến việc lấy output từ một lệnh này làm input của một lệnh khác), khai báo biến, xử lý điều kiện và vòng lặp. Ta cũng có thể sử dụng lệnh history để xem lại các câu lệnh đã thực thi, và muốn chỉnh các lệnh trước đó, hãy dùng các phím mũi tên để di chuyển qua lại và sửa chúng.
Các platforms của UNIX như là Linux hay OSX được tích hợp sẵn tài liệu cho mỗi câu lệnh sử dụng trong hệ điều hành. Để sử dụng sự trợ giúp cho bất kì câu lệnh nào, hãy gõ man (viết tắt của manual) và theo sau đó là lệnh mà bạn đang thắc mắc. Kết quả của lệnh man sẽ cho ra một bản tóm tắt chức năng của câu lệnh đó.
Không phải câu lệnh nào cũng có thể chạy được ở đặc quyền của một user bình thường. Ta có thể tạm thời nâng cấp đặc quyền của mình bằng cách thêm lệnh sudo vào trước lệnh mà bạn cần quyền truy cập ở cấp độ cao hơn. Khi dùng sudo, bạn sẽ phải nhập mật khẩu để xác minh rằng bạn có quyền để sử dụng sudo. Tuy niên, khi dùng sudo bạn phải thật cẩn thận vì toàn bộ ý nghĩa của chuyện giảm đặc quyền là để tăng cường bảo mật và ngăn người dùng bình thường chạy những câu lệnh nguy hiểm cho hệ thống. Chỉ sử dụng sudo khi thực sự cần thiết, chẳng hạn khi bạn cần cập nhật hệ thống trên một bản phân phối Linux, ta chạy dòng lệnh sau:
$ sudo apt-get update
Như đã đề cập phía trên, một trong những tính năng mạnh mẽ nhất của BASH là piping. Nó cho phép bạn xâu chuỗi các câu lệnh lại với nhau. Ví dụ, lệnh cat hiển thị nội dung của một tệp ra màn hình. Khi tệp đó chứa quá nhiều nội dung và những nội dung đó không hiện được hết trên một màn hình, lệnh cat sẽ gửi ra mọi ký tự của tệp ở màn hình từ trên xuống dưới cho đến khi nó kết thúc, bất kể về việc bạn có xem kịp hay không. Để giải quyết việc này, bạn có thể chuyển output của cat sang lệnh more rồi truyền nội dung từ cat sang more. Để sử dụng piping, hãy gõ ký tự | giữa các câu lệnh.
Điều hướng thư mục (Directory Navigation)
Những hệ điều hành dựa trên UNIX cũng có cấu trúc thư mục dạng cây giống như Windows. Phần ngọn của cây được gọi là root (vì nó là một cái cây bị lộn ngược) và bạn có thể sử dụng dấu gạch chéo (/) để chỉ ra root. Có nhiều thư mục trong root và trong mỗi thư mục lại có nhiều tệp và thư mục nhỏ hơn.
Mỗi khi bạn cần gọi một tập tin nào đó, bạn phải cung cấp đường dẫn cho nó. Mọi thứ bạn thực thi trong UNIX đều liên quan đến root. Để thực thi một tệp trong thư mục hiện tại, sử dụng ./filename.sh, phần trong dấu chấm chỉ đơn giản là cách gọi khác của thư mục hiện tại. Ngoài file root trong hệ thống, mỗi user có một thư mục home dùng để kiểm soát và lưu trữ các tệp và ứng dụng riêng lẻ. Đường dẫn đầy đủ đến thư mục home thường là /home/username trên Linux và /Users/username trên Mac OS X nhưng ta cũng có thể sử dụng dấu ngã (~/) để tham chiếu đến thư mục home.