Penjelasan Segala -galanya adalah fail dan jenis fail di Linux
- 4452
- 164
- Jerome Quitzon
Sekiranya anda baru ke Linux, atau telah menggunakannya selama beberapa bulan, maka anda mesti mendengar atau membaca pernyataan seperti "Di Linux, semuanya adalah fail".
Semuanya adalah fail dan jenis fail di linuxBaca juga: 5 Perintah Berguna untuk Mengurus Jenis Fail Linux
Itu sebenarnya benar walaupun ia hanya konsep generalisasi, dalam Unix dan derivatifnya seperti Linux, semuanya dianggap sebagai fail. Sekiranya sesuatu bukan fail, maka ia mesti berjalan sebagai proses pada sistem.
Untuk memahami perkara ini, ambil contoh jumlah ruang pada akar anda (/)
Direktori sentiasa dimakan oleh pelbagai jenis fail linux. Apabila anda membuat fail atau memindahkan fail ke sistem anda, ia menduduki ruang pada cakera fizikal dan dianggap berada dalam format tertentu (jenis fail).
Dan juga sistem Linux tidak membezakan antara fail dan direktori, tetapi direktori melakukan satu pekerjaan penting, iaitu menyimpan fail lain dalam kumpulan dalam hierarki untuk lokasi mudah. Semua komponen perkakasan anda diwakili sebagai fail dan sistem berkomunikasi dengan mereka menggunakan fail ini.
Idea ini merupakan gambaran penting tentang harta yang hebat di Linux, di mana sumber input/output seperti dokumen, direktori (folder dalam Mac OS X dan Windows), papan kekunci, monitor, pemacu keras, media boleh tanggal, pencetak, modem, maya terminal dan juga komunikasi antara proses dan rangkaian adalah aliran bait yang ditakrifkan oleh ruang sistem fail.
Kelebihan yang ketara dari segala -galanya sebagai fail ialah set alat, utiliti dan API Linux yang sama boleh digunakan pada sumber input/output di atas.
Walaupun segala -galanya di Linux adalah fail, terdapat fail khas tertentu yang lebih daripada sekadar fail misal soket dan paip bernama.
Apakah pelbagai jenis fail di linux?
Di Linux pada dasarnya terdapat tiga jenis fail:
- Fail biasa/biasa
- Fail khas
- Direktori
Fail biasa/biasa
Ini adalah data fail yang mengandungi teks, data atau arahan program dan mereka adalah jenis fail yang paling biasa yang boleh anda harapkan untuk mencari pada sistem Linux dan mereka termasuk:
- Fail yang boleh dibaca
- Fail binari
- Fail imej
- Fail termampat dan sebagainya.
Fail khas
Fail khas termasuk yang berikut:
Blok fail : Ini adalah fail peranti yang menyediakan akses buffer ke komponen perkakasan sistem. Mereka menyediakan kaedah komunikasi dengan pemacu peranti melalui sistem fail.
Satu aspek penting mengenai blok Fail adalah bahawa mereka boleh memindahkan blok data dan maklumat yang besar pada masa tertentu.
Soket Soket Penyenaraian Blok dalam Direktori:
# ls -l /dev | grep "^b"
Output sampel
BRW-RW ---- 1 Disk Root 7, 0 Mei 18 10:26 LOOP0 BRW-RW ---- 1 Root Disk 7, 1 Mei 18 10:26 LOOP1 BRW-RW ---- 1 Root Disk 7, 2 Mei 18 10:26 LOOP2 BRW-RW ---- 1 Root Disk 7, 3 Mei 18 10:26 LOOP3 BRW-RW ---- 1 Root Disk 7, 4 Mei 18 10:26 LOOP4 BRW-RW-- -1 Root Disk 7, 5 Mei 18 10:26 LOOP5 BRW-RW ---- 1 Root Disk 7, 6 Mei 18 10:26 LOOP6 BRW-RW ---- 1 Root Disk 7, 7 Mei 18 10: 26 LOOP7 BRW-RW ---- 1 ROOT Disk 1, 0 18 Mei 10:26 RAM0 BRW-RW ---- 1 Disk ROOT 1, 1 Mei 18 10:26 RAM1 BRW-RW ---- 1 Disk ROOT 1, 10 Mei 18 10:26 RAM10 BRW-RW ---- 1 Root Disk 1, 11 Mei 18 10:26 RAM11 BRW-RW ---- 1 Root Disk 1, 12 Mei 18 10:26 RAM12 BRW-RW ---- 1 Disk Root 1, 13 Mei 18 10:26 RAM13 BRW-RW ---- 1 Root Disk 1, 14 Mei 18 10:26 RAM14 BRW-RW ---- 1 Root Disk 1, 15 Mei 18 10:26 RAM15 BRW-RW ---- 1 Root Disk 1, 2 Mei 18 10:26 RAM2 BRW-RW ---- 1 Root Disk 1, 3 Mei 18 10:26 RAM3 BRW-RW ---- 1 cakera akar 1, 4 Mei 18 10:26 RAM4 BRW-RW ---- 1 Root Disk 1, 5 Mei 18 10:26 RAM5 ..
Fail watak : Ini juga fail peranti yang menyediakan akses siri yang tidak dibebankan kepada komponen perkakasan sistem. Mereka bekerja dengan menyediakan cara komunikasi dengan peranti dengan memindahkan data satu aksara pada satu masa.
Penyenaraian Soket Karakter dalam Direktori:
# ls -l /dev | grep "^c"
Output sampel
CRW ------- 1 Root Root 10, 235 18 Mei 15:54 Autofs CRW ------- 1 Root Root 10, 234 Mei 18 15:54 BTRFS-CONTROL CRW ------- 1 akar akar 5, 1 Mei 18 10:26 CONSOLE CRW ------- 1 akar Root 10, 60 Mei 18 10:26 CPU_DMA_LATENCY CRW ------- 1 Root Root 10, 203 Mei 18 15: 54 CUSE CRW ------- 1 Root Root 10, 61 Mei 18 10:26 ECRYPTFS CRW-RW ---- 1 ROOT VIDEO 29, 0 MAY 18 10:26 FB0 CRW-RW-RW- 1 ROOT 1, 7 Mei 18 10:26 CRW-RW-RW- 1 Root Root 10, 229 Mei 18 10:26 Fuse CRW ------- 1 Root Root 251, 0 Mei 18 10:27 Hidraw0 CRW-- ----- Root Root 10, 228 Mei 18 10:26 HPET CRW-R-R-1 Root Root 1, 11 Mei 18 10:26 KMSG CRW-RW ----+ 1 Root Root 10, 232 Mei 18 10:26 kvm CRW ------- Root Root 10, 237 Mei 18 10:26 Loop-Control CRW ------- 1 Root Root 10, 227 18 10:26 McElog CRW ------- 1 Root Root 249, 0 Mei 18 10:27 Media0 CRW ------- 1 Root Root 250, 0 Mei 18 10:26 MEI0 CRW-R ----- 1 Root Kmem 1, 1 Mei 18 10:26 MEM CRW ------- Root Root 10, 57 Mei 18 10:26 Memory_Bandwidth CRW ------- 1 Root Root 10, 59 Mei 18 10:26 Rangkaian_LATENCY CRW ------- 1 akar root 10, 58 Mei 18 10:26 Rangkaian_Thoughput CRW-RW-RW- 1 Root Root 1, 3 Mei 18 10:26 NULL CRW-R ----- 1 ROOT KMEM 1, 4 Mei 18 10:26 PORT CRW ------- Root Root 108, 0 Mei 18 10:26 PPP CRW ------- 1 Root Root 10, 1 Mei 18 10:26 PSAUX CRW-RW-RW- 1 ROOT TTY 5 , 2 Mei 18 17:40 PTMX CRW-RW-RW- 1 Root Root 1, 8 Mei 18 10:26 Rawak
Fail pautan simbolik : Pautan simbolik adalah rujukan kepada fail lain pada sistem. Oleh itu, fail pautan simbolik adalah fail yang menunjuk pada fail lain, dan mereka boleh menjadi direktori atau fail biasa.
Menyenaraikan soket pautan simbolik dalam direktori:
# ls -l / dev / | grep "^l"
Output sampel
lrwxrwxrwx 1 akar root 3 Mei 18 10:26 Cdrom -> Sr0 lrwxrwxrwx 1 root root 11 Mei 18 15:54 Core ->/proc/kcore lrwxrwxrwx 1 root 13 Mei 18 15:54 fd ->/proc/fd lrwxrwxrwx 1 akar root 4 Mei 18 10:26 RTC -> RTC0 LRWXRRWXRWX 1 Root Root 8 Mei 18 10:26 SHM ->/Run/SHM LRWXRWXRWX 1 ROOT AKU 15 Mei 15:54 Stderr -> /2 lrwxrwxrwx 1 root root 15 Mei 18 15:54 stdin ->/proc/self/fd/0 lrwxrwxrwx 1 root root 15 Mei 18 15:54 stdout ->/proc/self/fd/1
Anda boleh membuat pautan simbolik menggunakan Ln
utiliti di linux seperti contoh di bawah.
# sentuh fail1.txt # ln -s file1.TXT/HOME/TECMINT/FILE1.txt [cipta pautan simbolik] # ls -l/home/tecmint/| Grep "^l" [Senarai pautan simbolik]
Dalam contoh di atas, saya membuat fail yang dipanggil Fail1.txt
dalam /TMP direktori, kemudian mencipta pautan simbolik, /rumah/tecmint/file1.txt untuk menunjuk kepada /tmp/file1.txt.
Paip atau paip bernama : Ini adalah fail yang membolehkan komunikasi antara proses dengan menyambungkan output satu proses ke input yang lain.
Paip bernama sebenarnya adalah fail yang digunakan oleh dua proses untuk berkomunikasi dengan masing -masing dan ia bertindak sebagai paip linux.
Penyenaraian paip paip dalam direktori:
# ls -l | grep "^p"
Output sampel
PRW-RW-R-- 1 TECMINT TECMINT 0 MAY 18 17:47 PIPE1 PRW-RW-R-- 1 TECMINT TECMINT 0 18 Mei 17:47 PIPE2 PRW-RW-R-- 1 TECMINT TECMINT 0 18 Mei 18 17:47 PIPE3 PRW-RW-R-- 1 TECMINT TECMINT 0 MAY 18 17:47 PIPE4 PRW-RW-R-- 1 TECMINT TECMINT 0 MAY 18 17:47 PIPE5
Anda boleh menggunakan mkfifo utiliti untuk membuat paip bernama di linux seperti berikut.
# mkfifo pipe1 # echo "Ini bernama Pipe1"> Pipe1
Dalam contoh di atas, saya membuat paip bernama yang dipanggil paip1
, Kemudian saya lulus beberapa data untuk menggunakan perintah echo, selepas itu shell menjadi tidak interaktif semasa memproses input.
Kemudian saya membuka shell lain dan menjalankan arahan lain untuk mencetak apa yang telah diluluskan ke paip.
# semasa membaca baris; lakukan echo "Ini diluluskan-'$ line'"; selesaiFail soket : Ini adalah fail yang menyediakan cara komunikasi antara proses, tetapi mereka boleh memindahkan data dan maklumat antara proses yang berjalan pada persekitaran yang berbeza.
Ini bermakna soket menyediakan data dan pemindahan maklumat antara proses yang berjalan pada mesin yang berbeza di rangkaian.
Contoh untuk menunjukkan karya soket akan menjadi pelayar web yang membuat sambungan ke pelayan web.
# ls -l / dev / | grep "^s"Output sampel
SRW-RW-RW- 1 ROOT ROOT 0 MAY 18 10:26 LOGIni adalah contoh soket yang dibuat C dengan menggunakan
soket ()
panggilan sistem.int socket_desc = socket (af_inet, sock_stream, 0);Di atas:
AF_INET
adalah keluarga alamat (IPv4)SOCK_STREAM
adalah jenis (sambungan adalah berorientasikan protokol TCP)0
adalah protokol (protokol IP)Untuk merujuk kepada fail soket, gunakan
socket_desc
, yang sama dengan deskriptor fail, dan gunakanBaca ()
dantulis ()
Sistem panggilan untuk membaca dan menulis dari soket masing -masing.Direktori
Ini adalah fail khas yang menyimpan fail khas biasa dan lain -lain dan mereka dianjurkan pada sistem fail Linux dalam hierarki bermula dari akar
(/)
direktori.Penyenaraian soket dalam direktori:
# ls -l / | grep "^d"Output sampel
DRWXR-XR-X 2 ROOT ROOT 4096 5 Mei 15:49 BIN DRWXR-XR-X 4 ROOT ROOT 4096 MAY 5 15:58 BOOT DRWXR-XR-X ROOT ROOT 4096 APR 11 2015 CDROM DRWXR-XR 17 ROOT Root 4400 Mei 18 10:27 Dev DRWXR-XR-X 168 Root Root 12288 18 Mei 10:28 ETC DRWXR-XR-X 3 ROOT ROOT 4096 Apr 11 2015 Rumah DRWXR-XR-X 25 ROOT ROOT 4096 Mei 5 15:44 lib drwxr-xr-x 2 akar akar 4096 5 Mei 15:44 lib64 drwx ------ 2 akar akar 16384 Apr 11 2015 lost+found drwxr-xr-x 3 root root 4096 Apr 10 2015 media drwxr-xr- x 3 akar akar 4096 Feb 23 17:54 MNT DRWXR-XR-X 16 ROOT ROOT 4096 Apr 30 16:01 OPT DR-XR-XR-X 223 ROOT ROOT 0 MAY 18 15:54 PROC DRWX ------ 19 Root Root 4096 Apr 9 11:12 Root Drwxr-XR-X 27 Root Root 920 Mei 18 10:54 Jalankan DRWXR-XR-X 2 Root Root 12288 5 Mei 15:57 SBIN DRWXR-XR-X ROOT 4096 DEC 4096 1 2014 SRV DR-XR-XR-X 13 ROOT ROOT 0 MAY 18 15:54 SYS DRWXRWXRWT 13 ROOT ROOT 4096 18 Mei 17:55 TMP DRWXR-XR-x 11 akar root 4096 Mar 31 16:00 usr drwxr-xr-x 12 root root 4096 Nov 12 2015 varAnda boleh membuat direktori menggunakan mkdir perintah.
# mkdir -m 1666 tecmint.com # mkdir -m 1666 Berita.Tecmint.com # mkdir -m 1775 linuxsay.comRingkasan
Anda kini harus mempunyai pemahaman yang jelas tentang mengapa segala -galanya di Linux adalah fail dan pelbagai jenis fail yang boleh keluar pada sistem Linux anda.
Anda boleh menambah lebih banyak perkara ini dengan membaca lebih lanjut mengenai jenis fail individu dan mereka dibuat. Saya harap ini dapat mencari panduan ini dan untuk sebarang pertanyaan dan maklumat tambahan yang anda ingin kongsi, sila tinggalkan komen dan kami akan membincangkan lebih lanjut.
- « Cara Menggunakan Pengendali Perbandingan dengan Awk di Linux - Bahagian 4
- Panduan Pemasangan Fedora 24 stesen kerja dengan tangkapan skrin »