Khi tôi sử dụng ls -a
để xem các tập tin ẩn trong thư mục, có 2 tập tin ẩn được tạo theo mặc định, tầm quan trọng của hai tập tin này là gì .
và ..
?
ls -a
Sản xuất
. ..
Khi tôi sử dụng ls -a
để xem các tập tin ẩn trong thư mục, có 2 tập tin ẩn được tạo theo mặc định, tầm quan trọng của hai tập tin này là gì .
và ..
?
ls -a
Sản xuất
. ..
Câu trả lời:
.
là thư mục hiện tại.
..
là thư mục phía trên thư mục hiện tại - thư mục chứa thư mục hiện tại.
Đôi khi bạn sẽ thấy dấu chấm đơn đó được sử dụng khi ai đó muốn chạy tập lệnh từ thư mục chính của họ. Ví dụ: ./install-app.sh. Điều đó có nghĩa là tệp "install-app.sh" nằm trong thư mục hiện tại. Sẽ là hợp lệ khi làm /home/username/directory/install-app.sh. Tương tự, bạn cũng có thể làm ../install.app nếu tệp nằm trong thư mục mẹ. Lý do tại sao nó là như vậy, không chỉ để điều hướng, mà còn không thể vô tình ẩn các ứng dụng hệ thống chỉ bằng cách đặt tên sai một tệp trong thư mục chính của bạn.
cd / ; cd ..
: P
::
đã được sử dụng cho thư mục trước. Đường dẫn không có :
trong chúng là thư mục hiện tại. Mặt khác, một đường dẫn đầy đủ (bắt đầu bằng tên đĩa) đã được mong đợi, với các thành phần được phân tách bằng :
. Vd:Macintosh HD:System Folder:Finder
Đó là các liên kết cứng đến thư mục tự (.) Và cha mẹ (..). Chúng được tạo khi bạn gửi một thư mục. Chúng không bao giờ có thể bị xóa (mà không xóa thư mục được chỉ bởi chúng).
Nếu bạn tạo một thư mục:
mkdir /tmp/foo
bạn có thể thấy rằng thực sự có 2 liên kết cứng đến / tmp / foo:
drwxr-xr-x 2 michal michal 4096 2011-08-07 18:40 /tmp/foo
^---- two hardlinks
đầu tiên là từ thư mục / tmp / trỏ đến / tmp / foo và thứ hai là '.' với in / tmp / foo / tự trỏ đến nó.
ls -la
vì nó sẽ cho tôi thấy các quyền và quyền sở hữu trên thư mục tôi đang ở và thư mục phía trên thư mục tôi đang ở.