Cách sử dụng Linux Bash -

Cách sử dụng Linux Bash -

Cách sử dụng Linux Bash -

Cách sử dụng Linux Bash -

Cách sử dụng Linux Bash -
Cách sử dụng Linux Bash -
(028) 35124257 - 0933 427 079

Cách sử dụng Linux Bash

19-11-2020
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 phải nhảy vào cuộc chơi khi cung cấp Windows Subsystem cho cả Linux và Windows 10 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 shell, shell là một lớp giao tiếp giữa user và phần 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) 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 chúng 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ắc chức năng của câu lệnh đó.

Ví dụ 2-1

            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ác đặ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:

            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 file ra màn hình. Khi file đó 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ẽ phun 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õ lệnh | giữa các câu lệnh.

Ví dụ 2-2

Điu 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.

Hình 2-7 cho thấy cấu trúc thư mục UNIX

            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.

Phần tiếp theo sẽ mô tả một vài câu lệnh thường được sử dụng nhất để tương tác với BASH shell và cung cấp các ví dụ về các tùy chọn và sử dụng chúng.

cd

Lệnh cd được sử dụng để đổi thư mục hiện tại, từ đó giúp ta dễ dàng di chuyển xung quanh cây thư mục của hệ thống.

pwd

Lệnh pwd dùng để in ra đường dẫn thư mục làm việc hiện tại.

ls

Khi bạn điều hướng đến một thư mục, bạn sẽ thể muốn biết những gì có trong đó. Lệnh ls cung cấp cho bạn một danh sách những file bên trong thư mục hiện tại. Khi chạy lệnh này mà không có tham số, nó chỉ hiển thị bất cứ thứ gì có trong thư mục. Nó sẽ không hiển thị những tệp bị ẩn (chẳng hạn như file cấu hình). Trong UNIX các tệp bị ẩn sẽ có tên file bắt đầu bằng dấu “.” và sẽ không xuất hiện trong kết quả của một câu lệnh ls thông thường. Ta cần sử dụng cờ -a để xem tất cả các file, bao gồm cả các tệp ẩn. Bằng cách sử dụng cờ -l, bạn có thể biết được các quyền truy cập cũng như người / nhóm người sở hữu những tệp hoặc thư mục đó. Bạn cũng có thể sử dụng ký tự đại diện * để liệt kê các tập tin theo tên tệp. Ví dụ: để tìm bất kỳ tệp nào có tên chứa chữ “test”, bạn có thể sử dụng lệnh: ls *test*. Từ đó ta sẽ tìm được cả những file như 1test và test1.

mkdir

Giống như New > Folder trong Windows, để tạo một thư mục trong UNIX, ta sử dụng lệnh mkdir. Nếu đang ở trong thư mục home hoặc trong một thư mục khác nơi bạn có đủ các quyền truy cập, bạn có thể không cần sử dụng lệnh sudo.

Quản lý tập tin (File Management)

            Làm việc với các tệp thật dễ dàng với BASH. Chỉ có một một số lệnh mà bạn sẽ sử dụng thường xuyên và chúng được mô tả trong các phần sau.

cp

Mục đích của lệnh cp là sao chép tệp hoặc thư mục ở một nơi nào đó. Nó không xóa tệp nguồn mà thay vào đó tạo một bản sao y hệt. Khi chỉnh sửa cấu hình tệp hoặc thực hiện các thay đổi mà bạn có thể muốn khôi phục, bạn có thể sử dụng lệnh cp để tạo một bản sao như một loại sao lưu. Lệnh cp yêu cầu các tham số sau: tên của tệp gốc cần sao chép, nơi sao chép đến và tên của bản sao. Khi sao chép nội dung của một thư mục, ta cần thêm –r vào sau câu lệnh (cờ recursive – đệ quy).

mv

Lệnh mv cho phép di chuyển một tệp hoặc thư mục từ nơi này sang nơi khác. Ngoài ra nó còn được dùng để đổi tên tệp hoặc thư mục từ dòng lệnh, do BASH không cung cấp một câu lệnh riêng chỉ để đổi tên. Lệnh mv nhận các tham số nguồn và đích, giống như cp. Bạn có thể sử dụng cờ -i để hiển thị thông báo nhắc nhở và xác nhận các tùy chọn khi di chuyển gặp file đã tồn tại. Cờ -f bắt buộc thao tác di chuyển phải ghi đè bất kỳ tệp đã tồn tại ở điểm đến. Ký tự đại diện (*) cũng hoạt động để chọn nhiều tệp nguồn hoặc thư mục.

rm

Để xóa một tệp hoặc thư mục, ta sử dụng lệnh rm. Nếu mục đang xóa là một tệp hoặc một thư mục trống, bạn chỉ cần cung cấp tên và nhấn Enter. Mặt khác, nếu bạn đang cố gắng xóa một thư mục có tệp trong đó (thư mục không rỗng), rm sẽ cho biết rằng thư mục không trống. Trong trường hợp đó, ta phải sử dụng  thêm cờ -rf flag để buộc xóa.

touch

Lệnh touch được sử dụng để tạo tệp mới và thay đổi ngày truy cập / ngày chỉnh sửa của file / thư mục mà không cần mở nó. Lệnh này thường được sử dụng khi một developer muốn để tạo tệp mới nhưng không muốn đưa bất kỳ nội dung nào vào đó.

cat

Lệnh cat (viết tắt của concatenate) cho phép xem nội dung của một tệp hoặc tạo tệp mới, cũng như pipe nội dung của một tiệp đến các câu lệnh khác. Đây là một trong những lệnh hữu ích nhất trong UNIX khi làm việc với các tệp.

Biến môi trường (Environment Variables)

            Các biến môi trường trong BASH chứa thông tin về phiên làm việc hiện tại. Các Environment Variables có sẵn trong tất cả các hệ điều hành và thường được khởi tạo khi bạn mở thiết bị đầu cuối của bạn từ một tệp cấu hình được liên kết với thông tin đăng nhập của bạn. Ta khởi tạo các biến này giống như cách ta khởi tạo chúng khi lập trình. Trong đa số trường hợp chúng ta không trực tiếp sử dụng các biến này, mà chính những chương trình và các ứng dụng ta khởi chạy mới sử dụng đến nó. Để xem tất cả các biến môi trường hiện tại ta dùng lệnh env. Vì có thể có rất nhiều biến môi trường, nhiều hơn khoảng trống mà ta có trên màn hình, nên có thể pipe kết quả của lệnh env cho lệnh more để tạm dừng kết quả bằng cách phân trang.

            Nếu bạn thực hiện lệnh này, bạn có thể nhận thấy nhiều từ khóa có dấu = gắn với các giá trị. Một biến môi trường mà bạn sử dụng mỗi khi thực hiện một lệnh là biến PATH. Đây là nơi shell của bạn tìm kiếm các tệp thực thi. Nếu bạn thêm một lệnh mới và không thể thực hiện được lệnh đó, nhiều khả năng là nơi lệnh đã được sao chép không được liệt kê trong PATH. Để xem bất kỳ giá trị biến nào, bạn có thể sử dụng lệnh echo và ghi vào tên của biến mà bạn muốn xem. Bạn cũng cần thông báo với BASH rằng đó là một biến bằng cách sử dụng $ phía trước của nó.

            Để có thể thêm một giá trị mới vào biến PATH, chỉ gõ $PATH=/new_directory thôi là không đủ, vì hệ điều hành chỉ đọc những biến môi trường khi một phiên terminal mới bắt đầu. Để thông báo cho Linux rằng một biến môi trường cần được cập nhật, ta phải sử dụng lệnh export. Lệnh này cho phép ta nối thêm đường dẫn bổ sung đến BASH và đường dẫn mới này sẽ có hiệu lựu từ thời điểm này của phiên làm việc trở về sau. Đừng quên thêm vào dấu : hoặc dấu , trước giá trị mới của biến, tùy thuộc vào hệ điều hành của bạn.

            Khi bạn kết thúc phiên đầu cuối của mình, những thay đổi bạn sẽ không được lưu lại. Để giữ các thay đổi này cho sau này, ta cần bỏ câu lệnh thêm đường dẫn vào file .bashrc  (hoặc .zshrc nếu sử dụng Z shell). Bất cứ điều gì được để ở đây sẽ tự động có sẵn bất cứ lúc nào khởi chạy terminal. Bạn có thể chỉ cần sao chép, thêm lệnh trước đó vào cuối .bashrc với trình soạn thảo văn bản yêu thích của bạn hoặc sử dụng lệnh sau:

Tuy nhiên, phần bổ sung này chỉ hoạt động sau khi bạn đóng phiên hiện tại hoặc buộc nó tải lại biến. Lệnh source có thể được sử dụng để tải lại các biến từ tệp cấu hình ẩn của .bashrc

 


FORM ĐĂNG KÝ MUA HÀNG
Đặt hàng
icon-cart
0