Tin tức và phân tích của tất cả các thiết bị di động

Cách sử dụng pushd và popd trên linux

Nhiều người sử dụng Linux chưa bao giờ nghe nói về pushd và popd, nhưng chúng đã tồn tại mãi mãi. Họ cũng có thể tăng tốc đáng kể quá trình điều hướng các thư mục trên dòng lệnh. Chúng tôi sẽ chỉ cho bạn cách sử dụng chúng.

Pushd và popd là gì?

Một trong những đổi mới mà Bill Joy đã kết hợp trong C Shell năm 1978 của mình là khái niệm về ngăn xếp thư mục và các cách để thao tác với nó: pushd và popd. Bắt chước là hình thức tâng bốc chân thành nhất, đó là lý do tại sao ngăn xếp thư mục, pushd và popd sớm được tích hợp vào các shell khác (chẳng hạn như Bash) và thậm chí cả các hệ điều hành khác.

Khái niệm ngăn xếp rất đơn giản. Các mục được xếp chồng lên nhau cùng một lúc, trong đó mục được thêm gần đây nhất luôn chiếm vị trí trên cùng. Khi các phần tử được lấy ra khỏi ngăn xếp, chúng sẽ được lấy ra tuần tự từ trên xuống dưới. Các ngăn xếp loại này thường được gọi là hàng đợi Vào sau, Xuất trước (LIFO).

Pushd và popd thực sự linh hoạt hơn thế một chút, nhưng hiện tại đây là một mô hình tốt cần lưu ý.

Vì chúng ta đang nói về một chồng thư mục nên có lẽ không có gì ngạc nhiên khi chữ “d” trong pushd và popd là viết tắt của “thư mục”. Các lệnh này cho phép các thư mục được đẩy vào hoặc ra khỏi ngăn xếp thư mục.

Nhưng điều này mang lại cho chúng ta những lợi ích gì?

Làm thế nào pushd lấp đầy ngăn xếp

Ba điều sau xảy ra khi sử dụng pushd:

Bạn thay đổi thư mục giống như khi bạn đang sử dụng cd.
Tên thư mục và đường dẫn sẽ được thêm vào ngăn xếp.
Ngăn xếp được hiển thị dưới dạng danh sách thư mục được phân tách bằng dấu cách.

Trong các ví dụ bên dưới, hãy lưu ý cách ngăn xếp thư mục phát triển với mỗi lệnh pushd mới. Cũng lưu ý rằng phần trên cùng của ngăn xếp nằm bên trái – đây là nơi xuất hiện các mục nhập mới.

Sau lệnh pushd đầu tiên, có hai mục trong ngăn xếp: thư mục bạn để lại và thư mục được chuyển đến.

Trong ví dụ của chúng tôi, chúng tôi nhập:

pushd ~/Desktop
pushd ~/Music
pushd ~/Documents
pushd ~/Pictures
pushd ~

Lệnh pushd cuối cùng đưa chúng ta trở lại thư mục chính, vì vậy các mục đầu tiên và cuối cùng trong ngăn xếp là dấu ngã (~) đại diện cho thư mục chính của chúng ta. Điều này cho thấy rằng mặc dù thư mục đã có trên ngăn xếp nhưng nó sẽ được thêm lại cho các lệnh pushd khác.

Cũng lưu ý rằng mục ngoài cùng bên trái trong ngăn xếp, là mục được thêm gần đây nhất, là thư mục hiện tại của bạn.

Lệnh dirs

Bạn có thể sử dụng lệnh dirs như hình bên dưới để liệt kê ngăn xếp thư mục:

dirs

Tập tin

Nó không ảnh hưởng đến ngăn xếp, nó chỉ hiển thị nó. Một số tùy chọn bạn có thể sử dụng với pushd liên quan đến vị trí thư mục trong ngăn xếp.

Nếu bạn muốn xem vị trí số của từng thư mục, bạn có thể sử dụng tùy chọn -v (dọc) như hình bên dưới:

dir. -v

Tập tin

Nếu bạn muốn xem thư mục chính của mình được đánh vần thay vì dấu ngã (~), hãy thêm tùy chọn -l (định dạng dài), ví dụ:

dirs -v -l

Tập tin

Thêm một thư mục vào ngăn xếp

Như chúng ta đã thấy, khi bạn sử dụng lệnh pushd, nó sẽ thực hiện ba việc: thay đổi thư mục của bạn, thêm một thư mục mới vào ngăn xếp và hiển thị ngăn xếp. Bạn có thể sử dụng tùy chọn -n (không xoay vòng) để thêm thư mục vào ngăn xếp mà không thay đổi thư mục hiện tại.

Đây là ngăn xếp thư mục của chúng tôi:

dirs -v -l

Tập tin

Bây giờ chúng ta sẽ sử dụng lệnh pushd với tùy chọn -ni pas trong thư mục /home/dave làm tham số. Tiếp theo, chúng ta sẽ kiểm tra lại ngăn xếp thư mục.

Chúng tôi nhập:

pushd -n /home/dave
dirs -v -l

Tập tin

Thư mục /home/dave đã được thêm vào ngăn xếp vị trí 1, là vị trí thứ hai trong ngăn xếp. Nó không thể chiếm vị trí trên cùng vì vị trí số 0 luôn là thư mục hiện hành.

Chúng tôi đã không rời khỏi thư mục ~/Videos hiện tại, vì vậy thư mục này không bị chuyển sang vị trí khác trong ngăn xếp.

Thay đổi thư mục bằng cách xoay ngăn xếp

Bạn có thể sử dụng các tham số số với pushd để đi tới bất kỳ thư mục nào trên ngăn xếp và ngăn xếp sẽ quay khi bạn làm như vậy. Thư mục bạn đã chọn để di chuyển sau đó trở thành mục nhập đầu tiên trong ngăn xếp.

Bạn tham khảo các thư mục trong ngăn xếp theo số vị trí của chúng. Bạn có thể đếm từ đầu hoặc cuối ngăn xếp. Đối với các số dương như +3, đếm từ trên xuống; cho các số âm như -2đếm từ dưới lên.

Thư mục /home/dave/Documents nằm ở vị trí thứ ba. Để di chuyển thư mục này, chúng ta có thể sử dụng lệnh sau:

pushd +3

Tập tin

Các thư mục trong ngăn xếp phía trên thư mục chúng ta chọn được di chuyển xuống dưới cùng của ngăn xếp. Thư mục đã chọn của chúng tôi hiện ở vị trí trên cùng và chúng tôi được đưa đến thư mục đó.

Nếu chúng ta muốn đi đến thư mục ở dưới cùng của ngăn xếp, chúng ta có thể sử dụng lệnh sau:

pushd -0

Tập tin

Thư mục cuối cùng được chuyển đến vị trí đầu tiên và tất cả các thư mục khác được chuyển xuống ngăn xếp. Chúng tôi đã chuyển đến thư mục ~/Pictures.

lệnh popd

Bạn có thể sử dụng lệnh popd để xóa các thư mục khỏi ngăn xếp.

Nếu nhìn vào ngăn xếp thư mục, chúng ta sẽ thấy thư mục đó ở vị trí 1 đến / nhà / dave. Để xóa số này khỏi ngăn xếp, chúng tôi nhập số sau để chuyển số tới popd:

dirs -v -l
popd +1

Tập tin

Thư mục /home/dave đã bị xóa và những cái bên dưới nó trong ngăn xếp đã được chuyển lên một vị trí.

Như với pushd, chúng ta có thể đếm từ dưới cùng của ngăn xếp bằng popd. Để xóa thư mục cuối cùng khỏi ngăn xếp, hãy nhập:

popd -0

Tập tin

Thư mục ~/Music bị xóa khỏi vị trí cuối cùng trong ngăn xếp.

Để thay đổi thư mục, hãy làm gì đó rồi quay lại thư mục trước đó, bạn có thể sử dụng cả pushd và popd.

Chúng tôi sẽ sử dụng pushd để di chuyển đến thư mục khác. Chúng tôi sẽ sử dụng popd để loại thư mục trên cùng ra khỏi ngăn xếp và chuyển sang thư mục thứ hai. Đây là thư mục bạn vừa chuyển ra khỏi, vì vậy bạn sẽ quay lại thư mục ban đầu.

Chúng tôi nhập:

pushd ~
popd

Tập tin

Chúng tôi đã bắt đầu từ thư mục ~/Projects, được đẩy vào thư mục chính, sau đó quay lại thư mục ~/Projects.

Xoay toàn bộ ngăn xếp

Chúng tôi sẽ minh họa cách xoay ngăn xếp với một số thư mục lồng nhau, nhưng bạn có thể sử dụng bất kỳ thư mục nào ở bất kỳ đâu trong hệ thống tệp.

Mức độ làm tổ sâu nhất của chúng tôi là:

/home/dave/Projects/htg/articles

Từ thư mục chính, chúng tôi sẽ dần dần đi qua từng thư mục cho đến khi chúng tôi đến thư mục bài viết. Tiếp theo, chúng ta sẽ xem xét ngăn xếp thư mục.

Chúng tôi nhập:

pushd ~/Projects
pushd htg
pushd articles
dirs -v -l

Tập tin

Khi bạn liên tục ra lệnh pushd +1, bạn có thể xem đi xem lại ngăn xếp thư mục nhiều lần. Nếu bạn làm điều này thường xuyên, hãy đẩy +1 sẽ là một ứng cử viên tốt cho một bí danh.

Nhập các thông tin sau:

pushd +1

Tập tin

Dập nổi tại ngăn xếp

Thật dễ dàng để quay lại thói quen cũ và thay đổi thư mục bằng cd. Nếu bạn làm như vậy, bạn sẽ bước vào thư mục đầu tiên trong ngăn xếp. Điều này là không thể tránh khỏi vì vị trí đầu tiên được dành riêng cho thư mục làm việc hiện tại – không có vị trí nào khác thay đổi vị trí.

Để làm điều này, hãy nhập:

dirs -v -l
cd ~/Music
dirs -v -l

Tập tin

Khi bạn đã quen với các lệnh pushd và popd (và có thể sử dụng chúng để tạo một số bí danh), bạn sẽ có một cách siêu nhanh để chuyển giữa các thư mục.

Đây là lý do tại sao chúng tôi treo xung quanh dòng lệnh. Hiệu quả là vua, phải không?