NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
07/01/2025
Lượt xem

Lệnh perl trong Linux – Ngôn ngữ lập trình cấpcao giúp quản trị hệ thống

07/01/2025
17 phút đọc
Lượt xem

Đánh giá

Lệnh perl trong Linux là lệnh hữu ích cho việc xử lý văn bản, quản trị hệ thống và tự động hóa. Điểm mạnh của perl đến từ khả năng xử lý biểu thức chính quy, thao tác file linh hoạt và dễ dàng tạo script tự động. Bài viết này, mình sẽ giới thiệu các tính năng đa dạng của lệnh perl thông qua các ví dụ thực tế, giúp bạn dễ dàng áp dụng.

Những điểm chính

  • Giới thiệu về lệnh perl trong Linux: Bạn sẽ được giải thích khái niệm của lệnh perl và lịch sử phát triển của Perl, giúp bạn hiểu rõ bản chất và ứng dụng của lệnh.
  • Cung cấp cú pháp cơ bản của lệnh perl: Bạn sẽ dễ dàng áp dụng lệnh vào các tác vụ cụ thể.
  • Cung cấp các tùy chọn của lệnh perl: Bạn sẽ nắm được các tùy chọn có sẵn để sử dụng lệnh perl linh hoạt và hiệu quả.
  • Ví dụ cụ thể cách sử dụng lệnh perl: Bạn sẽ có cái nhìn cụ thể về cách vận hành và áp dụng perl vào các tác vụ thực tế. 
  • Giới thiệu về dịch vụ VPS Linux của Vietnix: Bạn sẽ có thêm lựa chọn phù hợp khi tìm kiếm giải pháp VPS cho các dự án.

Lệnh perl trong Linux là gì?

Lệnh perl trong Linux là một ngôn ngữ lập trình cấp cao được sử dụng cho việc quản trị hệ thống và xử lý văn bản. Perl là viết tắt của Practical Extraction and Reporting Language, được tạo ra bởi Larry Wall vào cuối những năm 1980 và phát hành năm 1987. Khả năng xử lý biểu thức chính quy mạnh mẽ của Perl đã khiến ngôn ngữ trở nên phổ biến trong việc phân tích và xử lý file văn bản, tạo báo cáo và phát triển ứng dụng web.

Lệnh perl trong Linux được sử dụng cho việc quản trị hệ thống và xử lý văn bản
Lệnh perl trong Linux được sử dụng cho việc quản trị hệ thống và xử lý văn bản

Lệnh perl có nhiệm vụ thông dịch các script Perl. Người dùng có thể chạy các script Perl từ dòng lệnh hoặc từ trong các shell script để tự động hóa các tác vụ quản trị hệ thống và nhiều tác vụ khác. Nhờ vào thư viện hỗ trợ phong phú và khả năng tương thích đa nền tảng, Perl vẫn được sử dụng rộng rãi cho nhiều công việc lập trình khác nhau.

Cú pháp của lệnh perl trong Linux

perl [options] [programfile] [argument]

Trong đó:

  • perl: Gọi trình thông dịch Perl để chạy lệnh.
  • [options]: Các tùy chọn dùng để thay đổi cách thức hoạt động của lệnh perl.
  • [programfile]: Chỉ định file script Perl cần thực thi.
  • [argument]: Đại diện cho các đối số tùy chọn được truyền cho script Perl trong quá trình thực thi.

iconLưu ý

  • Các phần nằm trong ngoặc vuông là không bắt buộc.
  • Để biết thông tin chi tiết về phiên bản hoặc trợ giúp về lệnh perl, bạn hãy chạy các lệnh sau:
perl --version
perl --help

Các tùy chọn của lệnh perl trong Linux

Lệnh perl có một trang hướng dẫn (man page) cung cấp đầy đủ thông tin về lệnh này. Bạn có thể xem bằng cách gõ lệnh sau trong terminal:

man perl

Dưới đây là bảng tóm tắt một số tùy chọn thường dùng của lệnh perl:

Tùy chọnMô tả
-TKích hoạt chế độ taint. Ở chế độ này, mọi dữ liệu đầu vào đều được mặc định là không tin cậy, bất kể nguồn gốc, giúp tăng cường bảo mật.
-tBật cảnh báo về taint. Khi được kích hoạt, perl sẽ đánh dấu dữ liệu là “nhiễm bẩn” nếu dữ liệu đó đến từ một nguồn không tin cậy, chẳng hạn như đầu vào của người dùng hoặc dữ liệu từ môi trường.
-uYêu cầu perl tạo ra một core dump sau khi biên dịch chương trình.
-UCho phép perl thực hiện các hoạt động không an toàn.
-wBật tất cả các cảnh báo trong quá trình chạy script Perl.
-WBật tất cả các cảnh báo bất kể có lệnh no warnings hoặc $^W.
-XTắt tất cả các cảnh báo bất kể có sử dụng use warnings hoặc $^W.
-hHiển thị tóm tắt các tùy chọn dòng lệnh.
-vHiển thị phiên bản và cấp độ vá của file thực thi perl.
-VHiển thị tóm tắt các giá trị cấu hình quan trọng của perl và các giá trị hiện tại của mảng @INC.
-V[:configvar]Xuất ra giá trị của các biến cấu hình được chỉ định, in nhiều giá trị nếu configvar là một biểu thức chính quy.
-Dletters-DnumberChỉ định các flag gỡ lỗi để kiểm soát việc thực thi perl. Ví dụ: -Dtls để theo dõi quá trình thực thi chương trình. (Lưu ý: Chức năng gỡ lỗi phải được biên dịch vào perl để hoạt động.)
-nLặp qua các đối số tên file, tương tự như vòng lặp sed -n hoặc awk.
-pTạo một vòng lặp xung quanh chương trình, cho phép lặp qua các đối số tên file tương tự như lệnh sed.
-FpatternChỉ định mẫu để tách khi -a được kích hoạt, cho phép sử dụng các dấu phân cách như //, “” hoặc ” với dấu nháy đơn nếu không muốn khoảng trắng trong mẫu.
-0[octal/hexadecimal]Xác định ký tự phân tách bản ghi đầu vào ($/) bằng giá trị bát phân hoặc thập lục phân. Nếu không có chữ số, ký tự null được sử dụng làm dấu phân cách. Các tùy chọn khác có thể xuất hiện trước hoặc sau các chữ số.
-aKhi dùng kèm -n hoặc -p, tùy chọn -a sẽ kích hoạt chế độ tự động tách. Lúc này, một lệnh split ngầm định sẽ được thực thi, đưa dữ liệu vào mảng @F trước khi bước vào vòng lặp while (cũng được tạo ngầm định bởi -n hoặc -p).
-d, -dtChạy chương trình Perl thông qua trình gỡ lỗi. Nếu bạn thêm t vào thành -dt sẽ báo cho trình gỡ lỗi biết rằng code sử dụng luồng (threads).
-eCho phép viết code trực tiếp trên dòng lệnh thay. Khi dùng -e, perl sẽ thực thi code được cung cấp mà không tìm kiếm file script. Bạn có thể sử dụng nhiều tùy chọn -e nối tiếp nhau để viết các đoạn code nhiều dòng, nhớ thêm dấu chấm phẩy ở cuối mỗi câu lệnh như trong một chương trình thông thường.
-ETương tự như -e, nhưng -E kích hoạt ngầm tất cả các tính năng tùy chọn.
-m[-]moduleThực thi use module(); trước khi chạy chương trình.
-M[-]’module…Thực thi câu lệnh use module; trước khi chạy chương trình, cho phép thêm code sau tên module trong dấu nháy đơn.
-fVô hiệu hóa việc thực thi $Config{sitelib}/sitecustomize.pl khi khởi động.
-CCho phép chỉ định cách perl xử lý Unicode trong script. Ví dụ: Bạn có thể bật chế độ UTF-8 bằng -CSD, yêu cầu perl sử dụng UTF-8 cho cả luồng input và output.
-sCho phép phân tích cú pháp cơ bản các tùy chọn nằm sau tên chương trình nhưng trước tên file hoặc dấu phân cách –.
-SYêu cầu perl tìm kiếm script bằng biến môi trường PATH.
-x-xdirectoryCho perl biết chương trình nằm trong một văn bản lớn hơn, không liên quan (như trong email), bỏ qua phần văn bản trước dòng bắt đầu bằng #! perl.
-i[extension]Chỉnh sửa file trực tiếp, tùy chọn tạo file sao lưu với phần mở rộng được chỉ định.
-I(directory)Thêm các thư mục được chỉ định bởi -I vào đầu danh sách đường dẫn tìm kiếm module (@INC).
-l[octnum]Tự động xử lý các ký tự kết thúc dòng: loại bỏ ký tự phân tách bản ghi đầu vào khi được sử dụng với -n hoặc -p và gán ký tự phân tách bản ghi đầu ra cho một giá trị bát phân được chỉ định.

Ví dụ 1: Các tùy chọn cho việc viết script an toàn và hiệu quả

Khi viết script Perl, bạn nên sử dụng các tùy chọn sau để đảm bảo tính an toàn và hiệu quả:

  • -c: Kiểm tra cú pháp của script mà không chạy chương trình, giúp bạn phát hiện lỗi cú pháp nhanh chóng. 
Kiểm tra cú pháp của script
Kiểm tra cú pháp của script
  • -w (use warnings): Hiển thị cảnh báo về các vấn đề tiềm ẩn trong code, giúp bạn viết code dễ hiểu, dễ đọc và tránh lỗi. 
Lệnh hiển thị cảnh báo về các vấn đề tiềm ẩn trong code
Lệnh hiển thị cảnh báo về các vấn đề tiềm ẩn trong code
  • -T: Kích hoạt chế độ taint. Chế độ này coi dữ liệu từ bên ngoài (như input của người dùng, biến môi trường) là không an toàn. Bạn phải kiểm tra và xử lý dữ liệu này cẩn thận trước khi sử dụng để tránh các lỗ hổng bảo mật

Ví dụ 2: Chạy script Perl được viết trong file

Cách hiệu quả nhất để chạy script Perl dài từ terminal là viết script trong một file và thực thi file đó.

2.1. Script cơ bản

Để chạy một script Perl cơ bản, trước tiên bạn tạo một file mới, viết script vào file đó và lưu lại. Sau đó, bạn dùng lệnh dùng lệnh cd để di chuyển đến thư mục chứa file hoặc chỉ định đường dẫn đầy đủ đến file, rồi gõ perl <file name> để thực thi. Ví dụ, bạn đã viết script sau trong một file có tên hello.pl để in “Hello, World!” ra màn hình:

use strict;
use warnings;

print "Hello, World!\n";

Bạn hãy chạy lệnh sau:

perl hello.pl
Viết script cho một file
Viết script cho một file

Ngoài ra, bạn cũng có thể chạy script Perl trực tiếp mà không cần lệnh perl. Cách này yêu cầu bạn phải thêm dòng shebang (#!) ở đầu script và cấp quyền thực thi cho file bằng lệnh chmod. Ví dụ: Để chạy hello.pl trực tiếp, bạn thêm dòng #!/usr/bin/perl vào đầu file và lưu lại, rồi cấp quyền thực thi và chạy lệnh sau:

chmod +x hello.pl
./hello.pl
"Hello, World!" được hiển thị
“Hello, World!” được hiển thị

iconLưu ý

Luôn thêm dòng shebang #! vào đầu script Perl là cách thực hành tốt nhất, bất kể bạn dùng lệnh perl hay chạy trực tiếp.

2.2. Script với vòng lặp

Vòng lặp trong ngôn ngữ lập trình cho phép thực hiện lặp lại một đoạn code trên một tập hợp các giá trị hoặc mục. Đây là thành phần quan trọng để tự động hóa và xử lý dữ liệu hiệu quả trong lập trình. Script Perl dưới đây in các số từ 1 đến 10, mỗi số trên một dòng mới:

#!/usr/bin/perl

use strict;
use warnings;

# Loop from 1 to 10
for my $i (1..10) {
    print "$i\n";
}

Giải thích: Script Perl này khai báo vị trí trình thông dịch và sử dụng strict cùng warnings để viết code tốt hơn. Vòng lặp for chạy từ 1 đến 10. Mỗi lần lặp, script in giá trị của biến $i kèm theo xuống dòng, tạo ra kết quả là các số từ 1 đến 10, mỗi số trên một dòng.

Bạn chạy lệnh sau để thực thi script:

perl loop.pl
Chạy lệnh thực thi
Chạy lệnh thực thi

Ví dụ 3: Chạy lệnh perl trên một dòng

Đối với các script ngắn, bạn có thể sử dụng tùy chọn -e để viết và chạy code Perl trực tiếp trên dòng lệnh.

3.1. Chương trình trên dòng lệnh

Các tùy chọn dòng lệnh của Perl mang lại sự linh hoạt trong việc xử lý input, output và điều khiển quá trình thực thi, khiến Perl phù hợp với nhiều tác vụ script. Ví dụ, bạn chạy lệnh sau:

perl -e 'print “This is my first perl command line.\n”'

Kết quả: Lệnh này in ra dòng chữ “This is my first perl command line.” và nội dung trong dấu ngoặc kép sau lệnh print có thể được thay đổi tùy ý.

Dòng chữ "This is my first perl command line." được hiển thị
Dòng chữ “This is my first perl command line.” được hiển thị

3.2. Hiển thị các dòng script từ file trên terminal

Để hiển thị tất cả các dòng của một script trong file kèm số dòng trên terminal, bạn hãy chạy lệnh sau:

perl -n -e 'print "$. - $_"' hello.pl

Kết quả: Lệnh này sẽ hiển thị tất cả các dòng từ file hello.pl kèm theo số thứ tự dòng. Ký tự $. đại diện cho số dòng hiện tại và $_ đại diện cho nội dung của dòng đó.

Các dòng từ file hello.pl được hiển thị
Các dòng từ file hello.pl được hiển thị

3.3. Dấu phân cách bản ghi

Dấu phân cách bản ghi là các ký tự hoặc mẫu dùng để phân biệt các bản ghi hoặc đơn vị dữ liệu riêng lẻ trong một file hoặc luồng. Để phân tách các bản ghi của file fruits.pl bằng dấu phẩy (,), bạn hãy chạy lệnh sau:

perl -F, -pe 's/$/,/' fruits.pl

Kết quả: Lệnh này sẽ hiển thị nội dung của file fruits.pl với mỗi bản ghi được phân tách bằng dấu phẩy. Để sử dụng dấu phân cách khác, bạn chỉ cần thay thế dấu phẩy giữa 2 dấu gạch chéo.

Hiển thị nội dung của file fruits.pl
Hiển thị nội dung của file fruits.pl

iconLưu ý

Lệnh này chỉ hiển thị bản ghi của file được phân tách bởi dấu phân cách tùy chỉnh trên terminal mà không thay đổi nội dung gốc của file.

3.4. Chỉnh sửa trực tiếp

Bạn có thể chỉnh sửa file trực tiếp bằng lệnh perl mà không cần tạo file tạm thời hay thao tác thủ công. Ví dụ, để thay thế tất cả các từ orange trong file orange.pl thành apple mà không cần mở file, bạn chạy lệnh sau:

perl -i -pe 's/orange/apple/g' orange.pl

Kết quả: Trong hình bên dưới, bạn sẽ thấy từ orange được thay thế thành apple trong file orange.pl. Tùy chọn -i cho phép chỉnh sửa trực tiếp file và bạn có thể dùng lệnh cat orange.pl để kiểm tra nội dung file sau khi thay đổi.

Từ orange được thay thế thành apple
Từ orange được thay thế thành apple

Việc chỉnh sửa và thực thi script Perl trực tiếp từ terminal yêu cầu một hệ thống mạnh mẽ, ổn định và tốc độ xử lý cao. Nếu bạn đang tìm kiếm giải pháp tối ưu cho việc chạy script hoặc xử lý dữ liệu phức tạp, hãy cân nhắc thuê VPS tại Vietnix. Với dịch vụ VPS AMD được trang bị bộ xử lý AMD EPYC mạnh mẽ cùng ổ cứng NVMe Enterprise, dịch vụ này đảm bảo tốc độ truy cập siêu nhanh và khả năng xử lý vượt trội, phù hợp cho các tác vụ yêu cầu hiệu năng cao như chạy script Perl.

Ví dụ 4: Thực thi script Perl trực tiếp từ Terminal

Bạn có thể viết và chạy script Perl trực tiếp trên terminal, thay vì phải lưu vào file rồi mới chạy. Điều này tiện lợi khi bạn không muốn tạo quá nhiều file và muốn thực hiện nhanh một đoạn script ngắn. Tuy nhiên, nếu cần dùng lại script nhiều lần, bạn nên lưu vào file để tái sử dụng.

Để viết script trực tiếp trên terminal, bạn gõ perl rồi nhấn Enter. Sau đó, bạn viết code Perl như bình thường.

#!/usr/bin/perl

use strict;
use warnings;

# Loop from 1 to 10
for my $i (1..10) {
    print "$i\n";
}

Kết quả: Sau khi viết xong, bạn nhấn Ctrl + D để chạy script và hiển thị kết quả. Cuối cùng, đoạn script trên là các số từ 1 đến 10, mỗi số trên một dòng.

Đoạn script chạy các số từ 1 đến 10
Đoạn script chạy các số từ 1 đến 10

Vietnix – Cung cấp giải pháp VPS tối ưu cho các doanh nghiệp

Vietnix là nhà cung cấp dịch vụ VPS uy tín tại Việt Nam, nổi bật với các giải pháp VPS chất lượng và hiệu suất vượt trội. Với hơn 12 năm kinh nghiệm trong ngành, Vietnix đã khẳng định được vị thế vững chắc, phục vụ hàng nghìn khách hàng từ các doanh nghiệp vừa và nhỏ đến các tập đoàn lớn. Các VPS tại Vietnix được trang bị cấu hình mạnh mẽ với CPU hiện đại, băng thông lớn, và ổ cứng NVMe siêu tốc, giúp giảm thiểu độ trễ và nâng cao tốc độ truy xuất dữ liệu. Bên cạnh đó, dịch vụ VPS của Vietnix cam kết uptime tối đa 99.9%, giúp duy trì hoạt động liên tục cho website và ứng dụng mà không gặp phải gián đoạn.

Thông tin liên hệ:

  • Hotline: 18001093
  • Email: sales@vietnix.com.vn 
  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
  • Website: https://vietnix.vn/ 

Trên đây là những kiến thức cơ bản và một số ví dụ về cách sử dụng lệnh perl trong Linux. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về cách thức hoạt động của Perl trong việc xử lý văn bản và tự động hóa các tác vụ. Nếu gặp bất kỳ khó khăn nào, bạn đừng ngần ngại đặt câu hỏi trong phần bình luận bên dưới.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

PHẦN CỨNG MẠNH MẼ

HỖ TRỢ 24/7

ĐĂNG KÝ NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG