Unix / Linux - Quản lý thư mục
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 lệnh sau:
$cd ~
$
Đây ~cho biết 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 hệ thống phân cấp 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
Sau đây là ví dụ để liệt kê tất cả các tệp có trong /usr/local thư mục -
$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 thư mục mydirtrong 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 bên trong /tmpdanh mục. Cácmkdir lệnh không tạo ra đầu ra 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 hơn một thư mục trên dòng lệnh, mkdirtạo từng thư mục. Ví dụ, -
$mkdir docs pub
$
Tạo tài liệu thư mục và xuất bản trong thư mục hiện tại.
Tạo thư mục chính
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 một 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 -p tùy chọn cho mkdirchỉ huy. 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
Thư mục có thể bị xóa bằng cách sử dụng rmdir lệnh như sau:
$rmdir dirname
$
Note - Để xóa một thư mục, hãy đảm bảo rằng nó 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. Cácrmdir lệnh không tạo ra đầu ra nếu nó thành công.
Thay đổi thư mục
Bạn có thể dùng cdlệnh để làm nhiều việc hơn là chỉ thay đổi thành 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ư sau:
$cd dirname
$
Đây, dirnamelà 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 vào thư mục /usr/home/amrood sử dụng đường dẫn tương đối sau:
$cd ../../home/amrood
$
Đổi tên thư mục
Các mv (move)lệnh 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 một thư mục mydir đến yourdir như sau -
$mv mydir yourdir
$
Các thư mục. (chấm) và .. (chấm chấm)
Các filename .(dấu chấm) đại diện cho thư mục làm việc hiện tại; vàfilename .. (dấu chấm) đại diện cho thư mục cao hơn một cấp so với thư mục đang 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 -a option liệt kê tất cả các tệp và -l option để cung cấp danh sách dài, chúng tôi 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
$