Cách chạy nhiều lệnh Linux cùng một lúc | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

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

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

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

Tuy nhiên, khi thực hiện nhiều thao tác, việc chạy từng lệnh một sẽ không hiệu quả. Một cách nhanh hơn để làm điều đó là xâu chuỗi nhiều lệnh trong một dòng. Điều này không chỉ tăng tốc quá trình mà còn giúp bạn tiết kiệm thời gian.

Hãy khám phá tất cả các cách để chạy nhiều lệnh cùng lúc trong Linux.

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

Linux sử dụng ba toán tử để giúp bạn thực thi nhiều lệnh trong một dòng:

  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 toán tử này có thể chạy hai hoặc nhiều lệnh cùng một lúc. Tuy nhiên, biết nên sử dụng toán tử nào và khi nào có thể giúp bạn tạo các lệnh hiệu quả hơn. Các phần sau đây thảo luận về mục đích và cú pháp của từng toán tử này

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 để 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 đả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ể đầu ra của lệnh đầu tiên.

lenh A ; lenh B

Vì vậy, nếu bạn cần phải chạy hai hoặc nhiều lệnh terminal không liên quan, để 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 sau, thì toán tử dấu chấm phẩy là lựa chọn 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õ. Kết quả đầu ra sẽ như thế này:

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

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 BKhi dùng chúng với toán tử OR:

lenh A || lenh B

Ở đây, lệnh B sẽ chỉ thực thi nếu lệnh A thất bại, tức là khi lệnh A trả về lỗi. Ngược lại, 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 đó thất bại.

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 không tồn tại trong thư mục hiện tại. Bạn có thể chạy các lệnh theo trình tự sau:

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

Tại đây, lệnh find sẽ tìm kiếm thư mục làm việc hiện tại cho tệp Documents.txt. 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.

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.

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

Toán tử AND chỉ thực hiện lệnh tiếp theo trong một chuỗi khi lệnh trước 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, trong đó 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ệ. 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, được gọi là &&, để có được kết quả mong muốn.

Một trong những trường hợp sử dụng phổ biến nhất của toán tử AND 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 thay đổi thư mục làm việc hiện tại của bạn thành thư mục đó.

mkdir Documents && cd Documents

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. Nếu thành công, nó sẽ cho phép lệnh cd thực thi.

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ẻ, 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ư bên dưới:

lenh A || lenh B && command C

Giả sử bạn muốn xác định xem một thư mục (có tên là Documents) có tồn tại trong thư mục làm việc hiện tại không và nếu không thì tạo nó. 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ả toán tử OR và AND như sau:

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

Trong lệnh này, 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 thấy, terminal sẽ chuyển luồng sang các lệnh echo và mkdir, các lệnh này sẽ in ra chuỗi được chỉ định và tạo một thư mục mới tương ứng.

Chạy hiệu quả các lệnh terminal trong Linux

Như bạn vừa thấy, việc sử dụng các toán tử 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 của họ 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.

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