5 lý do để bắt đầu sử dụng dòng lệnh Linux

Tác giả Copilot, T.Mười 27, 2024, 03:37:16 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Bạn có thể sử dụng Linux mà không cần thành thạo dòng lệnh và loay hoay trong cửa sổ terminal. Nhưng nếu bạn làm vậy, bạn sẽ bỏ lỡ tốc độ, sức mạnh và khả năng kiểm soát chi tiết cấp thấp của dòng lệnh.


1. Có chuyện gì thế?

Một số người thề thốt, một số người thề thốt. Chúng ta đang nói về dòng lệnh, giao diện máy tính-con người đáng kính đã tồn tại hơn năm mươi năm và vẫn sẽ không biến mất sớm. Ngay cả trong thế giới ngày nay với giao diện đồ họa mượt mà và sự tiện lợi của màn hình cảm ứng, vẫn có chỗ cho dòng lệnh.

Quay trở lại thời điểm Unix được phát triển vào cuối những năm 1960 và đầu những năm 1970, không có thứ gọi là giao diện người dùng đồ họa (GUI) hay môi trường máy tính để bàn (DE). Gõ là trò chơi duy nhất trong thị trấn. Nếu bạn muốn tương tác với máy tính, bạn sử dụng bàn phím và bạn không nghĩ ngợi gì về điều đó.

Điều này có ý nghĩa về mặt thiết kế. Vì bạn bị giới hạn trong việc gõ, mọi khía cạnh của cấu hình, hoạt động và quản trị máy tính đều phải có thể kiểm soát được bằng cách gõ lệnh. Điều đó đúng với Unix hơn nửa thế kỷ trước và vẫn đúng với Linux ngày nay. Bạn có thể làm bất cứ điều gì từ dòng lệnh. Không có gì nằm ngoài tầm với của bạn.

Ngày nay, về bản chất, Linux vẫn là một hệ điều hành điều khiển bằng bàn phím. Bạn có thể có một hệ thống Linux hoàn chỉnh chạy mà không cần môi trường máy tính để bàn và nhiều máy chủ được sử dụng theo cách đó. Trên máy tính để bàn, tất nhiên, hầu hết người dùng đều có DE.

Tuy nhiên, hãy mở cửa sổ terminal và bạn sẽ có toàn quyền truy cập vào dòng lệnh, nghĩa là bạn có quyền truy cập vào tất cả các lệnh Linux và mọi thiết lập chi phối quá trình cài đặt Linux của bạn.

2. Cải thiện kỹ năng quản trị hệ thống của bạn

Nếu bạn định quản trị hệ thống Linux, thậm chí là quản trị thông thường cho bạn bè, gia đình và đồng nghiệp, bạn sẽ phải đối mặt với rất nhiều bản phân phối khác nhau cũng như nhiều DE khác nhau.

Sử dụng dòng lệnh cho phép bạn làm những gì bạn không thể làm thông qua GUI của ứng dụng hoặc thông qua cài đặt DE. DE và các ứng dụng đồ họa là các lớp trừu tượng giữa bạn và Linux. Có thể có các công cụ giúp bạn quản lý cài đặt Linux của mình, nhưng chúng sẽ không có độ trung thực như dòng lệnh.

Lệnh Linux có thể có hàng tá tùy chọn. Lệnh càng phức tạp thì khả năng tất cả các tùy chọn đó được sao chép trong công cụ GUI càng thấp. Thêm vào đó, mỗi DE sẽ có các ứng dụng riêng và cách thực hiện riêng. Thay vì học cách sử dụng GUI cho tất cả các DE, bạn có thể dễ dàng mở cửa sổ terminal và nhập các lệnh Linux phổ biến hoạt động ở mọi nơi. Nếu có công cụ dòng lệnh không được đóng gói với một bản phân phối cụ thể, bạn có thể nhanh chóng cài đặt công cụ đó.

Đôi khi, sự lựa chọn được đưa ra cho bạn. Biết cách thực hiện mọi thứ trên dòng lệnh là cách duy nhất để quản lý một máy chủ không có giao diện người dùng (headless server) không cài đặt DE hoặc một máy từ xa khi bạn chỉ có quyền truy cập SSH vào máy đó.

3. Tăng hiệu quả

Các lệnh Linux có thể có nhiều tùy chọn. Đó là điều làm cho chúng chính xác. Chọn các tùy chọn thực hiện chính xác những gì bạn cần và đó chính xác là những gì sẽ được thực hiện. Và các lệnh Linux được thiết kế để hoạt động cùng nhau. Chúng có thể tạo ra đầu ra được các lệnh khác chấp nhận làm đầu vào.

Việc nối các lệnh lại với nhau như thế này được gọi là piping. Lệnh này trả về danh sách các phần mở rộng tệp trong thư mục hiện tại và số lượng của từng loại khác nhau. Linux không có lệnh cho việc này, nhưng bạn có thể dễ dàng nối một lệnh lại với nhau bằng các lệnh Linux hiện có.

Mã nguồn [Chọn]
ls | rev | cut -d'.' -f1 | rev | sort | uniq -c | sort -r
Lệnh ls liệt kê các tệp. Các tên tệp được đưa vào lệnh rev, đảo ngược các ký tự trong mỗi tên. Lệnh cut cắt bớt từng tên sau dấu chấm đầu tiên mà nó tìm thấy, nếu có. Lệnh rev thứ hai khôi phục chuỗi về thứ tự ban đầu của nó. Điều này cung cấp cho chúng ta danh sách các phần mở rộng. Danh sách được sắp xếp và uniq đếm số lần xuất hiện của mỗi phần mở rộng tệp duy nhất. Sau đó, danh sách được sắp xếp lại theo thứ tự giảm dần.


Thật tuyệt, nhưng có rất nhiều điều cần nhớ. Đặc biệt là với các lệnh có nhiều tùy chọn.

Đó là nơi mà các bí danh giúp ích. Một bí danh cho phép bạn chọn một tên dễ nhớ cho một lệnh tùy chỉnh gọi một dòng lệnh phức tạp cho bạn. Các bí danh cũng có thể lấy tham số. Nếu dòng lệnh của bạn giống một thói quen nhỏ hơn là một dòng lệnh duy nhất, bạn có thể biến nó thành một hàm shell.

Nếu bạn cần một bản ghi cố định về đầu ra, bạn có thể chuyển hướng đầu ra đến một tệp thay vì cửa sổ terminal. Thêm "> file-count.txt" vào cuối lệnh sẽ tạo một tệp có tên là file-count.txt chứa văn bản sẽ được chuyển đến cửa sổ terminal.

Mã nguồn [Chọn]
ls | rev | cut -d'.' -f1 | rev | sort | uniq -c | sort -r > file-count.txt
Việc kết hợp các lệnh lại với nhau và phân chia chuỗi lệnh thành nhiều phần sẽ giúp cải thiện hiệu quả đáng kể, nhờ đó bạn sẽ nhớ ít hơn và gõ ít hơn.

4. Tự động hóa các tác vụ

Khi chuỗi lệnh của bạn vượt xa các hàm shell, bạn có thể chuyển đổi chúng thành các tập lệnh và tạo toàn bộ chương trình ngôn ngữ shell.

Không có giới hạn nào cho những gì bạn có thể đạt được với các tập lệnh. Bất kỳ lệnh nào bạn có thể sử dụng trên dòng lệnh đều có thể được sử dụng trong một tập lệnh, cùng với các cấu trúc ngôn ngữ shell như kiểm tra và so sánh, vòng lặp và câu lệnh case.

Các tác vụ lặp đi lặp lại, tẻ nhạt có thể được thực hiện bằng cách chạy một tập lệnh thay thế. Nếu tập lệnh yêu cầu chạy vào một thời điểm cụ thể hoặc với tần suất nhất định, bạn có thể thiết lập để nó được khởi chạy tự động với bộ đếm thời gian systemd.

5. Xử lý sự cố

Việc khắc phục sự cố với máy tính của bạn được hỗ trợ rất tốt trên dòng lệnh Linux. Làm như vậy có nghĩa là bạn tránh được sự che giấu của GUI và xử lý trực tiếp với hệ thống.

Linux ghi lại mọi loại sự kiện và quy trình, bao gồm cả quy trình khởi động. Tất cả các sự kiện nhật ký đều có thể được truy cập thông qua systemd journalctl.

Bạn có thể tìm hiểu sâu hơn về các vấn đề phần cứng bằng các công cụ như lshw, lsblk và lscpu, đồng thời kiểm tra các vấn đề về hệ thống tệp bằng fsck và các vấn đề khởi động bằng GRUB.

Mã nguồn [Chọn]
sudo lshw

Các vấn đề về mạng và DNS có thể được điều tra bằng ip, dig, host và nslookup.

Các vấn đề về hiệu suất có thể được xác định bằng cách sử dụng top hoặc htop, iostat, vmstat và netstat.

6. Truy cập hệ thống từ xa

Bạn có thể đăng nhập vào máy tính Linux từ xa bằng kết nối SSH, cung cấp cho bạn cửa sổ terminal trên máy từ xa, ngay trên máy cục bộ của bạn. Với khóa SSH, bạn có thể thiết lập kết nối an toàn, không cần mật khẩu.

Nếu tất cả những gì bạn cần làm là chuyển các tệp, bạn có thể sử dụng rsync để đồng bộ hóa các thư mục hoặc toàn bộ cây thư mục, qua lại giữa máy tính của bạn và máy tính từ xa. Tất nhiên, bạn có thể gói các lệnh rsync này trong các bí danh, hàm shell hoặc tập lệnh và chạy chúng tự động với bộ đếm thời gian systemd.

Đường cong học tập là đáng giá. Hãy dấn thân, nhưng hãy tự điều chỉnh tốc độ. Bạn không cần phải học mọi thứ cùng một lúc, nhưng mỗi thông tin bạn thu thập được sẽ trở thành một tài sản khác trong bộ công cụ Linux của bạn.

Không ai có thể trở thành thợ máy giỏi nếu không mở nắp capo.