Cách chạy nhiều lệnh trong Linux cùng một lúc

Cách chạy nhiều lệnh trong Linux cùng một lúc

Chia sẻ kiến thức 07/03/2022

Bạn có thể kiểm soát hệ thống (và thời gian) của bạn một cách tốt hơn bằng cách thực hiện nhiều lệnh Linux cùng một lúc.

Terminal Linux là một công cụ mạnh mẽ cho phép bạn thực hiện một loạt các hoạt động bằng cách sử dụng các lệnh. Các lệnh này cho phép bạn thực hiện nhiều tác vụ khác nhau, bao gồm thao tác quản lý tệp, quản lý chương trình và tự động hóa dịch vụ.

Thông thường, khi bạn cần chạy một loạt các lệnh đầu cuối, bạn thực hiện từng lệnh một. Tuy nhiên, một cách tốt hơn để làm điều này là chạy nhiều lệnh cùng một lúc. Trong bài viết này, FUNiX sẽ hướng dẫn bạn cách thực hiện. 

1. Chạy nhiều lệnh Linux cùng một lúc

Trên Linux, có ba cách để chạy nhiều lệnh trong một terminal:

  1. Toán tử Dấu chấm phẩy (;)
  2. Toán tử logic OR (||)
  3. Toán tử logic AND (&&)

Tất cả các phương pháp này yêu cầu một toán tử (operator). Mặc dù bất kỳ toán tử nào trong số này đều có thể chạy hai hoặc nhiều lệnh shell cùng một lúc, nhưng việc biết sử dụng toán tử nào trong trường hợp nào có thể giúp bạn tạo các lệnh hiệu quả. Các phần sau đây hướng dẫn về cả mục đích của từng toán tử và cú pháp để sử dụng chúng đúng cách.

1.1 Sử dụng toán tử Dấu chấm phẩy (;)

Phân đoạn chuỗi lệnh bằng dấu chấm phẩy là phương pháp phổ biến nhất khi bạn muốn chạy nhiều lệnh trong một terminal. Nó chạy tất cả các lệnh trong chuỗi bất kể lệnh trước đó chạy thành công hay thất bại.

Ví dụ: nếu có hai lệnh: lệnh A và lệnh B, việc sử dụng toán tử dấu chấm phẩy ở giữa chúng đảm bảo rằng cả lệnh đầu tiên và lệnh thứ hai đều được thực thi tuần tự bất kể lệnh đầu tiên có đầu ra như thế nào.

command A ; command B

Vì vậy, nếu bạn đang ở trong tình huống cần phải chạy hai hoặc nhiều lệnh terminal không liên quan đến nhau, tức là trạng thái đầu ra của lệnh đầu tiên không ảnh hưởng đến việc thực thi lệnh thứ hai, thì toán tử dấu chấm phẩy là cách tốt nhất.

Ví dụ, để hiển thị tên của người dùng hiện tại và tên máy chủ của hệ thống:

whoami ; hostname

Tuy nhiên, hãy nhớ rằng shell thực hiện các lệnh này theo thứ tự mà bạn gõ. Đây là kết quả đầu ra:

1.2 Sử dụng toán tử OR (||)

Như tên gọi của nó (or có nghĩa là hoặc), khi bạn chạy hai lệnh bằng cách sử dụng toán tử OR, bạn yêu cầu shell chỉ thực thi một trong hai lệnh. 

Hãy xem xét một tình huống mà bạn đã sử dụng toán tử OR với hai lệnh: lệnh A và lệnh B:

command A || command B

Ở đây, lệnh B sẽ chỉ thực hiện nếu lệnh A bị lỗi, tức là khi lệnh A trả về lỗi. Tương tự như vậy, nếu lệnh A chạy thành công, lệnh B sẽ không thực thi. 

Bạn có thể sử dụng toán tử OR khi bạn cần chạy hai lệnh liên quan với nhau để shell thực hiện lệnh tiếp theo chỉ khi lệnh trước đó bị lỗi.

Ví dụ, giả sử bạn muốn tạo một tệp mới, chẳng hạn như Document.txt, nhưng trước khi làm điều đó, bạn muốn đảm bảo rằng một tệp có cùng tên chưa tồn tại trong thư mục hiện tại. Trong những tình huống như vậy, bạn có thể chạy các lệnh của mình theo trình tự sau:

find . -name Document.txt || touch Document.txt

Tại đây, lệnh find sẽ tìm kiếm tệp Documents.txt trong thư mục làm việc hiện tại. Nếu nó tìm thấy tệp, tiến trình lệnh sẽ dừng — và lệnh thứ hai sẽ không chạy.

Mặt khác, nếu nó không tìm thấy tệp phù hợp, lệnh ở bên phải sẽ thực thi và một tệp mới có tên Document.txt sẽ được tạo trong thư mục làm việc hiện tại của bạn.

>>> Đọc ngay: Cách cài đặt Microsoft Office trên Linux

1.3 Sử dụng Toán tử AND (&&)

Như bạn có thể đã đoán, toán tử AND chỉ thực hiện lệnh tiếp theo trong một chuỗi khi lệnh trước của nó chạy thành công.

Hãy xem xét một tình huống mà bạn muốn chạy hai lệnh liên quan, và bạn muốn lệnh thứ hai chỉ chạy nếu lệnh đầu tiên trả về kết quả đầu ra hợp lệ. Trong trường hợp này, chúng ta có thể liên kết các lệnh với nhau bằng cách sử dụng toán tử AND, ký hiệu là &&, để có được kết quả mong muốn.

Ví dụ, một trong những trường hợp sử dụng phổ biến nhất của toán tử AND trong Linux là tạo một thư mục mới và truy cập vào nó ngay lập tức. Bằng cách đó, bạn sẽ không phải chạy hai lệnh riêng lẻ để thực hiện thao tác.

Giả sử bạn muốn tạo một thư mục mới có tên là Documents và ngay lập tức chuyển thư mục làm việc hiện tại của bạn sang thư mục đó.

mkdir Documents && cd Documents

Tại đây, lệnh mkdir sẽ tạo một thư mục mới có tên là Documents trong thư mục làm việc hiện tại của bạn. Nếu thành công, nó sẽ cho phép lệnh cd thực thi.

1.4 Kết hợp nhiều toán tử để đáp ứng tiêu chí thực thi của bạn

Bên cạnh việc sử dụng các toán tử riêng lẻ trong các lệnh của mình, bạn cũng có thể nhóm nhiều toán tử lại với nhau để đáp ứng các tiêu chí thực thi của mình. Điều này rất hữu ích khi bạn muốn thực hiện các lệnh dựa trên nhiều điều kiện.

Hãy xem xét một tình huống mà bạn chỉ muốn thực hiện hai lệnh (lệnh B và lệnh C) khi lệnh A không thành công. Để làm điều này, bạn sẽ cần sử dụng các toán tử như sau: 

command A || command B && command C

Giả sử bạn muốn xác định xem một thư mục (có tên là Document) có tồn tại trong thư mục làm việc hiện tại của bạn hay không, nếu không thì tạo nó. Trong trường hợp này, thay vì chạy các lệnh riêng biệt để tìm thư mục và tạo thư mục mới, bạn có thể sử dụng các toán tử OR và AND cùng nhau:

find . -name Document || echo "Directory not found" && mkdir Document

Trong lệnh này, lệnh find yêu cầu shell tìm kiếm một thư mục có tên là Document trong thư mục làm việc hiện tại. Nếu không có, terminal sẽ chuyển luồng sang các lệnh echo và mkdir, các lệnh này sẽ in ra (print) chuỗi (string) được chỉ định và tạo một thư mục mới tương ứng.

>>> Đọc ngay: 6 yếu tố cần xem xét khi lựa chọn một bản phân phối Linux

2. Chạy hiệu quả các lệnh đầu cuối trong Linux

Như bạn vừa thấy, việc sử dụng các toán tử trong các lệnh của bạn có thể đơn giản hóa rất nhiều hoạt động trên dòng lệnh.

Nếu bạn là người thích xử lý các hoạt động hệ thống khác nhau trên máy tính thông qua terminal, biết cách sử dụng các toán tử này có thể rất hữu ích và chắc chắn sẽ hỗ trợ bạn chạy các lệnh Linux hiệu quả hơn.

>>> Nếu bạn đang có nhu cầu tìm hiểu về khóa học lập trình đi làm ngay. Hãy liên hệ với FUNiX ngay tại đây:

>>> Xem thêm chuỗi bài viết liên quan:

FUNiX – Học lấy bằng đại học trực tuyến giá trị ngang bằng đại học chính quy

Cách tạo ảnh Mosaic trên Linux với Polyfoto

Cách ghi chú trong Terminal Linux với ứng dụng ghi chú tnote

Cách sử dụng lệnh wc trong Linux

Hướng dẫn cách sử dụng lsof để theo dõi file đang mở trên Linux

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/how-to-run-multiple-linux-commands-at-once/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
FUNiX V2 GenAI Chatbot ×

yêu cầu gọi lại