10 toán tử dòng lệnh Linux và những gì họ làm

featured image

Các toán tử chuỗi lệnh là các ký tự đặc biệt được sử dụng để viết các tập lệnh shell thu nhỏ trong dòng lệnh. Chúng thường được sử dụng để thực hiện các lệnh theo một trình tự nhất định, được xác định bởi vị trí của các toán tử giữa các lệnh. Điều này cực kỳ hữu ích trong việc tự động hóa các tác vụ.


Hãy cùng tìm hiểu về một số toán tử chuỗi thông dụng trên Linux có thể giúp bạn hoàn thành tác vụ nhanh hơn và với khoảng thời gian ít người dùng hơn.


1. Ký hiệu và toán tử (&)

Thông thường, khi bạn mở một chương trình hoặc thực hiện một lệnh từ trình bao, bạn phải đợi cho đến khi lệnh kết thúc hoặc thoát khỏi chương trình theo cách thủ công trước khi bạn có thể tiếp tục sử dụng trình bao. Đây là nơi mà toán tử dấu và (&) phát huy tác dụng.

Bằng cách thêm toán tử ký hiệu và vào bất kỳ lệnh nào, bạn ra lệnh cho trình bao thực thi lệnh Linux đó trong nền để bạn có thể tiếp tục sử dụng trình bao mà không bị ràng buộc.

gedit &

Thông thường, nếu bạn chạy gedit từ thiết bị đầu cuối, bạn sẽ không thể sử dụng thiết bị đầu cuối trừ khi bạn đóng trình soạn thảo văn bản. Tuy nhiên, bằng cách thêm toán tử ký hiệu và, bạn có thể làm cho nó chạy ở chế độ nền và tiếp tục sử dụng shell ngay lập tức.

2. Toán tử Dấu chấm phẩy (;)

Toán tử dấu chấm phẩy là một toán tử chuỗi Linux cực kỳ hữu ích mà bạn có thể sử dụng để thực thi các lệnh theo một thứ tự tuần tự được xác định. Sắp xếp các lệnh của bạn và phân tách chúng bằng dấu chấm phẩy.

pwd ; mkdir test ; cd test ; touch file

Cú pháp trên ra lệnh cho trình bao thực hiện từng lệnh một. Lưu ý rằng trình bao không kiểm tra xem mỗi lệnh kết thúc thành công hay không. Ngay sau khi trình bao nhận được mã trả về, nó sẽ chuyển sang thực hiện lệnh tiếp theo.

3. Toán tử OR (||)

Toán tử OR sẽ thực hiện lệnh theo sau chỉ khi lệnh trước không thành công, tức là, trả về mã thoát là 0. Nó hoạt động giống như cổng OR logic, trả về giá trị 1 khi đầu vào là 0.

bad_command || ls

Trong cú pháp ví dụ này, bad_command là một lệnh sai sẽ không thực hiện được và vì nó không thành công, lệnh kế tiếp toán tử OR, là lệnh ls, sẽ thực hiện thành công.

4. Nhà điều hành ống (|)

Toán tử ống dẫn hướng đầu ra của lệnh trước làm đầu vào cho lệnh tiếp theo. Nó thường được sử dụng nhất để lọc dữ liệu bằng lệnh grep.

cat test | grep -i "smartreviewaz"

Lệnh này sẽ gửi đầu ra của lệnh cat dưới dạng đầu vào cho lệnh grep, sau đó sẽ lọc đầu ra theo một chuỗi được chỉ định.

5. Toán tử AND (&&)

Toán tử này hoạt động theo những cách tương tự với toán tử dấu chấm phẩy ngoại trừ, không giống như toán tử dấu chấm phẩy, toán tử AND sẽ chỉ thực hiện các lệnh nếu lệnh trước đó được thực hiện thành công.

pwd && mkdir test && cd test && bad_command && ls

Trong cú pháp ví dụ này, trình bao sẽ thực hiện thành công tất cả các lệnh cho đến khi bad_command. Tuy nhiên, vì bad_command không chạy được, shell sẽ trả về lỗi và bỏ qua lệnh ls.

6. Toán tử NOT (!)

Toán tử NOT hoạt động theo những cách tương tự với câu lệnh ngoại trừ trong lập trình. Ví dụ: nếu bạn muốn thực hiện một thao tác trên một số lượng lớn tệp trong một thư mục nhưng muốn loại trừ một số tệp dựa trên một số tham số, thì bạn có thể sử dụng toán tử NOT bằng cách chuyển tham số sau ký tự NOT (!).

rm -r !(*.txt)

Lệnh mẫu này sẽ loại bỏ đệ quy tất cả các tệp trong một thư mục ngoại trừ các tệp có “.txt” sự mở rộng.

7. Toán tử ưu tiên ((..))

Các lệnh sau toán tử AND và OR phụ thuộc vào mã thoát của lệnh trước đó. Các toán tử này là nhị phân và chỉ đánh giá hai lệnh đứng trước và sau chúng.

Vì vậy, khi làm việc với nhiều toán tử, điều quan trọng là phải đặt các nhóm và mức độ ưu tiên để đảm bảo rằng trình tự thực thi đáp ứng mong đợi của bạn.

(ls *.txt > txt-files.list && cp *.tx ~) && (ls *.deb > deb-packages.list && cp *.deb ~) || echo "Precedence Test!"

Trong cú pháp mẫu này, cả hai nhóm lệnh phải trả về mã thoát 0 để đảm bảo thực hiện thành công lệnh cuối cùng. Ví dụ này yêu cầu cả hai lệnh trong set () đầu tiên thoát bằng 0 để set () thứ hai chạy.

8. Toán tử Kết hợp ({..})

Như tên gợi ý, toán tử kết hợp được sử dụng để nhóm các lệnh. Bất kỳ lệnh nào bạn muốn nhóm lại, bạn có thể đặt chúng bên trong dấu ngoặc nhọn và chúng sẽ được thực thi tùy thuộc vào mã thoát của lệnh đầu tiên.

test -f /etc/passwd && {pwd ; date} && echo $0 ; echo "Hello"

Cú pháp mẫu sẽ kiểm tra xem tệp / etc / passwd có tồn tại hay không, in thư mục làm việc hiện tại, ngày tháng, tên trình bao và echo “Xin chào”.

9. Kết hợp hoặc Toán tử Thoát ()

Toán tử nối hoặc thoát có hai chức năng. Bạn có thể sử dụng nó để nối hai lệnh hoặc như một ký tự thoát khi làm việc với các chuỗi trong shell.

mkdir test0 test1  test2
echo "Hello! from the
other side"

Lệnh đầu tiên sẽ tạo bốn thư mục có tên test0 đến test2 và lệnh thứ hai sẽ in chuỗi được phân tách bằng một dòng mới.

10. Các toán tử chuyển hướng (>, >>, <)

Các toán tử chuyển hướng chuyển hướng đầu ra hoặc đầu vào đến tệp bằng cách ghi lại tệp hoặc bằng cách thêm vào tệp đó. Nếu bạn muốn ghi lại một tập tin, thì bạn phải sử dụng cú pháp ngoặc đơn (>). Nếu bạn muốn thêm vào một tệp, bạn sẽ phải sử dụng cú pháp dấu ngoặc kép (>>).

echo "dsd" > test ; echo "bssss" >> test

Trong cú pháp mẫu, lệnh đầu tiên sẽ ghi đè lên tệp “kiểm tra” bằng chuỗi được cung cấp nhưng trong lệnh thứ hai, chuỗi được cung cấp sẽ được nối vào tệp kiểm tra.

Tăng tốc quy trình làm việc đầu cuối Linux của bạn

Mặc dù việc sử dụng các toán tử đặc biệt sẽ hợp lý hóa đáng kể việc thực thi tác vụ cho bạn, nhưng có nhiều cách khác để tăng tốc quy trình làm việc của bạn.

Một cách dễ dàng và đáng giá để hoàn thành nhiều việc hơn trong thời gian ngắn hơn là tự làm quen với một vài phím tắt tiện dụng. Việc làm quen với các phím tắt này sẽ đi một chặng đường dài, và bạn sẽ thấy mình phải dựa vào chúng trong thời gian dài sử dụng Linux.

Previous Post
Next Post

post written by: