unix

Trong chương này, chúng ta sẽ thảo luận chi tiết về các đường ống và bộ lọc trong Unix. Bạn có thể kết nối hai lệnh với nhau để đầu ra từ một chương trình trở thành đầu vào của chương trình tiếp theo. Hai hoặc nhiều lệnh được kết nối theo cách này tạo thành một đường ống.

Để tạo một đường ống, hãy đặt một thanh dọc ( | ) trên dòng lệnh giữa hai lệnh.

Khi một chương trình lấy đầu vào từ chương trình khác, nó sẽ thực hiện một số thao tác trên đầu vào đó và ghi kết quả vào đầu ra chuẩn. Nó được coi là một bộ lọc .

Lnh grep

Lệnh grep tìm kiếm một tệp hoặc các tệp cho các dòng có một mẫu nhất định. Cú pháp là –

$grep pattern file(s)

Tên “grep” xuất phát từ lệnh ed (một trình soạn thảo dòng Unix) g / re / p có nghĩa là “tìm kiếm toàn cục cho một biểu thức chính quy và in tất cả các dòng chứa nó”.

Biểu thức chính quy là một số văn bản thuần túy (một từ chẳng hạn) và / hoặc các ký tự đặc biệt được sử dụng để đối sánh mẫu. Cách sử dụng grep đơn giản nhất là tìm kiếm một mẫu bao gồm một từ duy nhất. Nó có thể được sử dụng trong một đường ống để chỉ những dòng của tệp đầu vào chứa một chuỗi nhất định mới được gửi đến đầu ra chuẩn. Nếu bạn không cung cấp cho grep một tên tệp để đọc, nó sẽ đọc đầu vào chuẩn của nó; đó là cách tất cả các chương trình lọc hoạt động

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">$ls -l | grep "Aug"</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">-rw-rw-rw- 1 john doc 11008 Aug 6 14:10 ch02</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">-rw-rw-rw- 1 john doc 8515 Aug 6 15:30 ch07</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">-rw-rw-r-- 1 john doc 2488 Aug 15 10:51 intro</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">-rw-rw-r-- 1 carol doc 1605 Aug 23 07:35 macros</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">$</pre>
<!-- /wp:preformatted -->

Có nhiều tùy chọn khác nhau mà bạn có thể sử dụng cùng với lệnh grep –

Sr.No.Tùy chọn & Mô tả
1-v In tất cả các dòng không khớp với mẫu.
2-N In dòng phù hợp và số dòng của nó.
3-l Chỉ in tên của các tệp có dòng phù hợp (chữ cái “l”)
4-c Chỉ in số lượng các dòng phù hợp.
5-tôi Đối sánh chữ hoa hoặc chữ thường.

Bây giờ chúng ta hãy sử dụng một biểu thức chính quy yêu cầu grep tìm các dòng có “carol” , theo sau là số 0 hoặc các ký tự khác được viết tắt trong biểu thức chính quy là “. *”), Sau đó là “Aug” .−

Ở đây, chúng tôi đang sử dụng tùy chọn -i để tìm kiếm không phân biệt chữ hoa chữ thường –

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">$ls -l | grep -i "carol.*aug"</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">-rw-rw-r-- 1 carol doc 1605 Aug 23 07:35 macros</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">$</pre>
<!-- /wp:preformatted -->

Lnh sp xếp

Lệnh sắp xếp sắp xếp các dòng văn bản theo thứ tự bảng chữ cái hoặc số. Ví dụ sau đây sắp xếp các dòng trong tệp thực phẩm –

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">$sort food</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">Afghani Cuisine</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">Bangkok Wok</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">Big Apple Deli</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">Isle of Java</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">&nbsp;</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">Mandalay</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">Sushi and Sashimi</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">Sweet Tooth</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">Tio Pepe's Peppers</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">$</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">$sort food</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">Afghani Cuisine</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">Bangkok Wok</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">Big Apple Deli</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">Isle of Java</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">&nbsp;</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">Mandalay</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">Sushi and Sashimi</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">Sweet Tooth</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">Tio Pepe's Peppers</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">$</pre>
<!-- /wp:preformatted -->

Lệnh sắp xếp sắp xếp các dòng văn bản theo thứ tự bảng chữ cái theo mặc định. Có nhiều tùy chọn kiểm soát việc sắp xếp –

Sr.No.Sự mô tả
1-N Sắp xếp theo số (ví dụ: 10 sẽ sắp xếp sau 2), bỏ qua khoảng trống và tab.
2-r Đảo ngược thứ tự sắp xếp.
3-f Sắp xếp chữ hoa và chữ thường với nhau.
4+ x Bỏ qua x trường đầu tiên khi sắp xếp.

Nhiều hơn hai lệnh có thể được liên kết thành một đường ống. Lấy ví dụ về đường ống trước bằng cách sử dụng grep , chúng tôi có thể sắp xếp thêm các tệp được sửa đổi vào tháng 8 theo thứ tự kích thước.

Đường ống sau bao gồm các lệnh ls , grep và sort –

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">$ls -l | grep "Aug" | sort +4n</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">-rw-rw-r-- 1 carol doc 1605 Aug 23 07:35 macros</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">-rw-rw-r-- 1 john doc 2488 Aug 15 10:51 intro</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">-rw-rw-rw- 1 john doc 8515 Aug 6 15:30 ch07</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">-rw-rw-rw- 1 john doc 11008 Aug 6 14:10 ch02</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">$</pre>
<!-- /wp:preformatted -->

Đường dẫn này sắp xếp tất cả các tệp trong thư mục của bạn được sửa đổi vào tháng 8 theo thứ tự kích thước và in chúng trên màn hình đầu cuối. Tùy chọn sắp xếp + 4n bỏ qua bốn trường (các trường được phân tách bằng khoảng trống) sau đó sắp xếp các dòng theo thứ tự số.

Lnh pg và nhiu lnh khác

Một đầu ra dài thường có thể được bạn nén trên màn hình, nhưng nếu bạn chạy văn bản qua nhiều hơn hoặc sử dụng lệnh pg làm bộ lọc; màn hình dừng khi màn hình có đầy đủ văn bản.

Hãy giả sử rằng bạn có một danh sách thư mục dài. Để giúp đọc danh sách đã sắp xếp dễ dàng hơn, hãy chuyển đầu ra qua nhiều hơn như sau:

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">$ls -l | grep "Aug" | sort +4n | more</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">-rw-rw-r-- 1 carol doc 1605 Aug 23 07:35 macros</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">-rw-rw-r-- 1 john doc 2488 Aug 15 10:51 intro</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">-rw-rw-rw- 1 john doc 8515 Aug 6 15:30 ch07</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">-rw-rw-r-- 1 john doc 14827 Aug 9 12:40 ch03</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">.</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">.</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">.</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">-rw-rw-rw- 1 john doc 16867 Aug 6 15:56 ch05</pre>
<!-- /wp:preformatted -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">--More--(74%)</pre>
<!-- /wp:preformatted -->

Màn hình sẽ lấp đầy khi màn hình toàn văn bản bao gồm các dòng được sắp xếp theo thứ tự của kích thước tệp. Ở cuối màn hình là lời nhắc nhiều hơn , nơi bạn có thể nhập lệnh để di chuyển qua văn bản đã được sắp xếp.

Sau khi thực hiện xong với màn hình này, bạn có thể sử dụng bất kỳ lệnh nào được liệt kê trong phần thảo luận của chương trình khác.

Unix / Linux – Quản lý quy trình (xem thêm)

Để lại một bình luận