Trong chương này, chúng ta sẽ thảo luận chi tiết về quản lý thư mục trong Unix.
Thư mục là một tệp, công việc đơn lẻ của nó là lưu trữ tên tệp và thông tin liên quan. Tất cả các tệp, dù là thông thường, đặc biệt hay thư mục, đều được chứa trong các thư mục.
Unix sử dụng cấu trúc phân cấp để tổ chức các tệp và thư mục. Cấu trúc này thường được gọi là cây thư mục. Cây có một nút gốc duy nhất, ký tự gạch chéo ( / ) và tất cả các thư mục khác được chứa bên dưới nó.
Thư mục Trang chủ
Thư mục mà bạn tự tìm thấy khi đăng nhập lần đầu được gọi là thư mục chính của bạn.
Bạn sẽ thực hiện nhiều công việc của mình trong thư mục chính và các thư mục con mà bạn sẽ tạo để sắp xếp các tệp của mình. Bạn có thể truy cập vào thư mục chính của mình bất cứ lúc nào bằng cách sử dụng lệnh sau:
$cd ~
$
Ở đây ~ chỉ ra thư mục chính. Giả sử bạn phải truy cập vào thư mục chính của bất kỳ người dùng nào khác, hãy sử dụng lệnh sau:
$cd ~username
$
Để chuyển đến thư mục cuối cùng của bạn, bạn có thể sử dụng lệnh sau:
$cd -
$
Tên đường dẫn tuyệt đối / tương đối
Các thư mục được sắp xếp theo thứ bậc với root (/) ở trên cùng. Vị trí của bất kỳ tệp nào trong hệ thống phân cấp được mô tả bằng tên đường dẫn của nó.
Các phần tử của tên đường dẫn được phân tách bằng dấu /. Tên đường dẫn là tuyệt đối, nếu nó được mô tả liên quan đến gốc, do đó tên đường dẫn tuyệt đối luôn bắt đầu bằng a /. Sau đây là một số ví dụ về tên tệp tuyệt đối.
/etc/passwd
/users/sjones/chem/notes
/dev/rdsk/Os3
Tên đường dẫn cũng có thể liên quan đến thư mục làm việc hiện tại của bạn. Tên đường dẫn tương đối không bao giờ bắt đầu bằng /. Liên quan đến thư mục chính của người dùng amrood, một số tên đường dẫn có thể trông như thế này –
chem/notes
personal/res
Để xác định vị trí của bạn trong phân cấp hệ thống tệp bất kỳ lúc nào, hãy nhập lệnh pwd để in thư mục làm việc hiện tại
$pwd
/user0/home/amrood
$
Danh sách thư mục
Để liệt kê các tệp trong một thư mục, bạn có thể sử dụng cú pháp sau:
$ls dirname
Dưới đây là ví dụ để liệt kê tất cả các tệp có trong thư mục / usr / local
$ls /usr/local
X11 bin gimp jikes sbin
ace doc include lib share
atalk etc info man ami
Tạo thư mục
Bây giờ chúng ta sẽ hiểu cách tạo thư mục. Các thư mục được tạo bằng lệnh sau:
$mkdir dirname
Ở đây, thư mục là tên đường dẫn tuyệt đối hoặc tương đối của thư mục bạn muốn tạo. Ví dụ, lệnh
$mkdir mydir
$
Tạo mydir thư mục trong thư mục hiện tại. Đây là một ví dụ khác
$mkdir /tmp/test-dir
$
Lệnh này tạo thư mục test-dir trong thư mục / tmp . Lệnh mkdir không tạo ra kết quả nào nếu nó tạo thành công thư mục được yêu cầu. Nếu bạn cung cấp nhiều thư mục trên dòng lệnh, mkdir sẽ tạo từng thư mục. Ví dụ,
$mkdir docs pub
$
Tạo các tài liệu thư mục và pub trong thư mục hiện tại.
Tạo thư mục mẹ
Bây giờ chúng ta sẽ hiểu cách tạo thư mục mẹ. Đôi khi khi bạn muốn tạo một thư mục, thư mục mẹ hoặc các thư mục của nó có thể không tồn tại. Trong trường hợp này, mkdir đưa ra thông báo lỗi như sau:
$mkdir /tmp/amrood/test
mkdir: Failed to make directory "/tmp/amrood/test";
No such file or directory
$
Trong những trường hợp như vậy, bạn có thể chỉ định tùy chọn -p cho lệnh mkdir . Nó tạo ra tất cả các thư mục cần thiết cho bạn. Ví dụ
$mkdir -p /tmp/amrood/test
$
Lệnh trên tạo tất cả các thư mục mẹ được yêu cầu.
Xóa thư mục
Có thể xóa các thư mục bằng lệnh rmdir như sau:
$rmdir dirname
$
Lưu ý – Để xóa một thư mục, hãy đảm bảo rằng thư mục đó trống, nghĩa là không được có bất kỳ tệp hoặc thư mục con nào bên trong thư mục này.
Bạn có thể xóa nhiều thư mục cùng một lúc như sau:
$rmdir dirname1 dirname2 dirname3
$
Lệnh trên loại bỏ các thư mục dirname1, dirname2 và dirname3, nếu chúng trống. Lệnh rmdir không tạo ra đầu ra nếu nó thành công.
Thay đổi thư mục
Bạn có thể sử dụng lệnh cd để làm nhiều việc hơn là chỉ thay đổi thư mục chính. Bạn có thể sử dụng nó để thay đổi thành bất kỳ thư mục nào bằng cách chỉ định một đường dẫn tuyệt đối hoặc tương đối hợp lệ. Cú pháp như dưới đây:
$cd dirname
$
Ở đây, dirname là tên của thư mục mà bạn muốn thay đổi. Ví dụ, lệnh –
$cd /usr/local/bin
$
Các thay đổi đối với thư mục / usr / local / bin . Từ thư mục này, bạn có thể cd đến thư mục / usr / home / amrood bằng đường dẫn tương đối sau:
$cd ../../home/amrood
$
Đổi tên thư mục
Lệnh mv (move) cũng có thể được sử dụng để đổi tên một thư mục. Cú pháp như sau:
$mv olddir newdir
$
Bạn có thể đổi tên thư mục mydir thành yourdir như sau:
$mv mydir yourdir
$
Các thư mục. (chấm) và .. (chấm chấm)
Tên tệp. (dấu chấm) đại diện cho thư mục làm việc hiện tại; và tên tệp .. (dấu chấm) đại diện cho thư mục cao hơn một cấp so với thư mục làm việc hiện tại, thường được gọi là thư mục mẹ. Nếu chúng ta nhập lệnh để hiển thị danh sách các thư mục / tệp đang hoạt động hiện tại và sử dụng tùy chọn -a để liệt kê tất cả các tệp và tùy chọn -l để cung cấp danh sách dài, chúng ta sẽ nhận được kết quả sau.
$ls -la
drwxrwxr-x 4 teacher class 2048 Jul 16 17.56 .
drwxr-xr-x 60 root 1536 Jul 13 14:18 ..
---------- 1 teacher class 4210 May 1 08:27 .profile
-rwxr-xr-x 1 teacher class 1948 May 12 13:42 memo
$