Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình Bash

Làm chủ Linux:Giải thích cách sử dụng thực tế của lệnh cat và tac

Bài viết này là một phần trong loạt bài Mẹo và thủ thuật Linux của chúng tôi, trong bài viết này chúng tôi sẽ đề cập đến một số cách sử dụng cơ bản của cat lệnh (lệnh được sử dụng thường xuyên nhất trong Linux) và tac (đảo ngược lệnh cat – in file theo thứ tự ngược lại) kèm theo một số ví dụ thực tế.

Đọc thêm:13 ví dụ về lệnh ‘cat’ hữu ích trong Linux

Cách sử dụng cơ bản lệnh Cat trong Linux

Mèo lệnh, từ viết tắt của Nối , là một trong những lệnh được sử dụng nhiều nhất trong hệ thống *nix. Cách sử dụng cơ bản nhất của lệnh là đọc tệp và hiển thị chúng dưới dạng stdout , nghĩa là hiển thị nội dung của tệp trên thiết bị đầu cuối của bạn.

# cat file.txt
Làm chủ Linux:Giải thích cách sử dụng thực tế của lệnh cat và tac Xem nội dung tệp trong Linux

Một cách sử dụng khác của mèo lệnh là đọc hoặc kết hợp nhiều tệp lại với nhau và gửi đầu ra tới màn hình như minh họa trong các ví dụ bên dưới.

# cat file1.txt file2.txt file3.txt
Làm chủ Linux:Giải thích cách sử dụng thực tế của lệnh cat và tac Xem nội dung của nhiều tệp

Lệnh này cũng có thể được sử dụng để nối (nối) nhiều tệp thành một tệp duy nhất bằng cách sử dụng “>” Toán tử chuyển hướng Linux.

# cat file1.txt file2.txt file3.txt > file-all.txt
Làm chủ Linux:Giải thích cách sử dụng thực tế của lệnh cat và tac Tham gia nhiều tệp trong Linux

Bằng cách sử dụng trình chuyển hướng nối thêm, bạn có thể thêm nội dung của tệp mới vào cuối file-all.txt với cú pháp sau.

# cat file4.txt >> file-all.txt
Làm chủ Linux:Giải thích cách sử dụng thực tế của lệnh cat và tac Nối tệp nội dung vào tệp mới

con mèo lệnh có thể được sử dụng để sao chép nội dung của tập tin sang một tập tin mới. File mới có thể đổi tên tùy ý. Ví dụ:sao chép tệp từ vị trí hiện tại sang /tmp/ thư mục.

# cat file1.txt > /tmp/file1.txt 
Làm chủ Linux:Giải thích cách sử dụng thực tế của lệnh cat và tac Sao chép nội dung của tệp sang tệp mới

Sao chép tệp từ vị trí hiện tại sang /tmp/ thư mục và đổi tên của nó.

# cat file1.txt > /tmp/newfile.cfg
Làm chủ Linux:Giải thích cách sử dụng thực tế của lệnh cat và tac Sao chép tệp vào vị trí /tmp

Ít sử dụng mèo hơn lệnh là tạo một tệp mới với cú pháp bên dưới. Khi chỉnh sửa xong nhấn CTRL+D để lưu và thoát file mới.

# cat > new_file.txt
Làm chủ Linux:Giải thích cách sử dụng thực tế của lệnh cat và tac Tạo tệp mới bằng lệnh Cat

Để đánh số tất cả các dòng đầu ra của một tập tin, kể cả các dòng trống, hãy sử dụng -n chuyển đổi.

# cat -n file-all.txt
Làm chủ Linux:Giải thích cách sử dụng thực tế của lệnh cat và tac Thêm số vào dòng trong tệp

Để chỉ hiển thị số lượng của mỗi dòng không trống, hãy sử dụng -b chuyển đổi.

# cat -b file-all.txt
Làm chủ Linux:Giải thích cách sử dụng thực tế của lệnh cat và tac In số dòng trong tệp

Bạn muốn tìm hiểu thêm về lệnh mèo Linux? thì hãy đọc bài viết của chúng tôi về 13 ví dụ về lệnh 'mèo' hữu ích trong Linux.

Tìm hiểu cách sử dụng lệnh Tac trong Linux

Mặt khác, một lệnh ít được biết đến và ít được sử dụng hơn trong hệ thống *nix là tac lệnh. Tác thực tế là phiên bản ngược của cat lệnh (cũng được đánh vần ngược) để in từng dòng của tệp bắt đầu từ dòng dưới cùng và kết thúc ở dòng trên cùng ra đầu ra tiêu chuẩn máy của bạn.

# tac file-all.txt
Làm chủ Linux:Giải thích cách sử dụng thực tế của lệnh cat và tac In tệp nội dung theo thứ tự ngược lại

Một trong những tùy chọn quan trọng nhất của lệnh được biểu thị bằng -s switch, dùng để phân tách nội dung của tệp dựa trên một chuỗi hoặc từ khóa khỏi tệp.

# tac file-all.txt --separator "two"
Làm chủ Linux:Giải thích cách sử dụng thực tế của lệnh cat và tac Xóa chuỗi trùng khớp trong tệp

Tiếp theo, cách sử dụng tac quan trọng nhất lệnh là, nó có thể trợ giúp rất nhiều trong việc gỡ lỗi các tệp nhật ký, đảo ngược thứ tự thời gian của nội dung nhật ký.

$ tac /var/log/auth.log
Or to display the last lines
$ tail /var/log/auth.log | tac
Đầu ra mẫu
tecmint@tecmint ~ $ tac /var/log/auth.log
pr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
....
tecmint@tecmint ~ $ tail /var/log/auth.log | tac
Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 15:55:02 tecmint CRON[17194]: pam_unix(cron:session): session closed for user root
Apr 6 15:55:01 tecmint CRON[17195]: pam_unix(cron:session): session closed for user root
...

Tương tự như cat lệnh, tac thực hiện công việc xuất sắc trong việc thao tác với tệp văn bản, nhưng nên tránh thực hiện thao tác này trong các loại tệp khác, đặc biệt là tệp nhị phân hoặc trên các tệp có dòng đầu tiên biểu thị chương trình sẽ chạy nó.