Android

Lệnh Pushd và popd trong linux

The Straight Poop About pushd And popd

The Straight Poop About pushd And popd

Mục lục:

Anonim

pushd popd là các lệnh cho phép bạn làm việc với ngăn xếp thư mục và thay đổi thư mục làm việc hiện tại trong Linux và các hệ điều hành giống Unix khác. Mặc dù pushd popd là các lệnh rất mạnh mẽ và hữu ích, nhưng chúng bị đánh giá thấp và hiếm khi được sử dụng.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng các pushd popd để điều hướng cây thư mục hệ thống của bạn.

Thư mục ngăn xếp

Ngăn xếp thư mục là một danh sách các thư mục bạn đã điều hướng trước đó. Nội dung của ngăn xếp thư mục có thể được nhìn thấy bằng cách sử dụng lệnh dirs . Các thư mục được thêm vào ngăn xếp khi thay đổi thư mục bằng pushd và được loại bỏ bằng lệnh popd .

Thư mục làm việc hiện tại luôn ở trên cùng của ngăn xếp thư mục. Thư mục làm việc hiện tại là thư mục (thư mục) mà người dùng hiện đang làm việc. Mỗi lần bạn tương tác với dòng lệnh, bạn đang làm việc trong một thư mục.

Lệnh pwd cho phép bạn tìm ra thư mục nào bạn đang ở.

Khi điều hướng qua hệ thống tệp, sử dụng phím Tab để tự động hoàn thành tên của các thư mục. Thêm một dấu gạch chéo ở cuối tên thư mục là tùy chọn.

pushd , popd dirs là các nội dung shell và hành vi của nó có thể hơi khác nhau từ shell sang shell. Chúng tôi sẽ trình bày phiên bản dựng sẵn của Bash của các lệnh.

lệnh đẩy

Cú pháp của pushd như sau:

pushd

Ví dụ: để lưu thư mục hiện tại vào đầu ngăn xếp thư mục và thay đổi thành /var/www bạn sẽ gõ:

~$ pushd /var/www

Khi thành công, lệnh trên sẽ in ngăn xếp thư mục. ~ là thư mục mà chúng tôi đã thực hiện pushd . Biểu tượng dấu ngã ~ có nghĩa là thư mục nhà.

/var/www ~

pushd trước tiên lưu thư mục làm việc hiện tại vào đầu ngăn xếp và sau đó điều hướng đến thư mục đã cho. Vì thư mục hiện tại phải luôn ở trên cùng của ngăn xếp, nên một khi đã thay đổi, thư mục hiện tại mới sẽ đi đến đỉnh của ngăn xếp nhưng nó không được lưu trong ngăn xếp. Để lưu nó, bạn phải gọi pushd từ nó. Nếu bạn sử dụng cd để thay đổi sang thư mục khác, mục trên cùng của ngăn xếp sẽ bị mất,

Hãy thêm một thư mục khác vào ngăn xếp:

/var/www$ pushd /opt

/opt /var/www ~

Để chặn thay đổi mặc định đối với thư mục, hãy sử dụng tùy chọn -n . Ví dụ: để thêm thư mục /usr/local vào ngăn xếp nhưng không thay đổi vào nó, bạn sẽ gõ:

/opt$ pushd -n /usr/local

Vì thư mục hiện tại (luôn nằm ở trên cùng) không bị thay đổi, thư mục /usr/local được thêm thứ hai từ đầu ngăn xếp:

/opt /usr/local /var/www ~

pushd chấp nhận hai tùy chọn, +N -N cho phép bạn điều hướng đến thư mục Nth của ngăn xếp. Tùy chọn +N thay đổi thành phần tử Nth của danh sách ngăn xếp đếm từ trái sang phải bắt đầu bằng 0. Khi -N được sử dụng, hướng của số đếm là từ phải sang trái.

Để minh họa rõ hơn các tùy chọn, hãy in ngăn xếp thư mục hiện tại:

/opt$ dirs -l -v

Đầu ra sẽ hiển thị một danh sách được lập chỉ mục của ngăn xếp thư mục:

0 /opt 1 /usr/local 2 /var/www 3 /home/linuxize

Khi đếm từ trên xuống dưới (hoặc trái sang phải), chỉ mục của thư mục là 2 .

pushd +2

Khi đếm từ dưới lên trên, chỉ mục của thư mục /var/www 1 .

pushd -1.

Khi được sử dụng mà không có bất kỳ đối số nào, pushd sẽ chuyển đổi hai thư mục trên cùng và làm cho thư mục mới hàng đầu hiện tại. Điều này giống như khi sử dụng lệnh cd - .

lệnh popd

popd có dạng:

popd

Khi được sử dụng không có đối số, popd sẽ xóa thư mục trên cùng khỏi ngăn xếp và điều hướng đến thư mục trên cùng mới.

Giả sử chúng ta có ngăn xếp thư mục sau:

/opt /usr/local /var/www /etc/nginx ~

/opt$ popd

Đầu ra sẽ hiển thị ngăn xếp thư mục mới:

/usr/local /var/www /etc/nginx ~

Tùy chọn -n ngăn chặn thay đổi thư mục mặc định và xóa mục thứ hai khỏi ngăn xếp:

/opt$ popd -n

/usr/local /etc/nginx ~

Tương tự như pushd , popd cũng chấp nhận các tùy chọn +N -N có thể được sử dụng để xóa thư mục Nth của ngăn xếp.

/opt$ popd +1

/usr/local ~

Phần kết luận

Thông thường, bạn sẽ sử dụng lệnh cd để di chuyển từ thư mục này sang thư mục khác. Tuy nhiên, nếu bạn dành nhiều thời gian cho dòng lệnh, các pushd popd sẽ tăng năng suất và hiệu quả của bạn.

thiết bị đầu cuối bash