Pengurusan fail dan direktori. Sistem fail Linux dan struktur direktori

Sistem fail Linux mempunyai struktur direktori dan fail yang jelas. Dalam artikel ini kita akan melihat tujuan ringkas setiap direktori.

Sistem fail Linux mengandungi banyak direktori, kebanyakannya ditakrifkan oleh FHS (Filesystem Hierarchy Standard).

Tajuk artikel terdiri daripada istilah "direktori", "direktori" dan "folder". Mari lihat mereka.

Direktori atau direktori ialah objek dalam sistem fail yang memudahkan penyusunan fail.

Folder ialah istilah yang digunakan untuk mewakili direktori dalam antara muka pengguna grafik.

Oleh itu, semua istilah ini bermaksud perkara yang sama. Untuk kemudahan, kami akan menggunakan istilah katalog dalam artikel ini, kerana Saya rasa ia adalah yang paling sesuai (pendapat peribadi saya).

Struktur umum sistem fail OS Linux

Bergantung pada pengedaran Linux yang anda gunakan, beberapa direktori yang dibentangkan mungkin tidak wujud, atau, sebaliknya, direktori lain yang tidak dibentangkan di sini mungkin ada. Saya cuba mengumpul dan menerangkan hanya direktori yang paling biasa dalam OS Linux.

/ - direktori akar

Direktori utama, di sinilah segala-galanya pada OS Linux anda disimpan. Semua partition Linux disimpan sebagai subdirektori lain di bawah direktori akar /.

/bin - fail binari utama (program)

Mengandungi program sistem binari utama (modul), utiliti (ls, cp, dsb.) dan shell perintah (bash, dsb.), yang sepatutnya memberikan tahap minimum prestasi sistem dalam mod pengguna tunggal. Meletakkan fail ini dalam direktori /bin memastikan bahawa sistem akan mempunyai utiliti penting ini walaupun sistem fail lain tidak dipasang.

/boot - fail untuk memuatkan OS

Imej kernel Linux dan fail pengurus but (grub, lilo, dll.) disimpan.

/cdrom – titik lekap untuk CD

Direktori ini bukan sebahagian daripada piawaian FHS; ia terkandung dalam Ubuntu dan pengedarannya. Digunakan sebagai tempat untuk memasang pemacu CD-ROM.

/dev - fail peranti

Di Linux, semua peranti disediakan sebagai fail khusus yang terdapat dalam direktori ini. Sebagai contoh, fail /dev/sda mewakili pemacu SATA. Direktori ini juga menyimpan fail pseudo-device (maya); fail ini tidak mempunyai peranti sebenar yang sepadan. Contohnya, fail /dev/random menjana nombor rawak, dan fail /dev/null ialah peranti khas untuk mengalih keluar semua data input.

/etc - fail konfigurasi

Mengandungi fail konfigurasi utama sistem pengendalian dan pelbagai program.

/home - direktori rumah pengguna

Mengandungi direktori rumah pengguna. Menurut ideologi UNIX, untuk memastikan keselamatan OS, adalah disyorkan untuk menyimpan data pengguna dalam direktori ini. Contohnya, jika nama pengguna anda ialah mara, maka anda mempunyai direktori rumah yang terletak di /home/mara dan mengandungi fail konfigurasi pengguna dan maklumat peribadi. Setiap pengguna mempunyai akses tulis hanya kepada direktori rumah mereka.

/lib - perpustakaan utama

Direktori ini bertujuan untuk menyimpan perpustakaan sistem dan komponen pengkompil C yang diperlukan untuk pengendalian program daripada direktori /bin dan /sbin dan sistem pengendalian secara keseluruhan.

/lib64 - perpustakaan utama 64-bit

Direktori ini terdapat terutamanya pada sistem 64-bit dan mengandungi satu set perpustakaan dan komponen pengkompil C untuk program 64-bit.

/lost+found - fail pulih

Hadir pada semua sistem pengendalian Linux. Jika sistem fail gagal dan sistem fail disemak selanjutnya (semasa memuatkan OS), semua fail rosak yang ditemui akan diletakkan dalam direktori yang hilang+ditemui, dan anda boleh cuba memulihkannya.

/media - titik untuk pemasangan automatik

Digunakan untuk pemasangan automatik pelbagai peranti CD-ROM, pemacu USB, dsb.

/mnt - titik untuk pemasangan manual

Digunakan untuk melekap secara manual (menggunakan arahan pelekap) pelbagai peranti seperti CD-ROM, pemacu USB, dsb.

/opt - pakej perisian tambahan

Terdapat subdirektori untuk pakej perisian tambahan. Direktori digunakan secara meluas oleh perisian proprietari yang tidak mengikut hierarki sistem fail standard.

/proc – kernel dan fail proses

Sistem fail maya procfs dipasang dalam direktori ini. Ia mengandungi fail khas yang memberikan maklumat tentang sistem dan proses yang sedang berjalan. Sebagai contoh, fail /proc/cpuinfo menyimpan maklumat tentang pemproses.

/root - Direktori rumah pengguna root

Direktori rumah pengguna root. Daripada berada di /home/root, ia diletakkan di /root untuk kebolehpercayaan sistem yang lebih besar.

/run – fail keadaan aplikasi

Merupakan direktori yang agak baharu yang membolehkan aplikasi menyimpan fail sokongan yang mereka perlukan, seperti soket dan ID proses, dengan cara yang standard. Fail ini tidak boleh disimpan dalam direktori /tmp kerana fail ini mungkin dipadamkan di sana.

/sbin - fail binari (program) untuk pentadbiran sistem

Direktori /sbin adalah serupa dengan direktori /bin. Ia mengandungi fail binari penting yang biasanya bertujuan untuk dijalankan oleh pengguna semasa mentadbir sistem.

/selinux – Sistem fail maya SELinux

Sesetengah pengedaran (Red Hat, Fedora, dll.) menggunakan pakej SELinux (Security-Enhanced Linux) untuk menyediakan keselamatan, mencipta direktori dengan fail /selinux.

/srv – data perkhidmatan

Direktori ini tidak terdapat dalam semua pengedaran; ia mengandungi "data untuk perkhidmatan yang disediakan oleh sistem" (contohnya, pelayan Apache boleh menyimpan fail tapak anda dalam direktori ini). Dalam kebanyakan kes direktori kosong.

/sys - sistem fail maya sysfs

Direktori ini muncul dengan keluaran kernel versi 2.6 dan sistem fail maya sysfs dengan maklumat tentang peranti, pemacu, kernel OS, dll. dipasang di dalamnya.

Penerangan subdirektori:

/sys/block - mengandungi direktori semua peranti blok yang kini terdapat dalam sistem.

/sys/bus - Mengandungi senarai bas yang ditakrifkan dalam kernel Linux (eisa, pci, dsb.).

/sys/class - mengandungi senarai peranti yang dikumpulkan mengikut kelas (pencetak, scsi-devices, dll.).

/tmp - fail sementara

Fail sementara biasanya dipadamkan apabila sistem dibut semula. Ia serupa dengan C:/Windows/Temp dalam OS Windows. Semua pengguna telah membaca dan menulis kebenaran pada direktori ini.

/usr - binari baca sahaja pengguna

Direktori ini mengandungi aplikasi dan fail yang digunakan hanya oleh pengguna, bukan oleh sistem itu sendiri.

Penerangan subdirektori:

/usr/bin - fail boleh laku untuk semua akaun.

/usr/games - direktori untuk permainan komputer pada sistem.

/usr/include - fail pengepala bertujuan untuk menyusun atur cara C.

/usr/lib - perpustakaan sistem dan fail tambahan yang terdapat dalam direktori /usr.

/usr/local - Aplikasi yang disusun secara setempat dipasang dalam direktori ini, yang membolehkan mereka tidak bercampur dengan seluruh sistem.

/usr/local/bin - fail boleh laku tempatan.

/usr/local/etc - perintah sistem tempatan dan fail konfigurasi.

/usr/local/lib - fail tambahan tempatan.

/usr/local/sbin - perintah sistem perkhidmatan tempatan.

/usr/local/src - kod sumber untuk atur cara dalam direktori /usr/local/*

/usr/man - halaman dokumentasi interaktif.

/usr/sbin - arahan pentadbiran sistem yang kurang penting.

/usr/share - data umum program yang dipasang (baca sahaja).

/usr/share/man - halaman dokumentasi interaktif.

/usr/share/icons - ikon sistem.

/usr/share/doc - dokumentasi rujukan.

/usr/src - kod sumber pakej perisian bukan tempatan (contohnya, kod sumber kernel terdapat di sini).

/var - direktori untuk menukar data yang kerap

Direktori ini mengandungi log sistem pengendalian, fail log sistem, fail cache, dsb.

/var/adm - fail log, rekod pemasangan sistem, komponen pentadbiran.

/var/cache - semua cache untuk pelbagai program.

/var/games - fail dengan pencapaian permainan.

/var/log - fail log sistem (fail log).

/var/lock - terdapat fail kunci yang menunjukkan bahawa sesetengah sumber sedang sibuk.

/var/lib - diubah suai oleh atur cara semasa operasi (contohnya, pangkalan data, metadata, dsb.).

/var/spool - direktori kili (contohnya, mencetak baris gilir, e-mel yang belum dibaca atau tidak dihantar, tugas cron, dsb.).

/var/tmp - direktori untuk penyimpanan sementara fail.

/var/www - Halaman web untuk pelayan Apache dihoskan.

Anda boleh melihat struktur sistem fail menggunakan arahan ls -la. Di bawah ialah contoh output arahan untuk pengedaran OpenSUSE.

# ls -la jumlah 260 drwxr-xr-x 24 punca punca 4096 Ogos 30 2013 . drwxr-xr-x 24 root root 4096 Ogos 30 2013 .. drwxr-xr-x 2 root root 4096 Ogos 8 2012 .config -rw-r--r-- 1 root root 149519 Ogos 30 2013 .rreadahead drw-x x 2 akar akar 4096 Ogos 8 2012 bin drwxr-xr-x 3 akar akar 4096 Ogos 8 2012 but drwxr-xr-x 18 akar akar 3340 Mei 16 16:29 dev drwxr-xr-x 122 akar 127 Jun 28282 drwxr-xr-x 4 akar akar 4096 Sep 21 2012 rumah drwxr-xr-x 16 akar akar 4096 Ogos 23 2012 lib drwxr-xr-x 10 akar akar 12288 Ogos 23 2012 lib64- drwx-2-4 akar 8 Ogos 2012 hilang+ditemui drwxr-xr-x 2 root root 40 Dis 11 2013 media drwxr-xr-x 2 root root 4096 Oct 25 2011 mnt drwxr-xr-x 3 root root 4096 Aug 23 2012 optx dr-xr- -x 194 root root 0 Dis 11 2013 proc drwx------ 31 root root 4096 Jun 10 14:38 root drwxr-xr-x 23 root root 780 Jul 9 17:39 run drwxr-xr-x 3 root root 12288 Ogos 8 2012 sbin drwxr-xr-x 2 akar akar 4096 Okt 25 2011 selinux drwxr-xr-x 6 1004 pengguna 4096 Sep 21 2012 srv drwxr-xr-x 13 Dis 13 akar akar 2 drwxr-xr-x 12 Dis. 4096 Jul 9 17:39 tmp drwxr-xr-x 13 root root 4096 Nov 10 2011 usr drwxr-xr-x 16 root root 4096 Ogos 9 2012 var

Itu sahaja. Pertimbangan tujuan direktori utama yang terdapat dalam sistem fail Linux selesai.

Struktur fail Linux sangat berbeza daripada Windows, jadi jika anda memutuskan untuk mengkaji secara serius sistem seperti UNIX, maka, pada pendapat saya, adalah lebih baik untuk memulakan dengan struktur direktori.

Sejarah mengetahui berpuluh-puluh kes apabila juruterbang yang tidak terlatih berjaya mendaratkan pesawat. Atau, sebagai contoh, doktor baru berjaya melakukan pembedahan di lapangan. Walau bagaimanapun, saya fikir tidak mungkin sesiapa akan secara sukarela bersetuju untuk mengambil tempat mereka...

Apa yang saya dapat? Dan selain itu, pengguna Windows yang melihat Linux buat kali pertama, sudah tentu, dapat mengatasinya (pergi dalam talian atau menonton video), namun, sebaik sahaja sebarang situasi kecemasan timbul, dia tidak akan tahu apa yang perlu dilakukan. buat!

Oleh itu, untuk tidak menjadi pengguna yang tidak tahu apa-apa, anda perlu mempelajari sekurang-kurangnya asas dan prinsip operasi sistem pengendalian yang anda merancang untuk bekerja. Dan dalam artikel hari ini kita akan melihat struktur direktori Linux, serta ciri susun atur cakera keras dan pemasangan partition.

Bak kata pepatah, penampilan boleh menipu. Pengedaran Linux moden boleh, dari segi penampilan dan dalam prinsip operasi asas, sebahagian besarnya menyalin persekitaran Windows yang biasa digunakan oleh ramai orang. Walau bagaimanapun, cukup untuk "menggali" lebih dalam dan kita akan segera melihat bahawa di hadapan kita adalah sesuatu yang sama sekali berbeza dan tidak dapat difahami :)

Sangat mudah untuk melihat ini menggunakan Linux Mint sebagai contoh. Mari buka folder "Komputer" pada Desktop dan lihat kandungannya:

Seperti yang anda lihat, di sini, selain pemacu kilat yang disambungkan, tidak ada satu partition cakera keras yang biasa kami gunakan, kecuali peranti "Sistem Fail". Ia ada di sini (lebih tepat lagi, dalam direktori akar dipanggil "/", yang kadangkala tersilap dipanggil "/root/", walaupun ia adalah folder berasingan dalam "/") secara lalai, semua data disimpan, termasuk sistem dan pengguna fail! Sangat pelik dan tidak dapat difahami pada pandangan pertama. Jom ketahui...

Hakikatnya ialah Linux menggunakan pendekatan yang sangat berbeza daripada Windows untuk mengatur dan bekerja dengan sistem fail. Jika di Windows asasnya adalah partition cakera keras di mana kita boleh membuat folder sewenang-wenangnya dengan fail, maka di Linux semuanya berdasarkan hierarki direktori yang jelas yang tidak bergantung pada susun atur cakera keras dan dikawal oleh standard FHS (disingkatkan sebagai "Standard Hierarki Sistem Fail" - " piawaian hierarki sistem fail").

Konsep cakera dan partitionnya, sudah tentu, juga wujud di Linux, tetapi di sini struktur utama adalah struktur folder, di mana salah satunya (biasanya "/media/", "/dev/" atau "/mnt/" ) dan pelbagai jenis cakera. Pemacu itu sendiri biasanya dinamakan bergantung pada jenis sambungannya: SATA - sda (sdb, dll. bergantung pada nombornya), dan IDE - hda (hdb...). Pembahagian pada cakera hanya diberi nombor (contohnya, sda1, hdb2).

Direktori Linux individu boleh dialihkan ke partition yang berbeza pada cakera yang berbeza dan juga ke storan rangkaian jauh. Satu-satunya syarat ialah semuanya mesti dipasang sebelum sistem but. Ini biasanya dilakukan secara automatik apabila Linux bermula, tetapi kadangkala anda mungkin perlu mengedit tetapan secara manual.

Saya rasa kita mempunyai sedikit pemahaman tentang prinsip asas mengatur storan maklumat dalam Linux, jadi saya cadangkan anda membiasakan diri secara khusus dengan struktur direktori.

Folder Teras Linux

Walaupun terdapat ratusan pengedaran Linux, kesemuanya kebanyakannya mempunyai struktur direktori yang serupa. Di satu pihak, ini memberikan beberapa keserasian dengan piawaian, dan di sisi lain, kemudahan penggunaan: pengguna yang biasa mengatur sistem fail pada satu pengedaran Linux akan merasa agak mudah untuk beralih menggunakan yang lain jika perlu.

Pada dasarnya, tidak perlu mengetahui tujuan semua folder dengan hati, bagaimanapun, pengetahuan tersebut dialu-alukan. Oleh itu, saya bercadang untuk mempertimbangkan dalam bentuk jadual direktori utama, tujuan mereka dan perbandingan separa dengan komponen Windows (saya menerangkannya berdasarkan Linux Mint yang saya ada, jadi senarai folder pada sistem lain mungkin sedikit berbeza. ).

Katalog Tujuan Analog Windows (jika ada)
/ Menyimpan keseluruhan struktur direktori sistem Pandu C:
/bin/ Menyimpan fail boleh laku binari bagi utiliti sistem C:\Windows\System32
/boot/ Menyimpan kernel sistem dan fail but lain C:\Windows
/cdrom/ Menyimpan titik pelekap untuk pemacu liut -
/dev/ Menyimpan fail peranti yang disambungkan mengikut jenis (pemacu keras, peranti video, dsb.) atau peranti pseudo (contohnya, /dev/null dan /dev/zero) -
/dan lain-lain/ Menyimpan beberapa fail tetapan sistem dan tetapan program yang dipasang Sebahagiannya C:\Windows\System32, sebahagiannya C:\Program Files
/rumah/ Menyimpan folder rumah pengguna sistem dengan tetapan dan data mereka C:\Documents and Settings atau C:\Users
/lib/ Menyimpan kebanyakan perpustakaan program standard dan beberapa dipasang Sebahagiannya C:\Windows dan C:\Windows\System32
/hilang+ditemui/ Menyimpan fail yang biasanya dibiarkan tidak berdaftar dalam mana-mana direktori akibat daripada beberapa jenis kegagalan, tetapi pada masa yang sama tidak ditandakan untuk ditulis ganti. Pengguna biasanya tidak mempunyai akses kepadanya Sebahagian C:\Recycler (Sampah)
/media/ Menyimpan titik pelekap untuk semua media boleh tanggal (pemacu denyar, pemacu liut, pemacu keras boleh tanggal) -
/mnt/ Menyimpan titik lekap sementara peranti dan sistem failnya yang ditambahkan secara manual -
/opt/ Menyimpan pakej tambahan pelbagai program C:\Users\Admin\Application Data
/proc/ Menyimpan data tentang proses yang sedang berjalan dan operasi kernel sistem Pengurus Tugas Separa
/root/ Menyimpan data pengguna super sistem (root). Sebahagiannya C:\Users\Admin
/lari/ Menyimpan fail sementara yang dilaksanakan semasa proses but sistem
/sbin/ Menyimpan kebanyakan program sistem untuk pentadbiran dan konfigurasi OS Sebahagiannya C:\Windows\System32
/srv/ Menyimpan fail yang bertanggungjawab untuk operasi bahagian pelayan sistem dan pelbagai protokol pemindahan data melalui rangkaian (HTTP, FTP, dll.) Sebahagiannya C:\Windows\System32
/sys/ Menyimpan sistem fail maya dengan data tentang peranti dan pemacu yang dipasang Pengurus Peranti Separa
/tmp/ Menyimpan fail sementara C:/Windows/Temp
/usr/ Menyimpan data pengguna sistem dan fail program yang dipasang secara manual. Sebahagian C:\Users\
/var/ Menyimpan fail dengan pelbagai perubahan data, log, cache, dsb. -

Sebagai tambahan kepada folder dalam direktori akar itu sendiri, ia juga bernilai memberi perhatian kepada beberapa subdirektori:

Katalog Tujuan Analog Windows (jika ada)
/etc/X11/ Menyimpan fail tetapan Sistem X Window -
/etc/samba/ Menyimpan fail konfigurasi pelayan Samba, yang digunakan untuk berkomunikasi dengan folder rangkaian Windows -
/home/nama pengguna/ Menyimpan fail dan konfigurasi akaun untuk pengguna tertentu (folder Rumah) C:\Users\Nama pengguna
/usr/bin/ Menyimpan beberapa program yang diperlukan untuk berfungsi dalam mod berbilang pengguna -
/usr/share/ Menyimpan data umum program yang dipasang -
/usr/src/ Menyimpan fail dengan kod sumber kernel sistem -
/var/cache/ Menyimpan cache program dan pakej perisian yang dimuat turun daripada repositori -
/var/games/ Menyimpan simpanan dan pencapaian permainan yang dipasang -
/var/log/ Menyimpan log (log) sistem dan atur cara yang dipasang -
/var/mel/ Menyimpan tetapan peti mel pengguna -
/var/run/ Menyimpan data tentang menjalankan proses dan daemon Pengurus Tugas Separa
/var/tmp/ Menyimpan fail sementara yang disimpan apabila sistem dibut semula -
/var/www/ Menyimpan halaman web yang diproses oleh alat pelayan tempatan -

Sedikit mengenai sistem fail

Memandangkan kami telah memutuskan untuk lebih kurang memahami struktur direktori Linux, kami tidak boleh gagal untuk menyebut perkara penting seperti sistem fail.

Dalam Windows, kami biasa menggunakan NTFS tradisional dan tidak menipu diri sendiri (baik, juga FAT32 pada pemacu kilat atau UDF pada cakera). Dalam dunia Linux, semuanya lebih pelbagai. Terdapat sokongan untuk semua sistem fail Windows, tetapi disyorkan untuk menggunakan sistem khas yang dioptimumkan untuk sistem pengendalian seperti UNIX.

Semua sistem fail boleh dibahagikan kepada dua kumpulan: jurnal dan bukan jurnal. Sistem fail berjurnal memperuntukkan tempat khusus untuk menyimpan log dengan senarai fail pada PC, atribut dan lokasinya. Mereka lebih berdaya tahan terhadap kegagalan dan menjamin integriti data yang lebih besar. Sistem yang tidak dilog adalah lebih pantas dan tidak memerlukan ruang untuk menyimpan log, namun, mereka tidak menjamin penyimpanan maklumat yang stabil, kerana mereka menjalankan semua tindakan dengan fail secara langsung, tanpa menulis ke log.

Untuk tidak menyenaraikan semua sistem fail yang tersedia hari ini, saya fikir adalah lebih baik untuk menyebut hanya yang terbaik daripada mereka, yang merupakan pilihan optimum untuk Linux.

  1. Ext4- sistem fail jurnal yang standard pada kebanyakan pengedaran Linux moden. Ia dilindungi dengan baik daripada masalah pemecahan dan dioptimumkan untuk bekerja dengan fail besar. Jika anda tidak memformat partition secara manual untuk sistem semasa pemasangan, kemungkinan besar anda telah memasang Ext4.
  2. Ext2- sistem fail tanpa jurnal yang merupakan yang utama untuk pengedaran Linux yang lebih lama (sehingga tahun 2000-an). Ia mempunyai beberapa batasan untuk bekerja dengan fail besar, namun, pada masa yang sama, ia juga merupakan sistem fail terpantas, jadi ia sering digunakan dalam pelbagai ujian perbandingan sebagai rujukan.
  3. Reiser4 ialah sistem fail jurnal yang disyorkan oleh ramai pengguna lanjutan untuk digunakan di Linux. Kelebihannya ialah kestabilan yang baik dan kelajuan tinggi, yang, lebih-lebih lagi, boleh ditingkatkan lagi dengan mengaktifkan pemalam khas untuk pemampatan data.
  4. btrfs(juga B-tree FS) ialah sistem fail jurnal yang dibangunkan oleh syarikat Oracle terkenal baru-baru ini (pada tahun 2007). Ciri-cirinya termasuk menyimpan indeks fail dalam apa yang dipanggil "B-trees" - struktur hierarki yang menggunakan sumber RAM yang paling optimum disebabkan oleh kedalaman sarang data yang kecil.
  5. SWAP- jenis khas sistem fail bukan jurnal yang melaksanakan struktur penyimpanan data yang serupa dengan struktur selular RAM. Disebabkan ini, ia digunakan untuk melaksanakan fail paging di Linux.

Dalam kebanyakan pengedaran moden, secara lalai cakera keras diformatkan dalam Ext4, serta SWAP, yang diperuntukkan saiz yang serupa dengan saiz RAM yang dipasang. Ini, sebagai contoh, rupa susun atur cakera standard di bawah Linux Mint, yang dilakukan jika anda tidak mempunyai pengaruh untuk mencipta partition secara manual:

Walau bagaimanapun, pengguna lanjutan dinasihatkan untuk membuat pra-pembahagian cakera dengan cara yang lebih "canggih" sebelum pemasangan untuk memastikan keselamatan data yang lebih baik sekiranya berlaku pemasangan semula sistem secara paksa dengan memasang direktori berasingan pada partition yang dibuat. Mari lihat beberapa "resipi" yang serupa untuk pembahagian cakera.

Pembahagian cakera

Saya rasa anda sudah faham mengapa semua kekacauan ini dengan bahagian yang berbeza. Jika, sebagai contoh, anda memecahkan sesuatu dalam sistem Linux yang dipasang dengan cara biasa (pada satu partition), anda pasti akan kehilangan semua data pengguna anda apabila memasang semula! Walau bagaimanapun, jika ia disimpan secara berasingan daripada fail sistem, maka untuk pemasangan semula anda hanya perlu menyentuh direktori sistem dan melekapkan pengguna sedia ada kemudian.

Pilihan pembahagian pertama adalah untuk mengalihkan direktori "/home/" ke partition cakera yang berasingan. Iaitu, sebenarnya, kita perlu membahagikan cakera kepada tiga partition:

Jika anda bercadang untuk dual boot dengan pemasangan Windows, maka sebagai ganti sda1 dan sda2 untuk tiga partition yang dibincangkan di atas, lebih baik untuk meletakkan dua partition yang diformatkan dalam NTFS: satu untuk Drive C, dan yang kedua untuk Drive D, masing-masing.

Pengguna yang lebih maju cenderung untuk membuat susun atur cakera yang lebih kompleks, dengan mengambil kira pembahagiannya kepada kawasan but berasingan dan kawasan pelaksanaan program:

Pada dasarnya, sesetengah pengguna memasang direktori yang disebutkan di atas pada sda4 pada partition berasingan, dan sesetengahnya tidak memperuntukkannya sama sekali. Semuanya bergantung pada tugas yang anda rancang untuk diselesaikan pada PC anda. Jika anda masih belum memutuskan cara anda akan menggunakan direktori individu, maka saya syorkan meninggalkan beberapa puluh gigabait ruang pada cakera keras anda tanpa diperuntukkan "dalam simpanan." Dengan cara ini, anda boleh memasang semula direktori yang diperlukan pada partition yang baru dibuat pada bila-bila masa terus dari bawah sistem anda.

Nah, dan yang paling penting - bagaimana untuk mencipta bahagian ini! Untuk melakukan ini, saya cadangkan memuat turun program yang telah disebutkan dalam bentuk imej but, membakar imej ini ke pemacu kilat atau cakera dan boot daripadanya.

Semasa proses permulaan daripada LiveCD anda akan ditanya beberapa soalan mengenai pilihan but. Kami meninggalkan semuanya sebagai lalai di mana-mana, kecuali untuk skrin pemilihan bahasa. Di sana anda perlu memasukkan nombor yang sepadan dengan antara muka bahasa Rusia (bagi saya ia adalah "22"). Dalam semua soalan lain, hanya tekan Enter dan sebagai hasilnya anda akan dibawa ke desktop maya Debian OS dengan GParted berjalan:

Jika anda memilih antara muka Rusia, maka anda tidak akan menghadapi masalah bekerja dalam program walaupun anda memutuskan untuk membahagikan semula cakera dengan sistem yang telah dipasang. Algoritma tindakan adalah seperti berikut:

  1. Pilih bahagian sedia ada yang perlu dibahagikan dan klik butang "Ubah saiz atau alih", atau item yang serupa dalam menu konteks.
  2. Dalam tetingkap yang terbuka, gunakan peluncur atau kotak untuk memasukkan nombor untuk menetapkan saiz partition baharu dan mengimbanginya dari permulaan atau penghujung cakera (ingat bahawa lebih baik meletakkan akar dan menukar lebih dekat ke permulaan).
  3. Pilih kawasan tidak diperuntukkan yang baru dibuat dan klik butang "Baharu" pada bar alat atau dalam menu konteks.
  4. Dalam tetingkap yang terbuka, tetapkan jenis sistem fail, label volum dan parameter lain.
  5. Kami mengulangi langkah di atas beberapa kali yang diperlukan, selepas itu kami menggunakan semua perubahan dan tunggu sehingga ia selesai.

Sekarang tinggal sedikit. Kami memasang sistem dalam direktori akar (jika ia belum dipasang) dan memuatkannya. Kini semua direktori berada pada satu partition dan kami perlu melekapkannya semula ke kawasan cakera lain yang dicipta khas untuk tujuan ini. Ini boleh dilakukan hampir sepenuhnya dalam mod visual atau menggunakan terminal. Untuk menjadikannya lebih jelas, mari lihat proses pemindahan menggunakan direktori /home/ sebagai contoh dalam mod separa visual.

Jika anda memutuskan untuk melakukan segala-galanya secara visual, kemudian buka, sebagai contoh, folder /mnt/ atau /media/ dan buat folder sementara di dalamnya (mari panggilnya /newhome/) untuk memindahkan data. Sekarang kita masih perlu melancarkan terminal untuk melekapkan folder yang baru dibuat ke partition yang ingin kita pindahkan folder /home/. Ini dilakukan dengan arahan seperti:

Sememangnya, bukannya "ext4" anda akan menunjukkan sistem fail anda, dan bukannya "sda5" partition yang anda akan memindahkan folder. Apabila partition dipasang dan folder berada di atasnya, buka dan salin semua kandungan semasa direktori /home/ di sana. Selepas penyalinan selesai, nyahlekap partition dari folder dengan arahan berikut:

$sudo umount /mnt/newhome

Sekarang folder /home/ sedia ada boleh dipadamkan sepenuhnya (atau lebih baik lagi, dinamakan semula, sebagai contoh, kepada /oldhome/) dan dibuat baharu, atau hanya dibersihkan sepenuhnya. Perkara utama ialah kami mempunyai direktori /home/ kosong. Sekarang mari pasang bahagian kami dengan data yang disalin di sini:

$sudo mount /dev/sda5 /home

Jika semuanya berjalan lancar, maka semua fail yang kami salin akan muncul dalam direktori /home/. Maksudnya, pemindahan sebenarnya telah berjaya diselesaikan. Yang tinggal hanyalah untuk menyatukan kejayaan kami dan memastikan bahawa kami tidak perlu memasang direktori kami secara manual setiap kali sistem but. Untuk melakukan ini, kami akan menggunakan pengeditan fail fstab (singkatan daripada "jadual sistem fail"), yang terletak dalam direktori /etc/. Mari buka dengan mana-mana editor teks dan pada akhirnya tambahkan baris berikut:

/dev/sda5 /home ext4 nodev,nosuid 0 2

Dengan ini kami "memberitahu" sistem secara literal perkara berikut: pada partition /dev/sda5 terdapat direktori /home/, diformatkan dalam sistem ext4, di mana mustahil untuk membuat direktori dengan konfigurasi peranti (/dev/) , dan operasi dengan bit suid dan sgid adalah dilarang, sandaran dinyahdayakan dan sistem fail dipasang pada laluan kedua (sistem akar sentiasa dipasang pada laluan pertama).

But semula dan bergembira :) Untuk geeks sejati, saya akan mengatakan bahawa semua operasi (kecuali untuk mengedit fstab) boleh dilakukan secara langsung dalam konsol menggunakan kira-kira urutan arahan berikut:

$sudo mkdir /mnt/newhome

$sudo mount -t ext4 /dev/sda5 /mnt/newhome

$cari. -depth -print0 | sudo cpio --null --sparse -pvd /mnt/newhome/

$sudo umount /mnt/newhome

$sudo mv /home /oldhome

$sudo mkdir /home

$sudo mount /dev/sda5 /home

sudo gedit /etc/fstab

kesimpulan

Memahami struktur direktori dan menggunakan arahan konsol pertama memberikan pengguna pemula pemahaman yang agak baik tentang struktur sistem dan mengajarnya untuk berfikir dalam istilah Linux. Dalam praktiknya, tiada apa-apa yang sukar untuk membahagikan dan memasang partition cakera, tetapi tindakan ini meningkatkan kestabilan OS dengan ketara, jadi ia disyorkan untuk dilakukan terlebih dahulu apabila memasang sistem baharu.

Dengan meluangkan sedikit masa untuk mengoptimumkan struktur direktori anda, anda akan menjadikan Linux anda lebih dipercayai dari segi menyimpan maklumat dan akan menjimatkan banyak saraf dan usaha anda pada masa hadapan!

P.S. Kebenaran diberikan untuk menyalin dan memetik artikel ini secara bebas, dengan syarat pautan aktif terbuka kepada sumber ditunjukkan dan kepengarangan Ruslan Tertyshny dipelihara.

Salah satu pilihan paling sukar yang anda akan hadapi semasa memasang Linux dan membahagikan cakera keras anda ialah sama ada anda akan meletakkan direktori /rumah pada bahagian yang berasingan? Di dalamnya fail pengguna hidup - iaitu, dokumen peribadi dan tetapan akaun pengguna, dan bukan fail OS, yang terletak di direktori berasingan. Sesetengah pengedaran Linux mengesyorkan membuat partition berasingan, dan beberapa lalai untuk meletakkan semuanya pada partition yang sama. Apakah yang patut awak buat? Jawapannya bergantung pada cara anda menggunakan komputer anda. Jika anda bercadang untuk mencuba banyak pengedaran yang berbeza dan sering memasang yang baharu di atas yang lama, maka wajar untuk membuat partition yang berasingan /rumah.

Terima kasih kepada ini, anda boleh melakukan apa sahaja yang anda mahu dengan OS - naik taraf, turun taraf kepada versi terdahulu, atau padam dan pasang pengedaran baharu eksotik yang dipilih secara rawak dari Kepulauan Faroe. Tidak kira apa pengedaran Linux yang anda gunakan, fail peribadi anda akan sentiasa ada, selamat dan kukuh, pada bahagian cakera yang berasingan. Dengan sedikit berhati-hati, anda juga boleh mempunyai berbilang pengedaran Linux pada komputer yang sama, semuanya mengakses partition yang sama /rumah selepas memuat turun. Tetapi mengapa kita bercakap tentang berhati-hati? Fikirkan tentang tetapan dan fail konfigurasi. Dengan memerintah, misalnya, ls -a dalam direktori rumah anda, anda akan melihat sejumlah besar fail dan direktori tersembunyi, yang namanya bermula dengan titik - ia mengandungi tetapan program. Jika anda cuba menggunakan tetapan yang sama dalam versi program yang berbeza, program mungkin menjadi keliru. Katakan anda mempunyai Pengedaran A dan Pengedaran B pada komputer anda. Anda memuat turun Pengedaran A dan jalankan FooProgram 2.0 kali pertama, dan ia mencipta folder tetapan.fooprogram/ dalam direktori rumah anda. Kemudian anda memuat turun Distribution B di bawah direktori rumah yang sama dan menjalankan FooProgram - tetapi kali ini ia akan menjadi versi 1.0. Ia akan menjadi keliru kerana perbezaan dalam fail konfigurasi, yang boleh membawa kepada kehilangan data lengkap atau rasuah.

Kemungkinan masalah dengan /home di Linux

Satu lagi masalah yang berpotensi dengan direktori /home yang berasingan ialah had saiz. Jika anda meletakkan semuanya pada satu partition, maka kedua-dua OS dan direktori rumah akan mempunyai akses kepada ruang kosong. Jika anda meletakkan /home pada partition berasingan dan ruang tidak mencukupi, anda tidak akan dapat mengambil ruang dari partition OS (tetapi jika anda menggunakan LVM, Pengurus Kelantangan Logik, seperti yang ditawarkan semasa fasa pemasangan banyak pengedaran, akan mengatasi masalah ini kerana ia menyokong saiz semula partition).

Walau bagaimanapun, terdapat juga kelebihan kepada pendekatan partition berasingan, terutamanya sekarang pemacu SSD (pemacu keadaan pepejal) menjadi lebih popular dan berpatutan. Memandangkan ia sangat pantas berbanding pemacu keras berputar, anda boleh meletakkan fail OS pada SSD untuk memastikan prestasi sistem yang pantas dan masa permulaan aplikasi, dan /rumah– ke cakera keras tradisional (lagipun, anda tidak terlalu mengambil berat tentang tempoh masa yang diperlukan untuk dokumen dimuatkan LibreOffice atau gambar). Tetapi untuk sistem pada pemacu keras biasa, jika anda tidak bercadang untuk mempelajari pengedaran baharu pada bila-bila masa, kami mengesyorkan pendekatan "Letakkan semuanya pada satu partition".

Walaupun hakikat bahawa tujuan utama sistem fail adalah untuk mengatur sumber yang disimpan, pengaturcara tidak akan benar-benar mahu "mencipta semula roda" untuk mengurus objek jenis lain. Di Linux, objek sistem fail ialah: proses, peranti, struktur dan tetapan data kernel, saluran komunikasi antara tugas, folder, dan, sudah tentu, fail biasa. Susunan sistem fail ini mempunyai kebaikan dan keburukan. Kelebihannya termasuk antara muka perisian tunggal dan kemudahan akses daripada penterjemah arahan. Kelemahan termasuk pelaksanaan sistem fail menggunakan kaedah Frankenstein.

Sistem fail terdiri daripada empat komponen utama:

  1. Ruang nama - kaedah untuk menamakan objek dan menyusunnya ke dalam satu hierarki
  2. API - satu set panggilan sistem untuk bergerak antara objek dan mengurusnya
  3. Kaedah Keselamatan - Skim untuk Melindungi, Menyembunyikan dan Berkongsi Objek
  4. Pelaksanaan - kod program yang menghubungkan model logik dengan subsistem cakera

Sistem fail ialah struktur hierarki tunggal yang bermula dengan direktori / dan bercabang keluar untuk menampung bilangan direktori yang sewenang-wenangnya.

Direktori peringkat atas dipanggil akar. Sistem monohierarki ini berbeza daripada yang digunakan dalam Windows, yang menggunakan konsep ruang nama berdasarkan prinsip membahagikan cakera kepada partition.

Rantaian nama direktori yang mesti dilalui untuk mengakses fail yang diberikan, bersama-sama dengan nama fail itu, membentuk laluan ke fail. Jalannya mungkin mutlak(Sebagai contoh, /temp/foo) atau relatif(Sebagai contoh, buku4/sistem fail). Yang terakhir ditafsirkan bermula dari direktori semasa. Perlu diingat bahawa setiap proses mempunyai direktori semasa (kebanyakan proses tidak pernah mengubah direktori kerja mereka, dan oleh itu hanya mewarisi direktori semasa proses yang melancarkannya).

Terdapat had pada panjang nama fail - tidak lebih daripada 255 aksara. Nama itu tidak boleh memasukkan garis miring atau aksara batal. Terdapat juga had pada panjang laluan yang dihantar ke kernel sebagai hujah panggilan sistem - 4095 bait.

Memasang dan menyahlekap sistem fail

Pokok fail terbentuk daripada bahagian yang berasingan, yang dipanggil sistem fail. Setiap sistem fail mempunyai direktori akar dan senarai subdirektori dan failnya. Kebanyakan sistem fail adalah partition cakera keras atau volum logik, tetapi seperti yang dinyatakan sebelum ini, sistem fail boleh berbentuk apa-apa sahaja yang mengikut ciri fungsi tertentu - sistem fail rangkaian, komponen kernel, cakera, peranti, dsb.

Dalam kebanyakan kes, sistem fail dilampirkan pada pepohon fail menggunakan arahan lekapkan. Perintah ini mengaitkan direktori dalam pepohon fail sedia ada, dipanggil titik pelekap, dengan direktori akar sistem fail baharu. Semasa pelekap, akses kepada kandungan titik pelekap sebelumnya menjadi mustahil. Sebagai contoh, arahan $ sudo mount /dev/sda4 /users lekap pada peranti /dev/sda4 sistem fail /pengguna. Setelah pemasangan selesai, anda boleh menggunakan arahan ls /users untuk melihat kandungan sistem fail. Senarai sistem fail yang dipasang oleh pengguna disimpan dalam fail /etc/fstab. Menurunkan sistem fail menggunakan arahan umount. Sistem fail yang sibuk tidak boleh dinyahlekap.

Organisasi sistem fail

Sistem fail akar mengandungi direktori akar dan set minimum fail dan subdirektori. Fail kernel berada jauh di dalam sistem fail akar, tetapi tidak mempunyai nama standard atau lokasi yang tepat.

Sebahagian daripada sistem fail akar juga merupakan direktori /dan lain-lain untuk fail sistem kritikal dan fail konfigurasi, direktori /sbin Dan /bin- untuk utiliti penting dan kadangkala direktori /tmp- untuk fail sementara. Katalog /dev biasanya direktori sebenar yang disertakan dalam sistem fail akar, tetapi ia boleh (sebahagian atau sepenuhnya) ditindih oleh sistem fail lain jika sistem anda mempunyai sokongan maya untuk perantinya.

Sesetengah sistem menyimpan fail perpustakaan kongsi dan program penting lain (seperti prapemproses bahasa C) dalam direktori /lib. Orang lain telah memindahkan item ini ke direktori /usr/lib, meninggalkan /lib peranan pautan simbolik.

Katalog juga sangat penting /usr Dan /var. Yang pertama mengandungi kebanyakan program standard dan komponen berguna lain, khususnya dokumentasi dan perpustakaan dalam talian. Ia sama sekali tidak perlu bahawa katalog /usr adalah sistem fail yang berasingan, tetapi untuk memudahkan pentadbiran ia biasanya dipasang dengan cara itu. Untuk membolehkan sistem boot ke mod berbilang pengguna, kedua-dua direktori diperlukan - /usr Dan /var. Dalam katalog /var mengandungi direktori kili, fail log, maklumat perakaunan, dan komponen lain yang khusus untuk setiap komputer. Kerana fail log berkembang dengan cepat apabila masalah berlaku, adalah disyorkan untuk meletakkan direktori /var kepada sistem fail yang berasingan. Direktori rumah pengguna paling kerap disimpan pada sistem fail berasingan, yang biasanya dipasang pada direktori akar. Sistem fail yang berasingan juga boleh digunakan untuk menyimpan tatasusunan maklumat yang besar, contohnya, perpustakaan kod sumber program dan pangkalan data.

Jadual menunjukkan direktori standard dan kandungannya

Katalog OS Kandungan
/bin Semua Perintah sistem pengendalian kernel
/boot L.S. Kernel dan fail untuk memuatkannya
/dev Semua Fail peranti: cakera, pencetak, pseudo-terminal, dsb.
/dan lain-lain Semua Permulaan penting dan fail konfigurasi sistem
/rumah Semua Direktori rumah pengguna lalai
/ kernel S Komponen kernel
/lib Semua Perpustakaan, perpustakaan kongsi dan komponen pengkompil C
/media L.S. Mata lekap sistem fail pada media boleh tanggal
/mnt LSA Titik pelekap sementara
/opt Semua Pakej perisian aplikasi pilihan (belum digunakan secara meluas)
/proc LSA Maklumat tentang semua proses yang sedang berjalan
/root L.S. Direktori rumah pengguna super (selalunya hanya /)
/sbin Semua Perintah yang diperlukan untuk memastikan prestasi sistem yang minimum
/berdiri H Utiliti luar talian, diagnostik dan alat pemformatan cakera
/tmp Semua Fail sementara yang boleh dipadamkan semasa but semula
/usr Semua Hierarki fail dan program tambahan
/usb/bin Semua Kandungan
/usr/include Semua Fail pengepala untuk menyusun atur cara C
/usr/lib Semua Perpustakaan dan fail tambahan untuk program standard
/usr/lib64 L Pustaka 64-bit untuk pengedaran Linux 64-bit
/usr/local Semua Program tempatan (program yang dibuat atau dipasang oleh pengguna tempatan)
/usr/sbin Semua Fail Pentadbiran Sistem yang Kurang Penting
/usr/share Semua Elemen biasa kepada sistem yang berbeza
/usr/share/man Semua Halaman dokumentasi dalam talian
/usr/src LSA Kod sumber pakej perisian bukan tempatan (tidak digunakan secara meluas)
/usr/tmp Semua Direktori tambahan untuk fail sementara yang boleh berterusan sepanjang but semula
/var Semua Data sistem dan fail konfigurasi
/var/adm Semua Pelbagai: fail log, rekod pemasangan sistem, komponen pentadbiran
/var/log LSA Fail log sistem
/var/spool Semua Direktori kili untuk pencetak, e-mel, dsb.
/var/tmp Semua Direktori untuk penyimpanan sementara fail

Nota: L = Linux, S = Solaris, H = HP-UX, A = AIX

Jenis fail

Kebanyakan pelaksanaan sistem fail mentakrifkan tujuh jenis fail:

  • Fail biasa
  • Katalog
  • Fail peranti (karakter) berorientasikan bait
  • Fail peranti berorientasikan blok (sekat).
  • Soket tempatan
  • Paip bernama (melaksanakan prinsip perkhidmatan FIFO - masuk dahulu, keluar dahulu)
  • Pautan simbolik

Anda boleh menentukan jenis fail sedia ada menggunakan arahan ls -ld. Aksara pertama dalam baris keluaran menunjukkan jenis objek. Contoh:

$ ls -ld /usr/include

di mana d– bermaksud direktori

Kod yang mungkin untuk mewakili pelbagai jenis fail dibentangkan dalam jadual

Fail biasa hanyalah urutan bait. Sistem fail tidak mengenakan sekatan ke atas strukturnya. Dokumen teks, fail data, fail program, perpustakaan fungsi dan banyak lagi semuanya disimpan dalam fail biasa. Kandungan mereka boleh diakses sama ada secara berurutan atau terus.

Direktori menyimpan pautan bernama dan fail lain. Ia dicipta oleh pasukan mkdir dan dipadam (dengan syarat ia kosong) dengan arahan rmdir. Direktori yang tidak kosong boleh dipadamkan dengan arahan rm -r. Pautan khas '.' dan '..' masing-masing menandakan direktori itu sendiri dan direktori induknya. Pautan sedemikian tidak boleh dialih keluar. Memandangkan direktori akar berada di bahagian atas hierarki, pautan '..' bersamaan dengan pautan '.'.

Nama fail sebenarnya disimpan dalam direktori induk, bukan dalam fail itu sendiri. Fail boleh dirujuk daripada berbilang direktori pada masa yang sama, malah daripada berbilang entri dalam direktori yang sama, dan setiap rujukan boleh mempunyai nama yang berbeza. Ini mewujudkan ilusi bahawa fail itu hadir dalam direktori yang berbeza pada masa yang sama. Pautan keras (tetap) tambahan ini boleh dianggap sinonim untuk fail sumber, dan dari sudut pandangan sistem fail, semua pautan ke fail adalah setara. Sistem fail mengira bilangan rujukan kepada setiap fail dan, apabila fail dipadamkan, tidak mengeluarkan blok data sehingga rujukan terakhir kepadanya dipadamkan. Pautan tidak boleh menunjuk ke fail yang terletak pada sistem fail yang berbeza.

Pautan keras dicipta oleh arahan ln dan dipadamkan oleh arahan rm. Sintaks Perintah ln mudah diingat kerana ia adalah "imej cermin" arahan cp. Pasukan cp fail lama fail baharu mencipta salinan fail lama yang dipanggil newfile, dan arahan Dalam fail lama fail baharu menukar nama fail baharu menjadi pautan tambahan kepada fail lama fail.

Fail peranti membenarkan atur cara untuk mengakses perkakasan dan perkakasan sistem. Kernel termasuk (atau memuatkan) program khas (pemandu) yang "tahu" dengan sangat terperinci cara berinteraksi dengan setiap peranti yang tersedia, jadi kernel itu sendiri boleh kekal secara relatif abstrak dan bebas daripada perkakasan.

Pemacu peranti membentuk antara muka komunikasi standard, yang dianggap oleh pengguna sebagai koleksi fail biasa. Apabila sistem fail menerima permintaan untuk aksara atau menyekat fail peranti, ia menghantar permintaan kepada pemacu yang sesuai. Adalah penting untuk membezakan fail peranti daripada pemacu peranti. Fail itu sendiri bukan pemacu.

Mereka boleh dianggap sebagai pintu masuk yang melaluinya pemandu menerima permintaan. Fail peranti aksara membenarkan pemacu yang dikaitkan dengan mereka melakukan penimbalan I/O mereka sendiri. Fail peranti blok diproses oleh pemacu, yang melaksanakan I/O dalam ketulan besar, dan penimbalan dilakukan oleh kernel. Pada masa lalu, beberapa jenis perkakasan boleh diwakili oleh sama ada jenis fail, tetapi konfigurasi ini jarang berlaku pada sistem moden.

Fail peranti dicirikan oleh dua nombor: major dan minor. Nombor peranti utama membolehkan kernel menentukan pemacu mana kepunyaan fail, manakala nombor kecil biasanya mengenal pasti peranti fizikal tertentu. Sebagai contoh, peranti utama nombor 4 dalam Linux sepadan dengan pemacu port bersiri. Jadi port bersiri pertama (/dev/tty0) akan mempunyai nombor utama 4 dan nombor kecil 0.

Pemandu boleh mentafsir nombor peranti kecil yang dihantar kepada mereka dalam apa jua cara yang mereka mahu. Sebagai contoh, pemacu pemacu pita menggunakan nombor ini untuk menentukan sama ada pita perlu digulung semula selepas fail peranti ditutup.

Pada masa lalu yang jauh /dev memainkan peranan sebagai direktori kongsi, dan fail peranti yang disimpan di dalamnya dibuat menggunakan arahan mknod dan telah dipadamkan oleh arahan rm. Skrip yang dipanggil MAKEDEV membantu menyeragamkan penciptaan fail peranti.

Malangnya, sistem "mentah" ini tidak dapat mengatasi dengan baik lautan pemacu dan jenis peranti yang luas yang telah muncul dalam beberapa dekad kebelakangan ini. Ia juga memperkenalkan pelbagai kemungkinan ketidakkonsistenan konfigurasi: contohnya, fail peranti yang merujuk kepada peranti yang tidak wujud, peranti tidak boleh diakses kerana ia tidak mempunyai fail peranti, dsb.

Hari ini, kebanyakan sistem melaksanakan beberapa bentuk pengurusan fail peranti automatik, yang membolehkan sistem mengambil peranan yang lebih aktif dalam mengkonfigurasi fail perantinya sendiri. Sebagai contoh, pada Solaris direktori /dev dan /devices dimayakan sepenuhnya. Pada pengedaran Linux, direktori /dev ialah direktori lalai, tetapi fail di dalamnya diuruskan oleh daemon udevd. (Daemon udevd mencipta dan memadam fail peranti sebagai tindak balas kepada perubahan perkakasan yang dilaporkan oleh kernel.)

Sambungan soket membolehkan proses berkomunikasi tanpa dipengaruhi oleh proses lain. UNIX menyokong beberapa jenis soket, penggunaannya biasanya memerlukan kehadiran rangkaian. Soket tempatan hanya tersedia pada komputer tempatan dan diakses melalui objek sistem fail khas dan bukannya melalui port rangkaian. Kadangkala soket sedemikian dipanggil soket UNIX.

Walaupun proses lain mengiktiraf fail soket sebagai entri direktori, hanya proses yang mempunyai sambungan yang sesuai antara mereka boleh membaca dan menulis ke fail soket. Contoh alatan standard yang menggunakan soket tempatan termasuk sistem X Window dan Syslog.

Soket tempatan dicipta menggunakan panggilan sistem soket. Apabila sambungan ditutup pada kedua-dua belah pihak, soket boleh dipadamkan dengan arahan rm atau menggunakan panggilan sistem nyahpaut.

Seperti soket tempatan, paip bernama membolehkan komunikasi antara dua proses yang berjalan pada komputer yang sama. Saluran sedemikian juga dipanggil fail FIFO (Masuk Pertama, Keluar Dahulu). Mereka dicipta oleh satu pasukan mknod dan dipadamkan oleh arahan rm.

Seperti soket tempatan, contoh paip bernama sebenar adalah sedikit dan jauh antara. Mereka jarang memerlukan campur tangan pentadbiran.

Paip yang dinamakan dan soket tempatan mempunyai tujuan yang hampir sama, dan kewujudan bersama mereka telah berkembang dari segi sejarah. Jika sistem UNIX dan Linux dibangunkan hari ini, maka cara interaksi ini tidak akan menjadi isu; kini ia akan digantikan dengan soket rangkaian.

Bekerja dengan fail dalam Linux

Pertama sekali, mari kita lihat arahan asas untuk bekerja dengan fail dan folder. Untuk mencipta fail gunakan arahan sentuh, untuk mencipta direktori arahan mkdir.

user@ubuntu$ sentuh [nama fail] – buat fail

user@ubuntu$ mkdir [nama direktori] – buat direktori

Fail dipadam menggunakan arahan rm. Untuk direktori, arahan yang sama digunakan, hanya dengan suis -r (rekursif).

user@ubuntu$ rm [nama fail] – padam fail

user@ubuntu$ rm -r [nama direktori] – padam direktori

Anda boleh melihat direktori apa yang kami gunakan menggunakan arahan pwd. Kandungan direktori dilihat oleh arahan ls, yang mudah untuk dipanggil dengan suis -l untuk melihat maklumat lanjutan tentang setiap fail. Peralihan ke direktori dijalankan dengan arahan CD.

user@ubuntu$ pwd – direktori semasa

pengguna@ubuntu$ ls -l [laluan direktori] – kandungan direktori

user@ubuntu$ cd [laluan direktori] – pergi ke direktori

Operasi salin dan alih dijalankan menggunakan arahan cp Dan mv masing-masing. Di Linux tidak ada arahan khas untuk menamakan semula fail, sebaliknya anda gunakan mv.

user@ubuntu$ cp [fail untuk disalin] [direktori] – menyalin fail

user@ubuntu$ mv [fail alih] [direktori] – memindahkan fail

user@ubuntu$ mv [nama fail semasa] [nama fail baharu] – namakan semula fail

Dalam contoh ini, kami mencipta ujian direktori/, pergi kepadanya dengan arahan cd. Dalam direktori ini kami mencipta dua fail fail dan fail2. Paparkan kandungan direktori dengan arahan ls -l. Salin fail fail dan namakan fail3. Namakan semula fail fail kepada new_file dengan arahan mv. Pada akhirnya, padam semua fail dalam direktori dengan arahan rm * . * – menandakan sebarang bilangan aksara. Pergi ke direktori di atas dengan arahan CD.. dan padam direktori /test.

Kebenaran dalam Linux

Hak akses kepada fail atau direktori boleh ditetapkan menggunakan arahan chmod. Hanya pemilik fail dan pengguna akar mempunyai hak ini. Di Linux, setiap fail mempunyai set kebenaran yang sepadan, diwakili sebagai 8 bit mod. Mereka menentukan pengguna mana yang mempunyai hak untuk membaca, mengedit dan melaksanakan fail.

Hujah pertama arahan chmod ialah spesifikasi kebenaran. Argumen kedua dan seterusnya ialah nama fail yang hak aksesnya akan ditukar. Apabila menggunakan tatatanda oktal, digit pertama merujuk kepada pemilik, yang kedua kepada kumpulan dan yang ketiga kepada pengguna lain. Jika bit setuid/setgid atau bit tambahan mesti ditentukan, empat digit perlapanan hendaklah dinyatakan dan bukannya tiga: digit pertama dalam kes ini akan sepadan dengan tiga bit khas.

Jadual menunjukkan lapan kombinasi yang mungkin untuk setiap set tiga bit, di mana aksara r, w, dan x masing-masing menandakan kebenaran baca, tulis dan laksanakan.

Sebagai contoh, arahan chmod 711 myprog menyediakan pemilik dengan semua hak, dan pengguna lain dengan hanya hak pelaksanaan 9 .

Apabila menggunakan sintaks mnemonik, anda menggabungkan satu set pelaku (u untuk pengguna, g untuk kumpulan, atau o untuk yang lain) dengan operator (+tambah, –padam dan =tugaskan) dan satu set kebenaran. Penerangan yang lebih terperinci tentang sintaks mnemonik boleh didapati dalam halaman manual untuk arahan chmod, tetapi sintaks sentiasa terbaik dipelajari melalui contoh.

Situasi sering berlaku apabila, apabila menjalankan fail, ia mengadu tentang kekurangan hak. Masalah ini boleh diselesaikan dengan arahan sudo chmod a+x fail. Perintah itu bermaksud bahawa fail fail ditetapkan untuk melaksanakan kebenaran untuk semua pengguna.

Dengan pilihan -R, arahan chmod akan mengemas kini secara rekursif kebenaran semua fail dalam direktori yang ditentukan dan subdirektorinya. Di sini adalah paling mudah untuk mematuhi sintaks mnemonik, supaya hanya bit yang ditetapkan secara eksplisit diubah. Sebagai contoh, arahan
chmod -R g+w mydir menambah kebenaran menulis kumpulan ke direktori mydir dan kandungannya tanpa menjejaskan kebenaran lain.

___________________________

Pengenalan kepada Sistem Fail

Sistem pengendalian (selepas ini dirujuk sebagai OS) Linux menyokong banyak sistem fail, pada masa ini yang paling banyak digunakan: ext2, ext3, ext4, reiserfs. Juga, sistem pengendalian Linux moden serasi dengannya sistem fail(FS di bawah) digunakan oleh Windows OS, seperti NTFS Dan FAT32, tetapi penggunaan data FS dalam Linux adalah sangat tidak diingini kerana fakta bahawa FS ini dibangunkan untuk OS Windows dan sokongan untuk partition Windows oleh kernel Linux dilaksanakan menggunakan utiliti/pemandu/modul pihak ketiga, yang mengenakan beberapa sekatan ( sebagai contoh, menurut projek Linux-NTFS pada masa penulisan, partition NTFS menyokong hampir hanya membaca (menulis hanya pada fail sedia ada tanpa mengubah saiznya), dan Linux OS tidak mempunyai keupayaan untuk membezakan hak akses kepada fail pada NTFS sekatan.Keadaan ini mungkin berubah dari semasa ke semasa.

Konsep asas

Saya akan mulakan dengan struktur sistem fail umum. FS Linux/UNIX secara fizikal mewakili ruang partition cakera dibahagikan kepada blok bersaiz tetap, gandaan saiz sektor - 1024, 2048, 4096 atau 8120 bait. Saiz blok ditentukan apabila sistem fail dibuat.

Pengurusan pertukaran data antara kernel/aplikasi dan bait sebenar pada cakera dikendalikan oleh 2 teknologi asas yang dipanggil sistem fail maya (VFS) Dan pemacu sistem fail. Sistem fail maya ialah sebahagian daripada kernel linux, yang merupakan sejenis lapisan abstrak (antara muka interaksi, jika anda suka) antara kernel dan pelaksanaan khusus sistem fail (ext2, fat32...). Teknologi ini membolehkan kernel dan aplikasi berinteraksi dengan sistem fail tanpa mengambil kira butiran operasi sistem fail tertentu dan menguruskan operasi fail menggunakan arahan standard - secara telus. Selalunya, VFS dipanggil suis sistem fail maya. Sistem fail maya juga menghubungkan peranti blok dengan sistem fail sedia ada.

Senarai sistem fail yang disokong oleh kernel Linux anda boleh dilihat dalam fail /proc/filesystems.

Struktur direktori dan konsep asas lain

Struktur direktori, secara umum, boleh diwakili sebagai rajah berikut:

Rajah ini menunjukkan bahawa satu objek sistem fail (fail) boleh mempunyai berbilang laluan. Secara kasarnya, berbilang fail dalam struktur direktori Linux secara fizikal boleh menjadi satu fail pada cakera. Atau dengan kata lain, 1 fail fizikal pada cakera boleh mempunyai beberapa nama (laluan). Ini dicapai dengan mengenal pasti setiap fail dalam sistem fail. nombor unik, dipanggil Inode(inod = Inode).

Daripada ini kita boleh membuat kesimpulan bahawa struktur sistem fail adalah sebahagiannya berhierarki. Atau lebih baik dikatakan, "rentas hierarki," kerana pokok hierarki, disebabkan fakta bahawa satu objek boleh mempunyai beberapa laluan, boleh bersilang.

Struktur fail Linux mempunyai satu pembahagian akar- / (aka akar , akar ). Semua partition cakera keras(jika terdapat beberapa daripadanya) mewakili struktur subdirektori "dilekapkan" pada direktori tertentu; ini boleh digambarkan secara skematik seperti berikut:

/- |-/etc-|-/etc/X11-|-/etc/X11/xinit.d | | |-... | |-fail | |-... |-/opt |-/home<- |-/user1-|-/user1/Desktop # примонтированный раздел ext3, | | |-/user1/Documents # содержащий свое дерево каталогов | | |-... # (/home - точка монтирования) | |-/user2 | |-.... |-/usr |-/var

Operasi lekapkan berfungsi untuk menyediakan sistem fail yang terletak pada peranti blok. Intipati operasi pemasangan ialah kernel mengaitkan direktori (dipanggil titik pelekap) dengan peranti yang mengandungi sistem fail dan pemacu sistem fail. Untuk melakukan ini, ia menghantar pautan ke peranti blok - pemacu sistem fail, dan jika pemandu telah berjaya mengenal pasti sistem fail ini, kernel memasukkan ke dalam jadual pelekap khas maklumat bahawa semua fail dan direktori yang laluan penuhnya bermula dengan titik lekap yang ditentukan, disampaikan oleh pemacu sistem fail yang sesuai dan terletak pada peranti blok yang ditentukan. Anda boleh melihat jadual sistem fail yang dipasang melalui fail /proc/mounts .

Catatan. Secara umumnya, tidak perlu untuk mengikat peranti blok dalam kes ini. Peranti yang dipasang boleh bukan sahaja berasaskan blok. Ia boleh, sebagai contoh, rangkaian (jika NFS atau SMB\CIFS dipasang).

Lihat berapa banyak pautan fail mempunyai dan inode fail menggunakan arahan:

$ ls -li 193 drwxr-xr-x 1 mc-sim root 368 Mac 30 2008 bin 1 drwxr-xr-x 1 mc-sim root 0 Jan 1970 dev 197 lrwxrwxrwx 1 mc-sim root 7 Mac 30 dsb -> 20 tmp/etc...

dalam contoh yang diberikan, lajur pertama (nilai 193,1,197) ialah inode, dan lajur ketiga (nilai 1) ialah bilangan pautan ke fail (baca: laluan fail).

Inode, seperti yang telah dikatakan, unik dalam sistem fail tertentu dan mengandungi maklumat berikut:

  • tentang pemilik objek FS
  • masa akses terakhir
  • saiz objek FS
  • menentukan sama ada ia adalah fail atau direktori
  • hak akses
Struktur dan Penerangan Direktori Linux
. pautan ke direktori semasa. Elemen ini terdapat dalam setiap direktori struktur fail.
.. pautan ke direktori induk. Elemen ini terdapat dalam setiap direktori struktur fail. (pada akar - / elemen ini menunjukkan sistem akar itu sendiri)
/ Direktori akar FS, semua subdirektori peringkat pertama yang lain "terikat" di sini
/bin/ Program binari, program asas untuk bekerja dalam sistem: shell perintah, utiliti fail, dll.
/boot/ fail pemuat but statik (imej kernel, GRUB, fail LILO)
|-- /grub/
|-- /lilo/ Direktori fail konfigurasi
| config-kern_ver fail konfigurasi kernel semasa
| initrd.img-kern_ver boot imej initrd
| vmlinuz-kern_ver Imej kernel Linux
/dev/ direktori yang mengandungi fail peranti.
Di Linux, semuanya dianggap sebagai fail, malah pelbagai peranti seperti pencetak, cakera keras, pengimbas, dll. Untuk mendapatkan akses kepada peranti tertentu, fail khas mesti wujud. Kebanyakan sistem pengendalian seperti UNIX direka bentuk dengan cara yang sama.
|-- /pts/ sistem fail dummy, iaitu struktur fail yang mencerminkan terminal pseudo pengguna log masuk
| |-- 0 peranti terminal pseudo pts/0
| |-- 1 peranti terminal pseudo pts/1
| --- n peranti terminal pseudo pts/n
|-- null kononnya "lubang hitam" atau "guci bit". Semua maklumat yang dihantar ke peranti ini hilang/musnah.
--- sifar "penjana sifar"
/dan lain-lain/ Fail konfigurasi sistem, skrip permulaan, fail konfigurasi sistem grafik dan pelbagai aplikasi. Dari direktori ini saya ingin menyerlahkan fail berikut:
|-- /lalai/ mengandungi fail konfigurasi sistem dalam pengedaran Debian (sama dengan /etc/sysconfig/ dalam RedHat)
|-- /logrotate.d/ direktori fail konfigurasi untuk daemon pemprosesan log automatik;
| |-- apache
| |-- sotong konfigurasi pengelogan apache
| |-- syslog konfigurasi pengelogan log sistem
| --- ...
|-- /pam.d/ direktori mengandungi fail konfigurasi PAM (nyatakan kaedah pengesahan dalam aplikasi menggunakan PAM)
|-- /ppp/ direktori mengandungi konfigurasi sambungan PPP:
| |-- pilihan mengandungi konfigurasi biasa untuk semua sambungan PPP;
| |-- pilihan.* konfigurasi sambungan tertentu (contohnya pilihan modem.ttyS1)
| |-- ip-up skrip dilaksanakan pada/untuk sambungan (oleh daemon pppd);
| --- ip-down skrip dilaksanakan semasa/untuk memutuskan sambungan (oleh daemon pppd).
|-- /rc.d/ direktori sistem (mengandungi skrip permulaan)
| |-- /init.d/ mengandungi skrip untuk menguruskan daemon sistem (perkhidmatan);
| --- /rcX.d/ Direktori runlevel X, mengandungi pautan ke skrip dalam init.d;
|-- /samba/ mengandungi fail konfigurasi samba:
| |-- smb.conf Fail konfigurasi utama SAMBA;
| |-- smbusers menerangkan pemetaan pengguna SAMBA kepada pengguna sistem;
| --- smbpasswd mengandungi cincang pengguna SAMBA, kata laluan ditetapkan oleh utiliti smbpasswd.
|-- /ssh/ sshd direktori konfigurasi daemon
| |-- ssh_config fail konfigurasi klien ssh
| --- sshd_config Fail konfigurasi pelayan SSH
|-- /sysconfig/ mengandungi fail konfigurasi sistem dalam pengedaran RedHat (sama dengan /etc/default/ dalam Debian)
| |-- papan kekunci perihalan susun atur papan kekunci semasa;
| |-- desktop memasang persekitaran grafik (KDE, GNOME..);
| |-- rangkaian fail konfigurasi subsistem rangkaian
| --- i18n konfigurasi tempat seluruh sistem (tempat pengguna individu mungkin terkandung dalam (rumah)/i18n);
|-- /keselamatan/ mengandungi Fail yang menerangkan keselamatan sistem:
| |-- konsol.perms peraturan untuk menukar hak akses kepada peranti semasa pengesahan;
| |-- had.conf konfigurasi had pengguna.
| --- rangkaian konfigurasi rangkaian;
|-- /skel/ templat direktori pengguna (pada masa penciptaan pengguna, kandungan direktori pengguna disalin dari sini), sejenis analog direktori C:\Documents and settings\Default User\ dalam Windows.
|-- /xinetd.d/ direktori mengandungi fail konfigurasi untuk perkhidmatan individu untuk superserver xinetd;
|-- /X11/ /fs/config mengandungi senarai direktori dengan fon untuk X;
| |-- XF86Config Fail konfigurasi X (XFree86);
| --- xorg.conf Fail konfigurasi X (XOrg);
|-- at.membenarkan Senarai pengguna yang membenarkan (membenarkan) atau menafikan (menolak) pelaksanaan utiliti at
|-- at.menafikan
|-- cron.membenarkan Senarai pengguna yang membenarkan (membenarkan) atau menafikan (menolak) pelaksanaan
|-- cron.menafikan
|-- anacrontab konfigurasi tugas yang dilakukan oleh anacron;
|-- crontab konfigurasi tugas yang dilaksanakan oleh cron;
|-- eter Fail yang memadankan alamat MAC perkakasan dengan alamat IP rangkaian pada rangkaian; sekiranya berlaku ketidakpadanan, akses untuk hos akan dinafikan;
|-- eksport konfigurasi sumber NFS boleh diakses dari luar;
|-- sistem fail senarai sistem fail yang disokong oleh kernel (sistem fail diambil dari sini jika ia tidak disenaraikan dalam /etc/fstab)
|-- fstab senarai fail yang dipasang secara automatik semasa but
|-- kumpulan pangkalan data
|-- gshadow fail kata laluan kumpulan pengguna
|-- nama hos nama mesin semasa;
|-- tuan rumah senarai hos dan alamat IP yang sepadan;
|-- tuan rumah.membenarkan senarai hos yang dibenarkan untuk log masuk;
|-- tuan rumah.menafikan senarai hos yang mana penyertaannya dilarang (untuk libc ver 5);
|-- hos.conf menunjukkan di mana dan dalam susunan untuk mencari nama hos (untuk libc ver 6);
|-- inittab ;
|-- inputrc konfigurasi sumber input papan kekunci;
|-- isu mesej dipaparkan apabila menyambung ke sistem secara setempat
|-- issue.net mesej dipaparkan apabila menyambung ke sistem dari jauh
|-- ld.so.conf fail konfigurasi yang mengandungi senarai direktori di mana, sebagai tambahan kepada laluan yang ditentukan, pemaut melihat dalam direktori /lib dan /usr/lib
|-- ld.so.cache cache fail perpustakaan, untuk carian perpustakaan yang lebih pantas (sejenis indeks)
|-- login.defs menerangkan tingkah laku log masuk dan su;
|-- logrotate.conf konfigurasi daemon
|-- lilo.conf Konfigurasi pemuat but LILO;
|-- man.conf konfigurasi sistem halaman bantuan, arahan lelaki;
|-- motd mesej yang dipaparkan kepada semua pengguna selepas memasukkan kata laluan dan sebelum memulakan penterjemah, yang dipanggil. "mesej hari ini"
|-- mtab Senarai FS yang dipasang pada masa ini. Biasanya, fail ini harus dibuat sebaik sahaja sistem fail baharu dipasang.
|-- netgroup Fail mentakrifkan kumpulan rangkaian yang digunakan untuk menyemak hak akses semasa melakukan log masuk jauh.
|-- nologin kehadiran fail ini menghalang pengguna daripada log masuk ke sistem dengan mesej dalam fail;
|-- nsswitch.conf konfigurasi urutan carian nama daripada pelbagai sumber;
|-- passwd
|-- printcap Fail konfigurasi pencetak;
|-- profil skrip profil untuk penterjemah BASH (dilaksanakan selepas log masuk ke sistem dan digunakan untuk semua pengguna sistem);
|-- protokol fail menerangkan nombor protokol, tajuk dan penerangan.
|-- resolv.conf konfigurasi penyelesai nama, mengandungi senarai pelayan DNS;
|-- rpc fail menerangkan perkhidmatan RPC (nama pelayan RPC yang sepadan, nombor program RPC dan alias)
|-- perkhidmatan mengandungi pemetaan nombor port/soket kepada nama perkhidmatan
|-- bayang
|-- sysctl.conf mengandungi arahan untuk permulaan automatik parameter sysctl kernel;
|-- syslog.conf konfigurasi daemon pembalak sistem (syslogd);
|-- sudoers petunjuk pengguna dan program mana yang boleh dijalankan dengan keistimewaan root menggunakan sudo.
--- xinetd.conf Konfigurasi superserver Internet (pengurusan soket/port berpusat);
/rumah/ (nama pengguna) direktori yang mengandungi subdirektori pengguna (tetapan antara muka, fail peribadi)
|-- .bashrc profil khusus pengguna untuk BASH (berjalan apabila bash bermula atau salinan bash bermula);
|-- .cshrc profil pengguna khusus untuk TCSH;
|-- .bash_profile profil khusus pengguna untuk BASH (berjalan setiap kali anda log masuk).
|-- .inputrc konfigurasi sumber input papan kekunci untuk pengguna tertentu.
|-- .Xauthority fail kebenaran untuk melancarkan aplikasi X dari jauh, fail pada mesin jauh mesti sepadan;
|-- .xinitrc Skrip but pelayan X untuk pengguna tertentu;
--- .rancang
.projek
.ke hadapan
fail ini digunakan oleh utiliti jari untuk memaparkan maklumat pengguna
/lib/ Pustaka sistem diperlukan untuk program dan modul kernel. (Pada Windows, perpustakaan ialah modul dll)
/hilang+ditemui Lost+found mengandungi fail yang tidak mempunyai pautan dalam mana-mana direktori, walaupun inodnya tidak ditandakan sebagai percuma.
/media/ Direktori untuk memasang media boleh tanggal (CD, Flash)
|-- /cdrom/
/mnt/ Direktori mengandungi titik pelekap sementara untuk peranti
/opt/ Pakej perisian tambahan. Jika program yang dipasang di sini tidak lagi diperlukan, maka sudah cukup untuk memadamkan direktorinya tanpa prosedur penyahpasangan. Program yang bukan sebahagian daripada pengedaran boleh dipasang di sini. (contohnya /opt/openoffice.org).
/proc/ FS maya yang disimpan dalam memori komputer apabila OS dimuatkan. Direktori ini mengandungi maklumat terkini tentang semua proses yang dijalankan pada komputer. Kandungan setiap fail ditentukan dalam masa nyata. Di antara direktori ini, saya ingin menyerlahkan fail dan direktori berikut:
|-- /net/
| -- arp jadual arp semasa
|-- /sys/kernel/
| |-- bertutup topi pengurusan hak tambahan, seperti yang dilakukan dalam baris terakhir untuk profil skrip cakera liut.tr untuk penterjemah BASH (dilaksanakan oleh td/tdtda name="proc" selepas pendaftaran dalam sistem dan digunakan untuk semua pengguna sistem); oleh anda (root) (0 – hak akar dibatalkan);
| |-- nama hos nama komputer semasa
| |-- nama domain Nama domain komputer
| |-- osrelease versi kernel sistem;
| |-- ostype Jenis OS (Linux, *BSD, ...);
| --- versi tarikh binaan kernel.
|-- cpuinfo Maklumat pemproses semasa
|-- cmdline senarai parameter yang dihantar ke kernel semasa boot
|-- peranti peranti sistem
|-- dma Saluran DMA yang digunakan pada masa ini
|-- menyampuk Kaunter untuk bilangan IRQ dalam seni bina i386.
|-- ioports Port I/O
|-- sistem fail disokong oleh FS
|-- loadvg maklumat beban sistem
|-- kcore kandungan ingatan fizikal pada masa semasa
|-- kmsg mesej yang dikeluarkan oleh kernel (salinan syslog)
|-- mdstat memaparkan statistik tatasusunan RAID perisian
|-- meminfo maklumat ingatan
|-- modul modul kernel yang dimuatkan
|-- melekap FS yang dipasang
|-- sekatan maklumat partition cakera
|-- pci Senarai lengkap semua peranti PCI yang ditemui semasa pemulaan kernel, bersama dengan konfigurasinya.
|-- pertukaran maklumat tentang semua partition swap yang disambungkan kepada sistem
|-- masa beroperasi masa beroperasi
|-- versi versi kernel
|-- /digital/ direktori yang mengandungi set nombor dalam namanya sepadan dengan nombor GID proses dan mengandungi maklumat tentang proses berjalan yang GID sepadan dengannya.
| |-- /fd/* mengandungi penunjuk kepada semua fail yang dibuka oleh proses
| |-- cmdline baris arahan lengkap untuk menjalankan proses sehingga proses "dipunggah" atau menjadi "zombie"
| |-- cwd pautan simbolik ke direktori kerja semasa proses
| |-- persekitaran mengandungi persekitaran proses
| |-- exe mengandungi pautan lembut kepada perduaan proses
| |-- had mengandungi maklumat tentang had proses (contohnya, had fail terbuka, keutamaan proses, dsb.)
| |-- akar pautan lembut ke direktori pengguna akar untuk proses tersebut
| --- status Maklumat tentang proses yang dibentangkan dalam bentuk yang agak mudah untuk dilihat. Ia mengandungi, khususnya, baris berikut:
  • Nama fail boleh laku proses dalam kurungan;
  • Status proses;
  • ID Proses
  • ID proses ibu bapa
  • ID kumpulan proses proses
  • dan lain-lain.
/root/ direktori rumah pengguna root, direktori ini mesti berada dalam root FS supaya pentadbir boleh log masuk ke dalamnya.
/sbin/ Direktori ini mengandungi binari sistem utama, arahan untuk pentadbiran sistem, serta program yang dilaksanakan semasa boot OS. Berikut ialah elemen yang berjalan di latar belakang; dalam erti kata lain, direktori ini serupa dengan folder c:\Windows\system\ dan c:\Windows\system32\.
--- menutup utiliti penutupan sistem
/srv/ data perkhidmatan yang disediakan daripada OS
/sys/ Ini ialah direktori di mana sistem fail maya sysfs dipasang, yang menambahkan maklumat kernel Linux tentang peranti dan pemacu yang terdapat dalam sistem kepada ruang pengguna. (Tidak digunakan dalam versi kernel di bawah 2.6)
|-- /sekat/ direktori mengandungi subdirektori semua peranti blok yang terdapat dalam sistem pada masa ini.
|-- /bas/ Direktori ini mengandungi senarai bas yang ditakrifkan dalam kernel Linux (eisa, pci, dsb.).
--- /kelas/ Direktori mengandungi senarai peranti yang dikumpulkan mengikut kelas (pencetak, scsi-devices, dsb.).
/tmp/ Fail-fail sementara. Direktori ini serupa dengan c:\Windows\temp. Biasanya Linux mengosongkan direktori ini pada masa boot.
/usr/ Direktori ini menyimpan semua pakej perisian yang dipasang, dokumentasi, kod sumber kernel dan Sistem X Window. Semua pengguna kecuali akar superuser mempunyai akses baca sahaja. Boleh dipasang melalui rangkaian dan boleh dikongsi di antara beberapa mesin.
|-- /bin/ Direktori program tambahan untuk semua akaun.
|-- /termasuk/ Fail pengepala C++.
|-- /lib/ Perpustakaan sistem untuk program yang terdapat dalam direktori /usr
| /tempatan/ Mengikut piawaian, /usr sepatutnya biasa kepada beberapa komputer dan dipasang melalui rangkaian, dan /usr/local harus mengandungi pakej program yang dipasang hanya pada mesin tempatan (contohnya, /usr ialah belanjawan keluarga dan /usr/local adalah dompet peribadi setiap orang). Tetapi selalunya, direktori /usr/local digunakan untuk memasang atur cara yang tidak dimaksudkan untuk pengedaran tertentu (contohnya, untuk pengedaran pakej Ubuntu, /usr mengandungi pakej terpasang "asli", dan /usr/local mengandungi pakej tersusun. daripada sumber).
| |-- /bin/
| |-- /lib/
| |-- ...
|-- /sbin/ Program sistem tambahan.
|-- /kongsi/ Data am program yang dipasang.
| |-- /ikon/ Direktori mengandungi semua ikon sistem.
| --- /doc/ Direktori yang biasanya mengandungi dokumentasi bantuan untuk program yang dipasang.
|-- /src/ Direktori mengandungi kod sumber (contohnya, kod sumber kernel terdapat di sini).
|-- /X11R6/bin/ X pautan ke pelayan X semasa;
|-- sihir.mime fail yang menyimpan "nombor ajaib". Nombor ini menerangkan jenis fail untuk utiliti fail.
--- sihir
/var Data yang kerap berubah terdapat di sini (log sistem pengendalian, fail log sistem, fail cache, dll.)
|-- /cache Di sinilah semua data cache dari pelbagai program disimpan.
|-- /lib Data berterusan diubah suai oleh atur cara semasa operasi (contohnya, pangkalan data, metadata pengurus pakej, dsb.).
| --- /rpm/ pangkalan data pengurus pakej RPM
|-- /kunci Berikut ialah fail kunci yang menunjukkan bahawa sesetengah sumber sedang sibuk.
|-- /log/ direktori ini mengandungi semua fail log sistem
| |-- wtmp (format binari) mengandungi percubaan log masuk dan log keluar yang berjaya
| |-- utmp (format binari) mengandungi pengguna yang sedang log masuk
| |-- lastlog (format binari) mengandungi bila kali terakhir setiap pengguna log masuk
| -- btmp (format binari) mengandungi TIDAK berjaya log masuk/percubaan log keluar
|-- /spool Tugasan menunggu untuk diproses (contohnya, mencetak baris gilir, e-mel yang belum dibaca atau tidak dihantar, tugas cron, dsb.).
--- /www Lokasi ini menjadi tuan rumah halaman Web untuk pelayan Apache.

Di sini, secara ringkasnya, adalah tujuan direktori Linux. Pada masa hadapan, jadual ini akan diisi semasa saya mengkaji OS LINUX. Saya ingin ambil perhatian bahawa sesetengah pengedaran mungkin mempunyai struktur direktori yang sedikit berbeza dan mungkin menambah direktori lain. Tetapi dalam kes umum, struktur mempunyai bentuk yang ditunjukkan di atas.

Itu sahaja untuk hari ini. Artikel seterusnya akan menyediakan helaian cheat tentang arahan asas Linux.