Làm thế nào để Hiểu Layout hệ thống tập tin trong một VPS Linux

Nếu bạn là người mới đến Linux và các hệ điều hành Unix-like, những cách cơ bản để tương tác với và điều hướng hệ thống điều hành của bạn có thể có vẻ phức tạp và khó hiểu. Một lĩnh vực mà người dùng mới đấu tranh với là làm thế nào để làm cho tinh thần của cách mà các hệ thống tập tin được cấu trúc.

Trong bài viết này, chúng tôi sẽ thảo luận về các phần khác nhau của hệ thống tập tin Linux chuẩn. Chúng tôi sẽ tìm hiểu một số các thư mục thú vị nhất và nơi để tìm cho các thành phần khác nhau trong môi trường máy chủ của bạn.

Để minh chứng, chúng tôi sẽ sử dụng một máy chủ Ubuntu 12.04. Distro Linux khác thực hiện những điều trong những cách hơi khác nhau, vì vậy nếu bạn đang theo cùng và nhận thấy một sự khác biệt với hệ thống của bạn, kiểm tra tài liệu của distro của bạn.
Một vài chú ý tóm tắt về lịch sử của các hệ thống tập tin Linux Layout

Linux được thừa hưởng nhiều của các khái niệm về tổ chức hệ thống tập tin từ những người tiền nhiệm của nó Unix. Như xa trở lại như năm 1979, Unix đã được thiết lập tiêu chuẩn để kiểm soát cách hệ thống tuân thủ sẽ tổ chức các tập tin của họ.

The Linux Filesystem Hierarchy Standard, hoặc đảm bảo VSATTP cho ngắn, là một tiêu chuẩn quy tắc duy trì bởi Quỹ Linux mà thiết lập các tổ chức bố trí rằng các bản phân phối Linux nên giữ cho khả năng tương tác, dễ dàng quản lý và khả năng thực hiện các ứng dụng cross-distro đáng tin cậy.

Một điều quan trọng cần đề cập khi đối phó với các hệ thống này là Linux thực hiện chỉ là về tất cả mọi thứ như là một tập tin. Điều này có nghĩa rằng một tập tin văn bản là một tập tin, một thư mục là một tập tin (chỉ đơn giản là một danh sách các tập tin khác), một máy in được đại diện bởi một tập tin (các trình điều khiển thiết bị có thể gửi bất cứ điều gì được viết vào tập tin máy in đến máy in vật lý), vv .

Mặc dù điều này là trong một số trường hợp một sự đơn giản, nó cho chúng ta biết về cách tiếp cận mà các nhà thiết kế của hệ thống khuyến khích: đi qua văn bản và byte qua lại và có thể áp dụng chiến lược tương tự để chỉnh sửa và truy cập các thành phần khác nhau.

Trong bài viết này, chúng tôi sẽ không thực hiện theo các đặc điểm kỹ thuật chính xác, bởi vì phân phối đi lạc từ các tiêu chuẩn thực tế thường xuyên. Thay vào đó, chúng tôi sẽ kiểm tra một máy chủ Ubuntu 12.04 để tìm ra cấu trúc thư mục thực tế đã được thực hiện. Điều này là rất hữu dụng cho người dùng trung bình.
Simple Navigation

Trước khi thực sự đào sâu vào cách bố trí hệ thống tập tin, bạn cần phải biết một vài điều cơ bản về cách di chuyển một hệ thống tập tin từ dòng lệnh. Chúng tôi sẽ bao gồm tối thiểu ở đây để giúp bạn có được trên đôi chân của bạn.
Định hướng Yourself

Điều đầu tiên bạn cần làm là định hướng cho mình trong hệ thống tập tin. Có một số cách để làm điều này, nhưng một trong những cơ bản nhất là với lệnh pwd, viết tắt của “print working directory”:

pwd

/ Root

Điều này chỉ đơn giản là trả về thư mục đang được đặt tại. Chúng tôi sẽ tìm hiểu làm thế nào để giải thích kết quả trong một chút.
Nhìn Xung Quanh

Để xem những tập tin trong thư mục hiện tại, bạn có thể dùng lệnh ls, viết tắt của “danh sách”:

ls

bin vv lib mnt gốc selinux tmp vmlinuz
nhà bị mất boot + tìm thấy opt chạy srv usr
dev initrd.img phương tiện truyền thông proc sbin sys var

Điều này sẽ cho bạn biết tất cả các thư mục và tập tin trong thư mục hiện tại của bạn.

Các lệnh ls có thể mất một số cờ tùy chọn. Flags sửa đổi hành vi lệnh mặc định cho một trong hai quá trình hoặc hiển thị dữ liệu theo một cách khác nhau.

Ví dụ, nếu chúng ta muốn để dễ dàng phân biệt giữa các tập tin và thư mục bằng cách hiển thị một “/” sau khi mục thư mục, bạn có thể thêm các lá cờ -F:

ls -F

bin / home / media / root / srv / var /
boot / initrd.img @ mnt / run / sys / vmlinuz @
dev / lib / opt / sbin / tmp /
etc / mất + tìm thấy / proc / selinux / usr /

Hai lá cờ phổ biến nhất là có thể xảy ra và -l -a. Lá cờ đầu tiên buộc các lệnh thông tin đầu ra trong dài form-:

ls -l
total 76
drwxr-xr-x  2 root root  4096 Apr 26  2012 bin
drwxr-xr-x  3 root root  4096 Apr 26  2012 boot
drwxr-xr-x 13 root root  3900 Dec  4 18:03 dev
drwxr-xr-x 78 root root  4096 Dec  4 19:29 etc
drwxr-xr-x  3 root root  4096 Dec  4 19:28 home
lrwxrwxrwx  1 root root    33 Apr 26  2012 initrd.img -> /boot/initrd.img-3.2.0-24-virtual
drwxr-xr-x 16 root root  4096 Apr 26  2012 libĐiều này tạo ra với một dòng cho mỗi tập tin hoặc thư mục (tên là trên bên phải). Điều này có rất nhiều thông tin mà chúng ta không quan tâm ngay bây giờ. Một phần chúng ta quan tâm dù là nhân vật đầu tiên, cho chúng ta biết những gì loại của tập tin đó là. Ba loại phổ biến nhất là:

    -: Tập tin thường xuyên
    d: Directory (một tập tin của một định dạng cụ thể liệt kê các file khác)
    l: Một liên kết cứng hoặc mềm (cơ bản là một shortcut đến một tập tin trên hệ thống)

-a Cờ liệt kê tất cả các tập tin, bao gồm cả các tập tin ẩn. Trong Linux, các file được ẩn tự động nếu bắt đầu với một dấu chấm:

ls -a

. .. Bash_logout .bashrc .profile

Trong ví dụ này, tất cả các tập tin ẩn. Hai mục đầu tiên,. và .. rất đặc biệt. Các. Thư mục là một phím tắt có nghĩa là "thư mục hiện tại". Các thư mục .. là một phím tắt có nghĩa là "thư mục cha của thư mục hiện tại". Chúng tôi sẽ tìm hiểu một số cách để sử dụng những chỉ trong một khoảnh khắc.
Di Chuyển Xung Quanh

Bây giờ bạn có thể tìm ra nơi bạn đang ở trong các hệ thống tập tin và xem những gì xung quanh bạn, đó là thời gian để tìm hiểu làm thế nào để di chuyển khắp các hệ thống tập tin.

Để thay đổi sang một thư mục khác nhau, bạn dùng lệnh cd, viết tắt của "thay đổi thư mục":

cd / bin

Bạn có thể thực hiện theo các lệnh với hoặc là một cách tuyệt đối hay một đường dẫn tương đối.

Một đường dẫn tuyệt đối là một đường dẫn tập tin mà xác định vị trí của một thư mục từ ở phía trên của cây thư mục (chúng tôi sẽ giải thích sau). Đường dẫn tuyệt đối bắt đầu với một "/", như bạn thấy ở trên.

Một đường dẫn tương đối là một đường dẫn tập tin đó là tương đối đến thư mục làm việc hiện tại. Điều này có nghĩa rằng thay vì xác định một vị trí từ phía trên cùng của cấu trúc thư mục, nó xác định các vị trí liên quan đến nơi mà bạn đang xem.

Ví dụ, nếu bạn muốn di chuyển đến một thư mục trong các tài liệu thư mục hiện tại, gọi, bạn có thể ra lệnh này:

văn cd

Việc thiếu các "/" từ đầu cho đến sử dụng thư mục hiện tại như là cơ sở cho tìm kiếm con đường.

Đây là nơi mà các thư mục .. có ích. Để di chuyển đến thư mục cha của thư mục hiện tại của bạn, bạn có thể gõ:

cd ..

Tổng quan về hệ thống tập tin Linux Layout

Điều đầu tiên bạn cần phải biết khi xem một hệ thống tập tin Linux là hệ thống tập tin được chứa trong một cây duy nhất, bất kể có bao nhiêu thiết bị được kết hợp.

Điều này có nghĩa là tất cả các thành phần có thể truy cập vào hệ điều hành được đại diện ở đâu đó trong hệ thống tập tin chính. Nếu bạn sử dụng Windows là hệ điều hành chính của bạn, điều này là khác nhau từ những gì bạn đang sử dụng để. Trong Windows, mỗi ổ đĩa hoặc không gian lưu trữ cứng được biểu diễn như là hệ thống tập tin riêng của mình, được dán nhãn với định danh thư (C: được các thư mục cấp cao tiêu chuẩn của hệ thống phân cấp hệ thống tập tin và ổ đĩa bổ sung hoặc không gian lưu trữ được đưa ra khác
nhãn thư).

Trong Linux, mọi tập tin và thiết bị trên hệ thống đặt ở dưới thư mục "root", được biểu thị bằng một khởi đầu "/".

Lưu ý: Điều này là khác nhau từ người sử dụng mặc định hành chính, mà còn được gọi là "root". Nó cũng khác nhau từ thư mục chủ của người dùng mặc định hành chính, mà nằm ở "/ root".

Vì vậy, nếu chúng ta muốn đi đến các thư mục cấp cao nhất của toàn bộ hệ điều hành và xem những gì đang có, chúng ta có thể gõ:

cd /
ls

bin vv lib mnt gốc selinux tmp vmlinuz
nhà bị mất boot + tìm thấy opt chạy srv usr
dev initrd.img phương tiện truyền thông proc sbin sys var

Mỗi tập tin, thiết bị, thư mục, hoặc ứng dụng được đặt trong một thư mục này. Dưới đây, chúng ta có thể nhìn thấy sự khởi đầu của phần còn lại của cấu trúc thư mục. Chúng tôi sẽ đi vào chi tiết hơn dưới đây:
/ Bin

Thư mục này chứa các lệnh và các chương trình cần thiết để đạt được một môi trường làm việc tối thiểu khi khởi động cơ bản. Chúng được lưu giữ riêng biệt từ một số các chương trình khác trên hệ thống để cho phép bạn khởi động hệ thống để bảo trì ngay cả khi các bộ phận khác của hệ thống tập tin có thể bị hỏng hoặc không có.

Nếu bạn tìm kiếm thư mục này, bạn sẽ thấy rằng cả hai ls và pwd cư trú ở đây. Các lệnh cd được thực sự được xây dựng vào vỏ chúng tôi đang sử dụng (bash), đó là trong thư mục này quá.
/ Boot

Thư mục này chứa các tập tin thực tế, hình ảnh, và hạt nhân cần thiết để khởi động hệ thống. Trong khi / bin chứa cơ bản, tiện ích cần thiết, / boot có chứa các thành phần cốt lõi mà thực sự cho phép hệ thống khởi động.

Nếu bạn cần phải sửa đổi các bộ nạp khởi động trên hệ thống của bạn, hoặc nếu bạn muốn xem các tập tin kernel và ramdisk ban đầu (initrd), bạn có thể tìm thấy chúng ở đây. Thư mục này phải được truy cập vào hệ thống từ rất sớm.
/ Dev

Thư mục này chứa các tập tin mà đại diện cho các thiết bị trên hệ thống của bạn. Mỗi thiết bị ổ cứng, thiết bị đầu cuối, đầu vào hoặc đầu ra có sẵn vào hệ thống được biểu diễn bởi một tập tin ở đây. Tùy thuộc vào thiết bị, bạn có thể hoạt động trên các thiết bị theo những cách khác nhau.

Ví dụ, đối với một thiết bị đại diện cho một ổ đĩa cứng, như / dev / sda, bạn có thể gắn nó vào hệ thống tập tin để truy cập nó. Mặt khác, nếu bạn có một tập tin mà đại diện cho một máy in dòng như / dev / LPR, bạn có thể viết trực tiếp vào nó để gửi các thông tin đến máy in.
/ Etc

Đây là một khu vực của hệ thống tập tin mà bạn sẽ dành nhiều thời gian nếu bạn đang làm việc như một người quản trị hệ thống. Thư mục này là cơ bản một thư mục cấu hình khác nhau cho các dịch vụ hệ thống.

Theo mặc định, thư mục này chứa nhiều tập tin và thư mục con. Nó chứa các tập tin cấu hình cho hầu hết các hoạt động trên hệ thống, bất kể chức năng của họ. Trong trường hợp nhiều tập tin cấu hình cần thiết, nhiều lần một thư mục con ứng dụng cụ thể được tạo ra để giữ những tập tin này. Nếu bạn đang cố gắng để cấu hình một dịch vụ hay chương trình cho toàn bộ hệ thống, đây là một nơi tuyệt vời để tìm kiếm.
/ Home

Vị trí này có chứa các thư mục nhà của tất cả người dùng trên hệ thống (trừ cho người sử dụng hành chính, root). Nếu bạn đã tạo ra những người dùng khác, một thư mục phù hợp với tên người dùng của họ thường sẽ được tạo ra trong thư mục này.

Bên trong mỗi thư mục chính, người sử dụng có liên quan có quyền ghi. Thông thường, người sử dụng thường xuyên chỉ có quyền ghi vào thư mục chính của mình. Điều này giúp giữ cho hệ thống tập tin sạch sẽ và đảm bảo rằng không ai có thể chỉ thay đổi tập tin cấu hình quan trọng.

Trong thư mục chính, mà thường ẩn các tập tin và thư mục (được đại diện bởi một dấu chấm bắt đầu) cho phép cho người dùng cụ thể cấu hình các công cụ. Bạn thường có thể thiết lập mặc định của hệ thống trong thư mục / etc, và sau đó mỗi người dùng có thể ghi đè lên chúng khi cần thiết trong thư mục chính của mình.
/ Lib

Thư mục này được sử dụng cho tất cả các hệ thống thư viện chia sẻ được yêu cầu của / bin và / sbin thư mục. Những tập tin này về cơ bản là chức năng cung cấp các chương trình khác trên hệ thống. Đây là một trong những thư mục mà bạn sẽ không cần phải truy cập thường xuyên.
/ Mất + tìm thấy

Đây là một thư mục đặc biệt có chứa các tập tin phục hồi bằng / fsck, các chương trình sửa chữa hệ thống tập tin Linux. Nếu các hệ thống tập tin bị hư hỏng và phục hồi được thực hiện, đôi khi các tập tin được tìm thấy, nhưng các tham chiếu đến vị trí của họ bị mất. Trong trường hợp này, hệ thống sẽ đặt chúng trong thư mục này.

Trong hầu hết các trường hợp, thư mục này sẽ vẫn trống rỗng. Nếu bạn có kinh nghiệm tham nhũng hay bất kỳ vấn đề tương tự và buộc phải thực hiện các hoạt động phục hồi, nó luôn luôn là một ý tưởng tốt để kiểm tra vị trí này khi bạn đã kết thúc.
/ Media

Thư mục này thường là trống rỗng lúc khởi động. Mục đích thực sự của nó chỉ đơn giản là cung cấp một vị trí để gắn kết phương tiện di động (như CD). Trong một môi trường máy chủ, điều này sẽ không được sử dụng trong hầu hết các trường hợp. Nhưng nếu hệ điều hành Linux của bạn bao giờ gắn kết một đĩa phương tiện truyền thông và bạn không chắc chắn về nơi mà nó đặt nó, đây là một cược an toàn.
/ Mnt

Thư mục này là tương tự như thư mục / media ở chỗ nó chỉ tồn tại để phục vụ như là một tổ chức điểm gắn kết cho các thiết bị. Trong trường hợp này, vị trí này thường được sử dụng để gắn kết hệ thống tập tin như ổ đĩa cứng gắn ngoài, vv

Thư mục này thường được sử dụng trong một môi trường VPS để gắn ổ đĩa mạng có thể truy cập. Nếu bạn có một hệ thống tập tin trên một hệ thống từ xa mà bạn muốn gắn vào máy chủ của bạn, đây là một nơi tốt để làm điều đó.
/ Opt

Sử dụng của thư mục này là khá mơ hồ. Nó được sử dụng bởi một số phân phối, nhưng bị bỏ qua bởi những người khác. Thông thường, nó được sử dụng để lưu trữ các gói tùy chọn. Trong thế giới phân phối Linux, điều này thường có nghĩa là các gói và các ứng dụng không được cài đặt từ kho.

Ví dụ, nếu phân phối của bạn thường cung cấp các gói thông qua một trình quản lý gói, nhưng bạn cài đặt chương trình X từ mã nguồn, sau đó thư mục này sẽ là một địa điểm tốt cho phần mềm đó. Một lựa chọn phổ biến cho các phần mềm của thiên nhiên này nằm ở thư mục usr / / địa phương.
/ Proc

Các thư mục / proc thực sự là nhiều hơn chỉ là một thư mục thường xuyên. Nó thực sự là một hệ thống tập tin giả của riêng nó mà được gắn vào thư mục đó. Các hệ thống tập tin proc không chứa tập tin thực sự, nhưng thay vì tự động tạo ra để phản ánh tình trạng nội bộ của hạt nhân Linux.

Điều này có nghĩa rằng chúng ta có thể kiểm tra và sửa đổi các thông tin khác nhau từ các hạt nhân riêng của mình trong thời gian thực. Ví dụ, bạn có thể nhận được thông tin chi tiết về cách sử dụng bộ nhớ bằng cách gõ cat / proc / meminfo.
/ Root

Đây là thư mục nhà của người sử dụng hành chính (gọi là "root"). Nó hoạt động chính xác như các thư mục nhà bình thường, nhưng được đặt ở đây để thay thế.
/ Chạy

Thư mục này là dành cho hệ điều hành để ghi các thông tin thời gian chạy tạm thời trong giai đoạn đầu của quá trình khởi động. Nói chung, bạn không cần phải lo lắng về rất nhiều thông tin trong thư mục này.
/ Sbin

Thư mục này là giống như các thư mục / bin ở chỗ nó chứa các chương trình được coi là cần thiết cho việc sử dụng các hệ điều hành. Sự khác biệt thường là / sbin chứa các lệnh có sẵn cho các quản trị viên hệ thống, trong khi thư mục chứa chương trình khác cho tất cả người dùng của hệ thống.
/ Selinux

Thư mục này chứa các thông tin liên quan đến bảo mật nâng cao Linux. Đây là một mô-đun hạt nhân được sử dụng để cung cấp kiểm soát quyền truy cập vào hệ điều hành. Đối với hầu hết các phần, bạn có thể bỏ qua điều này.
/ Srv

Thư mục này được sử dụng để chứa các tập tin dữ liệu cho các dịch vụ được cung cấp bởi các máy tính. Trong hầu hết các trường hợp, thư mục này không được sử dụng quá nhiều bởi vì chức năng của nó có thể được thực hiện ở những nơi khác trong hệ thống tập tin.
/ Tmp

Đây là một thư mục được sử dụng để lưu trữ các tập tin tạm thời trên hệ thống. Nó có thể ghi bởi bất cứ ai trên máy tính và không tồn tại khi khởi động lại. Điều này có nghĩa rằng bất kỳ tập tin mà bạn cần chỉ cho một chút có thể được đặt ở đây. Họ sẽ được tự động xóa một khi hệ thống tắt.
/ Usr

Thư mục này là một trong những thư mục lớn nhất trên hệ thống. Về cơ bản nó bao gồm một tập hợp các thư mục mà trông giống như những người trong root / thư mục, chẳng hạn như / usr / bin và / usr / lib. Vị trí này là cơ bản được sử dụng để lưu trữ tất cả các chương trình không cần thiết, tài liệu, thư viện, và các dữ liệu khác của họ mà không cần thiết cho việc sử dụng tối thiểu nhất của hệ thống.

Đây là nơi mà hầu hết các tập tin trên hệ thống sẽ được lưu trữ. Một số thư mục con quan trọng là / usr / local, đó là một thay thế cho / opt thư mục để lưu trữ các chương trình biên dịch tại địa phương. Một điều thú vị để kiểm tra là các thư mục usr / share /, trong đó có các tài liệu, các tập tin cấu hình, và các tập tin hữu ích khác.
/ Var

Thư mục này được cho là chứa dữ liệu biến. Trong thực tế, điều này có nghĩa là nó được sử dụng để chứa các thông tin hoặc thư mục mà bạn mong đợi để phát triển khi hệ thống đang sử dụng.

Ví dụ, các bản ghi hệ thống và sao lưu được đặt ở đây. Một sử dụng phổ biến của các thư mục này là để lưu trữ nội dung web, nếu bạn đang điều hành một máy chủ web.
Phần kết luận

Mặc dù các chi tiết của nơi mà mọi thứ được lưu trữ có thể thay đổi từ distro để distro, nói chung, các địa điểm chúng tôi đã thảo luận nên hướng dẫn bạn đi đúng hướng.

Cách tốt nhất để khám phá các hệ thống tập tin chỉ đơn giản là để đi qua các thư mục khác nhau và cố gắng tìm ra những gì các tập tin bên trong được cho. Bạn sẽ bắt đầu để có thể kết hợp các thư mục khác nhau với các chức năng khác nhau và có thể đoán được nơi để đi cho các nhiệm vụ cụ thể. Nếu bạn muốn có một tài liệu tham khảo nhanh chóng cho những gì mỗi thư mục là cho, bạn có thể sử dụng được xây dựng trong các trang hướng dẫn bằng cách gõ:

người đàn ông hier

Điều này sẽ cung cấp cho bạn một cái nhìn tổng quan của một bố trí hệ thống tập tin tiêu biểu và mục đích của mỗi vị trí.