Chạy nhiều lệnh một lúc linux

Nếu bạn sử dụng Linux, bạn sẽ biết dòng lệnh có thể hữu ích như thế nào khi làm việc với các tệp, cài đặt phần mềm và khởi chạy chương trình. Nhưng nó có thể hiệu quả hơn nữa nếu bạn chạy nhiều lệnh cùng một lúc.

Việc kết hợp hai hoặc nhiều lệnh trên dòng lệnh còn được gọi là lệnh Lệnh chẻ ra. Chúng tôi sẽ chỉ cho bạn các cách khác nhau để bạn có thể kết hợp các lệnh trên dòng lệnh.

Tùy chọn Một: Toán tử Dấu chấm phẩy [;]

Toán tử dấu chấm phẩy [;] cho phép bạn thực hiện nhiều lệnh liên tiếp, bất kể mỗi lệnh trước đó có thành công hay không. Ví dụ: mở cửa sổ Terminal [Ctrl + Alt + T trong Ubuntu và Linux Mint]. Sau đó, nhập ba lệnh sau trên một dòng, phân tách bằng dấu chấm phẩy và nhấn Enter. Điều này sẽ cung cấp cho bạn một danh sách các thư mục hiện tại [ ls ], tìm ra thư mục bạn hiện đang ở [ pwd ] và hiển thị tên đăng nhập của bạn [ tôi là ai ] tất cả trong một.

ls; pwd; tôi là ai

Bạn cũng không phải đặt khoảng trắng giữa dấu chấm phẩy và các lệnh. Bạn có thể nhập ba lệnh như ls; pwd; whoami . Tuy nhiên, khoảng trắng làm cho lệnh kết hợp dễ đọc hơn, đặc biệt hữu ích nếu bạn đặt lệnh kết hợp vào tập lệnh shell.

Tùy chọn hai: Toán tử và toán tử [&&]

Nếu bạn muốn lệnh thứ hai chỉ chạy nếu lệnh thứ nhất thành công, hãy tách các lệnh bằng toán tử AND logic, đó là hai ký hiệu [ && ]. Ví dụ: chúng tôi muốn tạo một thư mục có tên MyFolder và sau đó thay đổi thành thư mục đó - miễn là nó được tạo thành công. Vì vậy, chúng tôi gõ như sau trên dòng lệnh và nhấn Enter.

mkdir MyFolder && cd MyFolder

Thư mục đã được tạo thành công, vì vậy CD lệnh đã được thực thi và chúng ta đang ở trong thư mục mới.

Chúng tôi khuyên bạn nên sử dụng toán tử AND logic hơn là toán tử dấu chấm phẩy hầu hết thời gian [;]. Điều này đảm bảo rằng bạn không làm điều gì tai hại. Ví dụ: nếu bạn chạy một lệnh để thay đổi thành một thư mục và sau đó buộc loại bỏ mọi thứ trong thư mục đó một cách đệ quy [ cd / some_directory; rm -Rf * ], bạn có thể sẽ phá hỏng hệ thống của mình nếu thay đổi thư mục không xảy ra. Không phải chúng tôi khuyên bạn nên chạy lệnh để xóa vô điều kiện tất cả các tệp trong một thư mục cùng một lúc.

Tùy chọn ba: Toán tử HOẶC Toán tử [||]

Đôi khi bạn có thể muốn thực hiện lệnh thứ hai chỉ khi lệnh đầu tiên thực hiện không phải thành công Để làm điều này, chúng tôi sử dụng toán tử OR logic hoặc hai thanh dọc [ | | ]. Ví dụ: chúng tôi muốn kiểm tra xem thư mục MyFolder có tồn tại không [ [-d ~ / MyFolder] ] và tạo nó nếu nó không [ mkdir ~ / MyFolder ]. Vì vậy, chúng tôi gõ lệnh sau tại dấu nhắc và nhấn Enter.

[-d ~ / MyFolder] || mkdir ~ / MyFolder

Hãy chắc chắn có một khoảng trắng sau dấu ngoặc đầu tiên và trước dấu ngoặc thứ hai hoặc lệnh đầu tiên kiểm tra xem thư mục tồn tại sẽ không hoạt động.

Trong ví dụ của chúng tôi, thư mục MyFolder không tồn tại, vì vậy lệnh thứ hai tạo thư mục.

Kết hợp nhiều toán tử

Bạn cũng có thể kết hợp nhiều toán tử trên dòng lệnh. Ví dụ: trước tiên chúng tôi muốn kiểm tra xem một tệp có tồn tại không [ [-f ~ / sample.txt] ]. Nếu có, chúng tôi sẽ in một thông báo ra màn hình [ tập tin echo echo tồn tại. ]. Nếu không, chúng ta tạo tập tin [ chạm ~ / sample.txt ]. Vì vậy, chúng tôi gõ như sau tại dấu nhắc lệnh và nhấn Enter.

[-f ~ / sample.txt] && echo Tập tin tồn tại. chạm ~ / sample.txt

Trong ví dụ của chúng tôi, tệp không tồn tại, vì vậy nó đã được tạo.

Đây là một bản tóm tắt hữu ích của từng toán tử được sử dụng để kết hợp các lệnh:

  •  A; B  - Chạy A và sau đó B, bất kể thành công hay thất bại của A
  •  A && B  - Chỉ chạy B nếu A thành công
  •  Một | | B  - Chỉ chạy B nếu A thất bại

Tất cả các phương thức kết hợp các lệnh này cũng có thể được sử dụng trong các tập lệnh shell trên cả Linux và Windows 10.

Bạn cũng có thể tự động sửa lỗi chính tả và lỗi chính tả khi sử dụng dòng cd cd trên dòng lệnh trong Linux để tránh hậu quả nghiêm trọng khi kết hợp các lệnh.

Hướng dẫn sử dụng nhiều dòng lệnh cùng lúc trong Terminal trên Linux

Nếu bạn đang sử dụng hệ điều hành Linux, bạn sẽ thấy được sự hữu ích từ các dòng lệnh để làm việc với các tập tin, cài đặt phần mềm cũng như khởi động chương trình. Nhưng thậm chí sẽ hiệu quả hơn nhiều nếu như bạn chạy nhiều lệnh cùng một lúc.

Kết hợp hai hay nhiều lệnh được gọi là “command chaining”. Chúng tôi sẽ hướng dẫn cho bạn các cách khác nhau để bạn có thể kết hợp nhiều lệnh cùng lúc.

Cách 1: Sử dụng cách dấu chấm phẩy [

Dấu chấm phẩy [ sẽ cho phép người dùng thực hiện nhiều lệnh liên tiếp, cho dù mỗi lệnh trước đó có thành công hay không. Ví dụ, mở một cửa sổ Terminal [Ctrl + Alt + T trong Ubuntu và Linux Mint]. Sau đó, gõ vào ba lệnh sau đây trên một dòng, cách nhau bởi dấu chấm phẩy, và nhấn Enter. Lúc này hệ thống sẽ cung cấp cho bạn một danh sách các thư mục hiện hành [ls], tìm ra thư mục bạn đang truy cập [pwd], và hiển thị tên đăng nhập của bạn [whoami] cùng một lúc.

Bạn không cần phải đặt khoảng trắng giữa dấu chấm phẩy và các lệnh. Bạn có thể nhập vào ba lệnh như ls;pwd;whoami. Tuy nhiên, không gian làm cho lệnh kết hợp dễ đọc hơn, đó là đặc biệt hữu ích nếu bạn đang thực hiện kết hợp nhiều lệnh, tránh nhầm lẫn.

Cách 2: Sử dụng lệnh AND [&&]

Nếu bạnh muốn chạy lệnh thứ 2 nếu lệnh đầu tiên đã thành công, tách cách lệnh bằng Logical AND Operator, tức là hai dấu &&. Ví dụ, chúng tôi muốn tạo ra một thư mục có tên là Myfolder và sau đó chuyển sang thư mục đó. Vì vậy ,chúng ta sẽ gõ dòng lệnh như sau:

Mã:

mkdir MyFolder && cd MyFolder

Thư mục sẽ được tạo thành công, và lệnh cd sẽ tiếp tục thực thi đưa bạn đến thư mục vừa mới tạo.
Chúng tôi khuyên bạn nên sử dụng phương pháp số 2 này thay vì cách đầu tiên. Bởi vì điều này đảm bảo rằng bạn không làm bất kỳ điều gì tai hại. Ví dụ, nếu bạn chạy một lệnh để thay đổi vào một thư mục và sau đó buộc loại bỏ tất cả mọi thứ trong thư mục đó [ cd /some_directory ; rm -Rf * ], bạn có thể sẽ làm hỏng hệ thống của mình nếu việc thay đổi thư mục không được thực thi.

Cách 3: Sử dụng lệnh OR [||]

Đôi khi bạn có thể muốn thực hiện một lệnh thứ 2 nếu như lệnh đầu tiên không thành công. Để làm điều này, chúng tôi sẽ sử dụng thuật toán logic OR, tức là hai thanh dọc [||]. Ví dụ, chúng tôi muốn kiểm tra xem thư mục Myfolder có tồn tại hay chưa [ [ -d ~/MyFolder ] ] và tạo ra nó nếu chưa có [ mkdir ~/MyFolder]. Vì vậy chúng ta sẽ gõ lệnh sau tại dấu nhắc và nhấn Enter.

Mã:

[ -d ~/MyFolder ] || mkdir ~/MyFolder

Hãy chắc chắn rằng có một khoảng trắng sau khung đầu tiên và trước khung thứ 2.
Trong ví dụ của chúng tôi, các thư mục Myfolder không tồn tại, do đó lệnh thứ hai tạo ra thư mục này.

Đơn giản phải không nào các bạn. Chỉ cần một chút thủ thuật nhỏ thì bạn đã có thể dễ dàng thao tác nhiều dòng lệnh cùng lúc trên Linux. Hi vọng, với bài viết này đây sẽ là một kinh nghiệm nho nhỏ dành cho những bạn nào mới bắt đầu bước vào thế giới lập trình. Chúng tôi sẽ tiếp tục gửi đến cho quý độc giả nhiều bài viết bổ ích khác trong lần sau. Hẹn gặp lại các bạn!

VFO.VN [theo HowtoGeek]

Bài Viết Liên Quan

Chủ Đề