Giới thiệu
Trong lab này, bạn sẽ học cách sử dụng lệnh xargs
mạnh mẽ trong Linux. Lệnh xargs
cho phép bạn thực thi các lệnh với các tham số được truyền từ standard input, cho phép bạn tạo ra các quy trình làm việc hiệu quả và linh hoạt. Bạn sẽ bắt đầu bằng cách hiểu các kiến thức cơ bản về xargs
, chẳng hạn như cách sử dụng nó để in danh sách tên và tạo thư mục dựa trên danh sách đó. Sau đó, bạn sẽ khám phá các trường hợp sử dụng nâng cao hơn, chẳng hạn như thực thi lệnh curl
trên danh sách các URL và kết hợp xargs
với các lệnh Linux khác để có các thao tác mạnh mẽ hơn nữa. Lab này cung cấp các ví dụ thực tế và hướng dẫn từng bước để giúp bạn làm chủ lệnh xargs
và nâng cao kỹ năng command-line Linux của bạn.
Hiểu các kiến thức cơ bản về lệnh xargs
Trong bước này, bạn sẽ học các kiến thức cơ bản về lệnh xargs
trong Linux. Lệnh xargs
là một công cụ mạnh mẽ cho phép bạn thực thi các lệnh với các tham số được truyền từ standard input.
Đầu tiên, hãy tạo một file text với một danh sách tên:
echo "Alice Bob Charlie David" > names.txt
Bây giờ, hãy sử dụng xargs
để in từng tên từ file:
cat names.txt | xargs echo
Ví dụ output:
Alice Bob Charlie David
Lệnh xargs
lấy input từ lệnh trước đó (trong trường hợp này, cat names.txt
) và truyền nó như là các tham số cho lệnh echo
.
Tiếp theo, hãy tạo một thư mục cho mỗi tên trong file:
cat names.txt | xargs mkdir
Bây giờ, hãy liệt kê nội dung của thư mục hiện tại để xác minh các thư mục đã được tạo:
ls
Ví dụ output:
Alice Bob Charlie David names.txt
Trong ví dụ này, xargs
lấy input từ cat names.txt
và truyền mỗi tên như một tham số cho lệnh mkdir
, tạo một thư mục cho mỗi tên.
Lệnh xargs
rất linh hoạt và có thể được kết hợp với nhiều lệnh Linux khác để tạo ra các quy trình làm việc mạnh mẽ. Trong các bước tiếp theo, bạn sẽ khám phá các trường hợp sử dụng nâng cao hơn của xargs
.
Sử dụng xargs để thực thi các lệnh với tham số
Trong bước này, bạn sẽ học cách sử dụng xargs
để thực thi các lệnh với các tham số được truyền từ standard input.
Hãy bắt đầu bằng cách tạo một file với danh sách các URL:
echo "https://www.example.com https://www.google.com https://www.github.com" > urls.txt
Bây giờ, chúng ta có thể sử dụng xargs
để thực thi lệnh curl
trên mỗi URL:
cat urls.txt | xargs curl -s -o /dev/null -w '%{url_effective} -> %{http_code}\n'
Ví dụ output:
https://www.example.com -> 200
https://www.google.com -> 200
https://www.github.com -> 200
Trong ví dụ này, xargs
lấy input từ cat urls.txt
và truyền mỗi URL như một tham số cho lệnh curl
. Tùy chọn -s
ngăn chặn output, -o /dev/null
chuyển hướng output đến thiết bị null, và -w '%{url_effective} -> %{http_code}\n'
in URL hiệu quả và HTTP status code.
Tiếp theo, hãy sử dụng xargs
để xóa các thư mục chúng ta đã tạo ở bước trước:
ls | grep -E 'Alice|Bob|Charlie|David' | xargs rm -rf
Ví dụ output:
Trong ví dụ này, ls
liệt kê tất cả các thư mục trong thư mục hiện tại, grep -E 'Alice|Bob|Charlie|David'
lọc output để chỉ bao gồm các thư mục chúng ta đã tạo và xargs rm -rf
xóa từng thư mục.
Lệnh xargs
là một công cụ linh hoạt có thể được kết hợp với nhiều lệnh Linux khác để tạo ra các quy trình làm việc mạnh mẽ. Trong bước tiếp theo, bạn sẽ khám phá các trường hợp sử dụng nâng cao hơn của xargs
.
Kết hợp xargs với các lệnh Linux khác cho quy trình làm việc mạnh mẽ
Trong bước cuối cùng này, bạn sẽ học cách kết hợp lệnh xargs
với các lệnh Linux khác để tạo ra các quy trình làm việc mạnh mẽ.
Hãy bắt đầu bằng cách tạo một danh sách các file trong thư mục hiện tại:
ls > files.txt
Bây giờ, chúng ta có thể sử dụng xargs
để tính toán MD5 checksum của mỗi file:
cat files.txt | xargs md5sum
Ví dụ output:
d41d8cd98f00b204e9800998ecf8427e files.txt
e10adc3949ba59abbe56e057f20f883e names.txt
e10adc3949ba59abbe56e057f20f883e urls.txt
Trong ví dụ này, xargs
lấy input từ cat files.txt
và truyền mỗi tên file như một tham số cho lệnh md5sum
.
Tiếp theo, hãy sử dụng xargs
để tìm kiếm một chuỗi cụ thể trong các file:
cat files.txt | xargs grep -l "example"
Ví dụ output:
urls.txt
Trong ví dụ này, xargs
lấy input từ cat files.txt
và truyền mỗi tên file như một tham số cho lệnh grep -l "example"
, lệnh này tìm kiếm chuỗi "example" trong mỗi file và in tên file nếu tìm thấy kết quả phù hợp.
Cuối cùng, hãy sử dụng xargs
để tạo bản sao lưu của các file:
cat files.txt | xargs -I {} cp {} backups/{}
Ví dụ output:
Trong ví dụ này, xargs -I {}
cho phép chúng ta sử dụng placeholder {}
để đại diện cho input từ cat files.txt
. Lệnh cp {} backups/{}
sao chép mỗi file vào thư mục backups/
.
Lệnh xargs
là một công cụ mạnh mẽ có thể được kết hợp với nhiều lệnh Linux khác để tạo ra các quy trình làm việc hiệu quả và linh hoạt. Bằng cách làm chủ việc sử dụng xargs
, bạn có thể hợp lý hóa các tác vụ hàng ngày và tăng năng suất của bạn với tư cách là một người dùng Linux.
Tóm tắt
Trong lab này, bạn đã học những điều cơ bản về lệnh xargs trong Linux, cho phép bạn thực thi các lệnh với các đối số được truyền từ standard input. Bạn đã tạo một file text có danh sách tên, sử dụng xargs để in từng tên và tạo các thư mục cho mỗi tên. Bạn cũng đã học cách sử dụng xargs để thực thi lệnh curl trên danh sách các URL, triệt tiêu output và hiển thị URL hiệu quả và HTTP status code. Các ví dụ này chứng minh tính linh hoạt của xargs và cách nó có thể được kết hợp với các lệnh Linux khác để tạo ra các quy trình làm việc mạnh mẽ.