Perintah penterjemah perintah asas untuk. Memilih penterjemah baris arahan Linux. Arahan fail

Secara lalai, arahan fail kelompok dipaparkan pada skrin sebelum pelaksanaan, yang tidak kelihatan sangat estetik. Menggunakan perintah ECHO OFF, anda boleh melumpuhkan pertindihan perintah yang datang selepasnya (arahan ECHO OFF itu sendiri masih diduplikasi). Sebagai contoh,

REM Dua arahan seterusnya akan diduplikasi pada skrin... DIR C:\ ECHO OFF REM Dan selebihnya bukan lagi DIR D:\

Untuk memulihkan mod pendua, gunakan perintah ECHO ON. Selain itu, anda boleh melumpuhkan penduaan mana-mana baris individu dalam fail kelompok dengan menulis simbol @ pada permulaan baris ini, sebagai contoh:

ECHO ON REM Perintah DIR C:\ diduplikasi pada skrin DIR C:\ REM, tetapi arahan DIR D:\ bukan @DIR D:\

Oleh itu, jika anda meletakkan arahan pada awal fail

@ECHO DIMATIKAN

maka ini akan menyelesaikan semua masalah dengan pertindihan arahan.

Dalam fail kelompok, anda boleh memaparkan baris mesej pada skrin. Ini dilakukan menggunakan arahan

Mesej ECHO

Sebagai contoh,

@ECHO OFF ​ECHO Hello!

Pasukan ECHO. (tempoh mesti serta-merta mengikut perkataan "ECHO") memaparkan baris kosong.

Selalunya mudah untuk melihat output mesej daripada fail kelompok dengan terlebih dahulu mengosongkan skrin sepenuhnya dengan arahan CLS.

Menggunakan mekanisme pengalihan I/O (simbol > dan >>), anda boleh mengarahkan output mesej melalui arahan ECHO ke fail teks tertentu. Sebagai contoh:

@ECHO OFF ECHO Hello! > hi.txt ECHO Selamat tinggal! >>hi.txt

Menggunakan kaedah ini, anda boleh, katakan, mengisi fail protokol dengan laporan mengenai tindakan yang diambil. Sebagai contoh:

@ECHO OFF REM Percubaan untuk menyalin XCOPY C:\PROGRAMS D:\PROGRAMS /s REM Menambahkan mesej pada fail report.txt jika REM menyelesaikan salinan dengan jayanya JIKA TIDAK ERRORLEVEL 1 ECHO Salinan berjaya >> report.txt

Menggunakan pilihan baris arahan

Apabila menjalankan fail kelompok pada baris arahan, anda boleh menentukan bilangan parameter sewenang-wenangnya, yang nilainya boleh digunakan di dalam fail. Ini membolehkan, sebagai contoh, fail kelompok yang sama digunakan untuk melaksanakan arahan dengan parameter yang berbeza.

Untuk mengakses parameter baris arahan daripada fail kelompok, gunakan aksara %0, %1, ..., %9 atau %*. Dalam kes ini, bukannya %0, nama fail kelompok boleh laku digantikan, bukannya %1, %2, ..., %9 - nilai sembilan parameter baris arahan pertama, dan sebaliknya. daripada %* - semua hujah. Jika kurang daripada sembilan parameter ditentukan pada baris arahan semasa memanggil fail kelompok, maka pembolehubah "tambahan" daripada %1 – %9 digantikan dengan baris kosong. Pertimbangkan contoh berikut. Biarkan terdapat fail arahan copy.bat dengan kandungan berikut:

@ECHO OFF CLS ECHO Fail %0 menyalin direktori %1 hingga %2 XCOPY %1 %2 /S

Jika anda menjalankannya dari baris arahan dengan dua parameter, sebagai contoh

Copier.bat C:\Programs D:\Backup

maka mesej akan dipaparkan pada skrin

Fail copier.bat menyalin direktori C:\Programs ke D:\Backup

dan direktori C:\Programs dengan semua subdirektorinya akan disalin ke D:\Backup.

Anda boleh menggunakan lebih daripada sembilan pilihan baris arahan jika perlu. Ini dicapai dengan menggunakan arahan SHIFT, yang mengubah nilai parameter yang diganti daripada %0 kepada %9, menyalin setiap parameter kepada yang sebelumnya, iaitu, nilai %1 disalin kepada %0, nilai daripada % 2 disalin ke % 1, dsb. Parameter yang digantikan %9 diberikan nilai parameter berikutan nilai lama %9 pada baris arahan. Jika parameter sedemikian tidak ditentukan, maka nilai baharu %9 ialah rentetan kosong.

Mari kita lihat satu contoh. Biarkan fail kumpulan my.bat dipanggil dari baris arahan seperti berikut:

My.bat p1 p2 p3

Kemudian %0=my.bat, %1=p1, %2=p2, %3=p3, parameter %4 – %9 ialah rentetan kosong. Selepas melaksanakan arahan SHIFT, nilai parameter yang diganti akan berubah seperti berikut: %0=p1, %1=p2, %2=p3, parameter %3 - %9 - baris kosong.

Apabila pemprosesan perintah lanjutan didayakan, SHIFT menyokong suis /n, yang menentukan permulaan peralihan parameter pada nombor n, di mana n boleh menjadi nombor dari 0 hingga 9.
Sebagai contoh, dalam arahan berikut:

SHIFT /2

parameter %2 digantikan dengan %3, %3 oleh %4, dsb., manakala parameter %0 dan %1 kekal tidak berubah.

Perintah SHIFT terbalik tiada. Selepas melaksanakan SHIFT, tidak lagi mungkin untuk memulihkan parameter (%0) yang pertama sebelum anjakan. Jika lebih daripada sepuluh parameter dinyatakan pada baris arahan, arahan SHIFT boleh digunakan beberapa kali.
Fail kelompok mempunyai sedikit keupayaan untuk menghuraikan parameter yang boleh diganti. Untuk nombor parameter n (%n), binaan sintaksis (pengendali) yang dibentangkan dalam jadual berikut dibenarkan:

Jadual 2.1. Operator untuk parameter yang diganti

Operator

Penerangan

Pembolehubah %n berkembang kepada nama fail penuh

Daripada pembolehubah %n, hanya nama pemacu diekstrak

Daripada pembolehubah %n, hanya laluan fail diperuntukkan

Daripada pembolehubah %n, hanya nama fail yang diekstrak

Sambungan nama fail diekstrak daripada pembolehubah %n

Maksud pengendali N dan X untuk pembolehubah %n diubah supaya ia beroperasi pada nama fail pendek

Carian dijalankan dalam direktori yang dinyatakan dalam pembolehubah persekitaran PATH, dan pembolehubah %n digantikan dengan nama penuh fail pertama ditemui. Jika pembolehubah PATH tidak ditakrifkan atau tiada fail ditemui hasil carian, binaan ini digantikan dengan rentetan kosong. Sememangnya, di sini pembolehubah PATH boleh digantikan dengan mana-mana nilai sah lain

Struktur sintaksis ini boleh digabungkan antara satu sama lain, contohnya:

%~DPn - nama pemacu dan laluan diekstrak daripada pembolehubah %n,
%~NXn - nama fail dan sambungan diekstrak daripada pembolehubah %n.

Pertimbangkan contoh berikut. Biarkan kami berada dalam direktori C:\TEXT dan jalankan fail kelompok dengan parameter Story.doc (%1=Story.doc). Kemudian menggunakan operator yang diterangkan dalam jadual di atas pada parameter % 1 akan memberikan hasil berikut:

%~F1=C:\TEXT\Story.doc %~D1=C: %~P1=\TEXT\ %~N1=Cerita %~X1=.doc %DP1=C:\TEXT\ %NX1=Story.doc

Pada kebanyakan sistem pengendalian Linux, bash ialah penterjemah baris arahan lalai. Untuk menentukan penterjemah semasa, masukkan arahan berikut:

$ gema $SHELL
/bin/bash

Contoh ini menggunakanjurubahasa baris arahan bash. Terdapat banyak jurubahasa arahan lain. Untuk mengaktifkan penterjemah lain, anda boleh memasukkan namanya pada baris arahan (ksh, tcsh, csh, sh, bash, dll.).

Kebanyakan sistem pengendalian Linux berciri penuh menyediakan semua penterjemah arahan yang diterangkan di sini. Tetapi pada sistem pengendalian yang lebih kecil satu atau dua jurubahasa boleh disediakan.

Menyemak ketersediaan item yang anda minatijurubahasabaris arahan

Paling banyak dengan cara yang mudah Untuk menyemak ketersediaan penterjemah arahan yang diminati, masukkan namanya pada baris arahan. Jika jurubahasa telah bermula, ia tersedia.

Terdapat beberapa sebab untuk memilih cangkerang alternatif.

  • Pengalaman bekerja pada sistem UNIX System V (kebanyakannya menggunakan ksh secara lalai) atau Sun Microsystems dan sistem UNIX Berkeley yang lain (yang sering menggunakan csh). Dalam kes ini, penggunaan penterjemah inibaris arahanakan lebih selesa.
  • Keperluan untuk menjalankan skrip yang dicipta untuk penterjemah arahan tertentu.
  • Keupayaan shell alternatif mungkin lebih baik. Sebagai contoh, seorang ahli kumpulan pengguna Linux lebih suka menggunakan ksh kerana dia tidak berpuas hati dengan cara bash mencipta alias.

Walaupun kebanyakan pengguna lebih suka bekerja dalam satu cangkang, kemahiran yang diperoleh membantu mereka belajar untuk bekerja pada orang lain.jurubahasa baris arahan , sekali-sekala melihat manual rujukan (contohnya, menggunakan arahan manbash). Kebanyakan orang menggunakan bash kerana tiada sebab untuk beralih kepada penterjemah lain.

Menggunakan Bash dan ch

Nama bash ialah akronim untuk Bourne Again SHell. Singkatan ini menunjukkan bahawa bash mewarisi penterjemah Bourneshell (arahan sh), yang dicipta oleh Steve Bourne dari AT&TBell Labs. Brian Fox dari Percuma Yayasan Perisian mencipta bash sebagai sebahagian daripada projek GNU. Selepas itu, pembangunan diserahkan kepada Chet Ramey di Case Western Reserve University.

Jurubahasa bash mengandungi ciri yang dibangunkan untuk jurubahasa sh dan ksh dalam versi awal UNIX, serta beberapa ciri jurubahasa csh.

Anda boleh menjangkakan bahawa kebanyakan sistem Linux, selain daripada sistem khusus (seperti yang dibenamkan atau dibut dari pemacu luaran), bash ialah penterjemah lalai. Dalam sistem khusus, penterjemah arahan yang lebih kecil mungkin diperlukan, yang juga membayangkan keupayaan terhad.

Kebanyakan contoh dalam iniartikeldireka untuk kegunaan bash.

Jurubahasa bash boleh dijalankan dalam pelbagai mod keserasian, meniru gelagat cengkerang lain. Ia boleh meniru tingkah laku Bourne shell (sh) atau POSK standard-compliant shell (bash -posix).

Akibatnya, bash berkemungkinan besar untuk berjaya membaca fail konfigurasi dan menjalankan skrip yang ditulis khusus untuk cangkerang lain.

Semua bilik bedah disediakan sistem Linux Secara lalai, penterjemah bash digunakan, kecuali untuk sistem pengendalian yang dibut daripada media boleh tanggal, yang menggunakan penterjemah abu secara lalai.

Menggunakan tcsh (dan penterjemah csh terdahulu)

Jurubahasa arahan tcsh ialah pelaksanaan sumber terbuka bagi penterjemah Cshell (csh). kod sumber. Jurubahasa csh telah dicipta oleh Bill Joy dan digunakan secara lalai pada hampir semua sistem UNIX Berkeley (sistem sedemikian diedarkan oleh Sun Microsystems).

Banyak ciri csh, seperti penyuntingan baris arahan dan kaedah pengurusan sejarah perintah, telah dilaksanakan dalam tcsh dan cangkerang lain. Sama seperti arahan sh menjalankan penterjemah bash dalam mod serasi sh, arahan csh menjalankan penterjemah tcsh dalam mod serasi csh.

Menggunakan penterjemah abu

Jurubahasa ash ialah versi ringan penterjemah Berkeley UNIX sh. Ia tidak mengandungi banyak ciri asas dan tidak menyediakan ciri seperti sejarah arahan.

Jurubahasa ash sangat sesuai untuk digunakan dalam sistem terbenam dengan sumber sistem yang terhad. Pada sistem pengendalian FedoraCore 4, penterjemah ash ialah susunan magnitud yang lebih kecil daripada penterjemah bash.

Menggunakan zsh

Jurubahasa zsh ialah satu lagi klon jurubahasa sh. Ia mematuhi POSIX (seperti bash), tetapi mempunyai ciri lain, termasuk semakan ejaan dan pendekatan berbeza untuk penyuntingan baris arahan. Jurubahasa zsh ialah jurubahasa lalai pada sistem pengendalian MacOS X awal, tetapi sistem moden menggunakan jurubahasa bash secara lalai.

Kuliah No 1.

Sains komputer ialah sains kaedah mendapatkan, mengumpul, menyimpan, mengubah, menghantar, melindungi dan menggunakan maklumat. Ia termasuk disiplin berkaitan pemprosesan maklumat dalam komputer dan jaringan komputer: kedua-dua abstrak, seperti analisis algoritma, dan agak khusus, sebagai contoh, pembangunan bahasa pengaturcaraan. Sains komputer ialah disiplin saintifik muda yang mengkaji isu yang berkaitan dengan pencarian, pengumpulan, penyimpanan, transformasi dan penggunaan maklumat dalam pelbagai bidang aktiviti manusia.

Istilah "sains komputer" pertama kali diperkenalkan di Jerman oleh Karl Steinbuch pada tahun 1957. Pada tahun 1962, istilah ini diperkenalkan ke dalam bahasa Perancis oleh F. Dreyfus, yang juga menawarkan terjemahan ke dalam beberapa bahasa Eropah yang lain. Dalam kesusasteraan saintifik dan teknikal Soviet, istilah "sains komputer" diperkenalkan oleh A. I. Mikhailov, A. I. Cherny dan R. S. Gilyarevsky pada tahun 1968.

Sains komputer diiktiraf sebagai sains berasingan hanya pada tahun 1970-an; sebelum itu ia berkembang sebagai sebahagian daripada matematik, elektronik dan lain-lain sains teknikal. Beberapa permulaan sains komputer boleh didapati walaupun dalam linguistik. Sejak pengiktirafannya sebagai sains yang berasingan, sains komputer telah membangunkan kaedah dan istilahnya sendiri.

Kuliah Bil 2.

Dalam sains komputer moden, terdapat terutamanya tiga sistem nombor (semua kedudukan): binari, perenambelasan dan perpuluhan.

Sistem nombor binari digunakan untuk pengekodan isyarat diskret, pengguna siapa Kejuruteraan Komputer. Keadaan ini telah berkembang dari segi sejarah, kerana isyarat binari lebih mudah untuk diwakili pada peringkat perkakasan. Dalam sistem nombor ini, dua tanda digunakan untuk mewakili nombor - 0 dan 1.

Sistem heksadesimal radix digunakan untuk mengekod isyarat diskret, pengguna yang merupakan pengguna terlatih - pakar dalam bidang sains komputer. Tanda yang digunakan untuk mewakili nombor - digit perpuluhan dari 0 hingga 9 dan huruf abjad Latin - A, B, C, D, E, F.

Sistem perpuluhan radix ​​digunakan untuk mengekod isyarat diskret, pengguna yang dipanggil pengguna akhir - bukan pakar dalam bidang sains komputer (jelas, mana-mana orang boleh bertindak sebagai pengguna sedemikian). Simbol yang digunakan untuk mewakili nombor ialah nombor dari 0 hingga 9.

Kod langsung nombor binari terbentuk daripada nilai mutlak nombor ini dan kod tanda (sifar atau satu) sebelum digit yang paling ketara.

Kod terbalik nombor binari dibentuk mengikut peraturan berikut. Kod terbalik nombor positif adalah sama dengan kod hadapannya. Kod terbalik nombor negatif mengandungi satu dalam digit tanda nombor itu, dan digit bererti nombor itu digantikan dengan yang songsang, i.e. sifar digantikan dengan satu, dan satu digantikan dengan sifar.


Songsang diubah suai dan kod tambahan nombor binari berbeza daripada kod timbal balik dan pelengkap, masing-masing, dengan menggandakan nilai bit tanda. Tanda “+” dalam kod ini dikodkan dengan dua digit tanda sifar, dan tanda “-” dengan dua digit unit.

Kuliah No 3.

Algebra logik adalah satu cabang matematik yang mengkaji pernyataan yang dipertimbangkan dari sudut pandangan makna logiknya (kebenaran dan kepalsuan) dan operasi logik ke atasnya.

Daripada pernyataan asas menggunakan penghubung logik "dan", "atau", "tidak", "jika: maka" dan lain-lain (operasi logik) pernyataan yang kompleks- formula (atau fungsi) algebra logik.

Dalam algebra logik, operasi utama (elemen) ialah:

Penafian,

penambahan logik (disjungsi),

pendaraban logik (kata hubung),

implikasi

kesetaraan.

Kaedah untuk membina pernyataan baharu daripada yang diberikan menggunakan penghubung logik, mengubahnya dan mewujudkan kebenaran dikaji dalam logik proposisi menggunakan kaedah algebra.

Fungsi logik ialah fungsi f (X1,X2,...,Xn), yang, seperti hujahnya, boleh mengambil hanya dua nilai (0 dan 1).

Sama seperti dalam algebra aritmetik, dalam algebra logik keutamaan melaksanakan operasi logik ditetapkan. Mereka diperintahkan masuk urutan seterusnya: Penafian; kata hubung; perpecahan; implikasi; kesetaraan.

Kuliah No 4.

Apabila mereka bentuk digital peranti logik Selalunya tugas timbul, diberikan jadual kebenaran, untuk menulis ungkapan untuk fungsi logik dan melaksanakannya dalam bentuk litar logik yang terdiri daripada set elemen logik yang lengkap secara fungsional. Masalah ini juga dipanggil masalah sintesis litar logik atau peranti logik.

Sintesis litar logik berdasarkan set elemen logik yang lengkap berfungsi terdiri daripada perwakilan fungsi logik yang menerangkan litar logik ini dalam bentuk biasa. Bentuk perwakilan biasa dianggap sebagai bentuk yang diperoleh melalui superposisi fungsi logik tambahan - minterms dan maxterns.

Minterm ialah fungsi logik yang mengambil nilai logik hanya untuk satu nilai pembolehubah logik dan nilai sifar logik untuk nilai lain pembolehubah logik.

Maxtern ialah fungsi logik yang mengambil nilai sifar logik hanya untuk satu nilai pembolehubah logik dan nilai satu logik untuk nilai lain pembolehubah logik.

Daripada minterms dan maxterns, menggunakan kaedah superposisi, seseorang boleh mengarang fungsi logik, yang dipanggil, masing-masing, fungsi logik yang diwakili oleh bentuk normal disjungtif sempurna (SDNF) dan fungsi logik yang diwakili oleh bentuk normal gabungan sempurna (SCNF). Fungsi SDNF dan SKNF yang diperoleh dengan cara ini akan mewakili fungsi logik yang dikehendaki mengikut jadual kebenaran yang diberikan.

Kuliah No 5

Perisian Perisian ialah satu set program sistem pemprosesan maklumat dan dokumen program yang diperlukan untuk pengendalian program ini.

Juga - satu set program, prosedur dan peraturan, serta dokumentasi yang berkaitan dengan operasi sistem pemprosesan data.

Perisian komputer sentiasa dikemas kini, dibangunkan dan dipertingkatkan. harga atur cara yang dipasang pada PC moden selalunya melebihi kos peranti teknikalnya. Pembangunan perisian moden memerlukan kelayakan yang sangat tinggi daripada pengaturcara.

Perisian adalah salah satu jenis perisian sistem pengkomputeran, bersama-sama dengan sokongan teknikal (perkakasan), matematik, maklumat, linguistik, organisasi dan metodologi.

Perisian biasanya dibahagikan mengikut tujuannya kepada sistem, aplikasi dan instrumental, dan mengikut kaedah pengedaran dan penggunaan kepada proprietari/tertutup, terbuka dan bebas. Perisian percuma boleh diedarkan, dipasang dan digunakan pada mana-mana komputer di rumah, di pejabat, sekolah, universiti, serta komersil dan institusi kerajaan tiada had.

Kuliah No 6

Sistem pengendalian ialah satu set program yang menyediakan kawalan perkakasan komputer, mengatur kerja dengan fail dan pelaksanaan program aplikasi, dan melaksanakan input dan output data.

Secara umum, sistem pengendalian ialah set program pertama dan utama yang dimuatkan ke dalam komputer. Sebagai tambahan kepada fungsi di atas, OS boleh melakukan yang lain, contohnya, menyediakan antara muka pengguna biasa, dsb.

Hari ini sistem pengendalian yang paling terkenal ialah keluarga OS Microsoft Windows dan sistem seperti UNIX.

Fungsi antara muka:

Pengurusan perkakasan dan peranti I/O

Sistem fail

Sokongan berbilang tugas (berkongsi penggunaan memori, masa pelaksanaan)

Akses terhad, mod pengendalian berbilang pengguna (jika kita mengambil DOS sebagai contoh, ia tidak boleh berbilang pengguna)

Rangkaian (ambil Spectrum sebagai contoh...)

Fungsi dalaman:

Mengganggu pengendalian

Memori maya

"Pengurus Tugas

Penampan I/O

Penyelenggaraan pemacu peranti

Kuliah No 7

Cangkang sistem pengendalian (dari cangkerang bahasa Inggeris - shell) ialah penterjemah bagi perintah sistem pengendalian yang menyediakan antara muka untuk interaksi pengguna dengan fungsi sistem.

Secara umumnya, terdapat dua jenis cangkerang untuk interaksi pengguna: antara muka pengguna tekstual (TUI) dan antara muka pengguna grafik (GUI).

Jurubahasa arahan.

Untuk menyediakan antara muka baris arahan, sistem pengendalian sering menggunakan penterjemah arahan, yang boleh menjadi bahasa pengaturcaraan bebas dengan sintaks dan fungsi tersendiri.

Sistem pengendalian MS-DOS dan Windows 9x termasuk penterjemah arahan command.com; Windows NT termasuk cmd.exe. Dalam keluarga besar cangkerang perintah UNIX, yang paling popular ialah bash, csh, ksh, zsh; dalam sistem seperti UNIX, pengguna mempunyai keupayaan untuk menukar penterjemah arahan lalai.

Fungsi.

Jurubahasa arahan melaksanakan arahan dalam bahasanya, diberikan pada baris arahan atau datang daripada input standard atau fail tertentu.

Panggilan ke sistem atau utiliti aplikasi, serta struktur kawalan, ditafsirkan sebagai arahan. Di samping itu, shell bertanggungjawab untuk mengembangkan corak nama fail dan untuk mengalih dan mengikat utiliti I/O.

Bersama-sama dengan set utiliti, shell ialah persekitaran operasi, bahasa pengaturcaraan, dan cara menyelesaikan kedua-dua sistem dan beberapa masalah aplikasi, terutamanya automasi urutan arahan yang kerap dilaksanakan.

Kuliah Bil 8

Penyunting teks ialah program komputer yang direka untuk memproses fail teks, seperti mencipta dan membuat perubahan.

Secara konvensional, terdapat dua jenis penyunting: penyunting teks penstriman dan penyunting interaktif.

Penyunting teks penstriman ialah program komputer yang direka untuk pemprosesan automatik input data teks yang diperoleh daripada fail teks mengikut peraturan yang telah ditetapkan oleh pengguna. Selalunya, peraturan adalah ungkapan biasa, khusus untuk perkara ini penyunting teks dialek. Contoh penyunting teks sedemikian ialah penyunting Sed.

Penyunting teks interaktif ialah sekumpulan program komputer yang direka untuk membuat perubahan pada fail teks secara interaktif. Program sedemikian membolehkan anda memaparkan keadaan semasa data teks dalam fail dan melakukan pelbagai tindakan padanya.

Tegasnya, pemproses perkataan boleh diklasifikasikan sebagai penyunting teks interaktif, tetapi untuk daripada kelas ini program komputer, keupayaan mereka untuk digunakan sebagai penyunting teks interaktif bukanlah sasaran.

Syarahan No 9

Pemproses jadual - kategori perisian, direka untuk bekerja dengan hamparan. Pada mulanya penyunting jadual memungkinkan untuk memproses jadual dua dimensi secara eksklusif, terutamanya dengan data berangka, tetapi kemudian produk muncul yang juga mempunyai keupayaan untuk memasukkan teks, grafik dan elemen multimedia lain. Alat hamparan termasuk fungsi matematik berkuasa yang membolehkan pengiraan statistik, kewangan dan pengiraan lain yang kompleks.

Hamparan (atau pemproses jadual) ialah program aplikasi yang direka untuk menjalankan pengiraan hamparan. Kemunculan hamparan mengikut sejarah bertepatan dengan permulaan penyebaran komputer peribadi. Program pertama untuk bekerja dengan hamparan, pemproses hamparan, telah dicipta pada tahun 1979, bertujuan untuk komputer seperti Apple II dan dipanggil VisiCalc. Salah satu pemproses hamparan yang paling popular hari ini ialah MS Excel, yang merupakan sebahagian daripada Pakej Microsoft Pejabat.

Kuliah Bil 10

Grafik komputer (juga grafik mesin) adalah bidang aktiviti di mana komputer digunakan sebagai alat untuk mensintesis (mencipta) imej dan untuk memproses maklumat visual yang diperolehi dari dunia nyata. Grafik komputer juga dipanggil hasil daripada aktiviti tersebut.

cerita

Komputer pertama tidak mempunyai cara yang berasingan untuk bekerja dengan grafik, tetapi telah digunakan untuk mendapatkan dan memproses imej. Dengan memprogramkan memori mesin elektronik pertama, dibina di atas matriks lampu, adalah mungkin untuk mendapatkan corak.

Pada tahun 1961, pengaturcara S. Russell mengetuai projek untuk mencipta permainan komputer pertama dengan grafik. Penciptaan permainan (“Peperangan Angkasa Lepas”) mengambil masa kira-kira 200 jam kerja. Permainan ini dicipta pada mesin PDP-1.

Pada tahun 1963, saintis Amerika Ivan Sutherland mencipta perisian dan sistem perkakasan Sketchpad, yang memungkinkan untuk melukis titik, garisan dan bulatan pada tiub dengan pen digital. Disokong tindakan asas dengan primitif: bergerak, menyalin, dll. Sebenarnya, ini adalah yang pertama editor vektor, dilaksanakan pada komputer. Program ini juga boleh dipanggil yang pertama antara muka grafik, dan ia berlaku sebelum istilah itu sendiri muncul.

Pada pertengahan 1960-an. perkembangan dalam aplikasi grafik komputer industri muncul. Oleh itu, di bawah pimpinan T. Moffett dan N. Taylor, Itek membangunkan mesin lukisan elektronik digital. Pada tahun 1964, General Motors memperkenalkan sistem tersebut reka bentuk berbantukan komputer DAC-1, dibangunkan bersama IBM.

Pada tahun 1968, kumpulan yang diketuai oleh N. N. Konstantinov mencipta model matematik komputer pergerakan kucing. Mesin BESM-4, melaksanakan program bertulis untuk menyelesaikan persamaan pembezaan, melukis kartun "Kitty," yang merupakan satu kejayaan pada zamannya. Pencetak alfanumerik digunakan untuk visualisasi.

Kemajuan yang ketara grafik komputer berpengalaman dengan kemunculan keupayaan untuk menyimpan imej dan memaparkannya pada paparan komputer, tiub sinar katod.

Di Linux tidak ada objek berasingan yang dipanggil "sistem". Sistem adalah sistem kerana ia terdiri daripada banyak komponen yang berinteraksi antara satu sama lain. Komponen sistem utama ialah pengguna. Dialah yang memerintah mesin, dan ia melaksanakan perintahnya. Tutorial dalam bahagian dua dan tiga meliputi panggilan sistem (fungsi kernel) dan fungsi perpustakaan. Mereka adalah arahan langsung kepada sistem. Benar, anda boleh menggunakannya hanya dengan menulis program (paling kerap dalam bahasa C), selalunya program yang agak kompleks. Hakikatnya ialah fungsi kernel melaksanakan operasi peringkat rendah, dan untuk menyelesaikan walaupun tugas pengguna yang paling mudah adalah perlu untuk melaksanakan beberapa operasi sedemikian, menukar hasil satu kepada keperluan yang lain. Terdapat keperluan untuk mencipta bahasa kawalan sistem untuk pengguna - tahap yang lebih tinggi dan lebih mudah digunakan. Semua perintah yang digunakan Methodius dalam karyanya adalah sebahagian daripada bahasa tertentu ini.

Dari mana mudah untuk membuat kesimpulan bahawa beberapa jenis sistem juga harus memproses arahan ini dan mengubahnya menjadi urutan panggilan sistem dan perpustakaan. program khas, dan dengannya pengguna terus berdialog sejurus selepas log masuk ke dalam sistem. Dan ternyata: program ini dipanggil jurubahasa baris arahan atau shell arahan(“cangkang”). Ia dipanggil "shell" dengan tepat kerana semua kawalan sistem berlaku seolah-olah "dari dalam": pengguna berkomunikasi dengannya dalam bahasa yang sesuai untuk mereka (menggunakan baris arahan teks), dan ia berkomunikasi dengan bahagian lain sistem dalam bahasa yang sesuai untuk mereka (dengan memanggil fungsi yang diprogramkan).

Oleh itu, peraturan parsing baris perintah yang disebutkan di atas adalah peraturan yang beroperasi secara khusus dalam penterjemah arahan: pengguna memasuki baris dari terminal, shell membacanya, kadangkala menukarnya mengikut peraturan tertentu, membahagikan baris yang terhasil menjadi arahan dan parameter , dan kemudian melaksanakan perintah itu, memberikan parameter ini kepadanya. Perintah itu, seterusnya, menganalisis parameter, memilih kunci di antara mereka, dan melakukan apa yang diminta, pada masa yang sama memaparkan data untuk pengguna pada terminal, selepas itu ia selesai. Setelah selesai arahan, kerja jurubahasa arahan "berundur ke latar belakang" disambung semula, ia sekali lagi membaca baris arahan, menghuraikannya, memanggil arahan... Ini berterusan sehingga pengguna mengarahkan shell untuk menamatkan dirinya sendiri (menggunakan log keluar atau aksara kawalan "^ D", yang untuk shell bermaksud sama seperti untuk program lain: tidak akan ada lagi input daripada terminal).

Sudah tentu, terdapat beberapa jurubahasa arahan dalam Linux. Yang paling mudah daripada mereka, yang muncul dalam versi terdahulu UNIX dipanggil sh, atau "Bourne Shell" - sempena pengarangnya, Stephen Bourne. Lama kelamaan, ia - di mana mungkin - digantikan dengan yang lebih berkuasa, bash, "Bourne Again Shell".

Permainan perkataan: "Bourne Again" dibaca dengan lantang sebagai "dilahirkan semula," iaitu, "dilahirkan semula."

bash adalah lebih baik daripada sh dalam semua cara, terutamanya keupayaan menyunting baris arahannya. Selain sh dan bash, sistem boleh dipasang dengan "The Z Shell", zsh, penterjemah arahan paling berkuasa setakat ini (tiada jenaka, 22 ribu baris dokumentasi), atau tcsh, dikemas kini dan juga sangat versi berkuasa C Shell lama, yang sintaks arahannya serupa dengan bahasa pengaturcaraan C.

Apabila Gurevich menambah akaun Methodius ke dalam sistem, dia tidak bertanya apa penterjemah arahan yang dia perlukan, kerana dia tahu: untuk pemula, nama jurubahasa arahan adalah frasa kosong. Walau bagaimanapun, nama shell yang dilancarkan untuk pengguna sejurus selepas log masuk adalah yang dipanggil. jurubahasa arahan permulaan(login shell) adalah sebahagian daripada akaun pengguna yang pengguna boleh menukar dengan perintah chsh (change shell).

Apa sahaja tugas pengurusan sistem yang dihadapi oleh pengguna Linux, ia mesti mempunyai penyelesaian dari segi penterjemah arahan. Malah, menyelesaikan masalah pengguna ialah menerangkannya dalam bahasa shell. Bahasa komunikasi antara pengguna dan jurubahasa arahan adalah bahasa pengaturcaraan peringkat tinggi, dilengkapkan, di satu pihak, dengan cara mengatur interaksi arahan dan sistem, dan di sisi lain, dengan cara interaksi dengan pengguna, menjadikannya lebih mudah dan pantas untuk bekerja dengan baris arahan.

Ilustrasi 2. Antara muka baris arahan. Edisi kedua, disemak dan dikembangkan. Interaksi pengguna dengan komputer melalui terminal dan shell.

Perintah dan utiliti

$apropos s . . . (empat setengah ribu baris!)

Contoh 18. Perintah sia-sia

Satu pelancaran apropos yang tidak berjaya sudah cukup untuk Methodius faham: terdapat banyak arahan dalam Linux. Ia terfikir bahawa tiada program - walaupun shell - boleh secara bebas memahami semua arahan yang didokumenkan. Di samping itu, Gurevich menamakan kebanyakan pasukan utiliti, itu dia program yang berguna. Oleh itu, jurubahasa arahan tidak perlu dapat melaksanakan semua yang dimasukkan oleh pengguna. Apa yang dia perlu lakukan ialah menghuraikan baris arahan, mengekstrak arahan dan parameter daripadanya, dan kemudian jalankan utiliti - program yang namanya sepadan dengan nama arahan.

Pada hakikatnya, terdapat beberapa arahan asli dalam shell. Pada asasnya, ini adalah pengendali bahasa pengaturcaraan dan cara lain untuk mengawal penterjemah itu sendiri. Semua arahan yang biasa kepada Methodius, malah gema, wujud dalam Linux sebagai utiliti yang berasingan. Cangkang hanya berkenaan dengan menyediakan satu set parameter pada baris arahan (contohnya, mengembangkan templat), menjalankan program dan memproses hasil kerja mereka.

$ type info info ialah /usr/bin/info $ type echo echo ialah shell builtin $ type -a echo echo ialah shell builtin echo ialah /bin/echo $ type -a -t echo builtin file $ type -a -t fail tarikh $jenis -at fail kucing

Contoh 19. Menentukan jenis arahan

Dalam bash, jenis arahan boleh ditentukan menggunakan arahan jenis. Perintah asli Bash dipanggil terbina(arahan terbina dalam), dan untuk utiliti ia dipaparkan laluan, mengandungi nama direktori di mana fail dengan program yang sepadan terletak, dan nama program ini. Beberapa arahan yang paling berguna dibina ke dalam bash, walaupun ia tersedia sebagai utiliti (cth. gema). Perintah terbina dalam berfungsi dengan cara yang sama, tetapi kerana ia mengambil masa yang jauh lebih sedikit untuk dilaksanakan, penterjemah arahan akan memilihnya jika boleh. Tukar "-a" (" a ll", sudah tentu), menyebabkan jenis mencetak segala-galanya pilihan yang mungkin tafsiran arahan, dan suis " -t " adalah untuk memaparkan jenis arahan dan bukannya laluan.

Atas nasihat Gurevich, Methodius mengumpulkan kunci dengan menulis "-at" dan bukannya "-a -t". Banyak utiliti membolehkan anda melakukan ini, mengurangkan panjang baris arahan. Jika kunci parametrik ditemui, ia mestilah yang terakhir dalam kumpulan dan nilainya mesti mengikut, seperti yang dijangkakan. Hanya kekunci huruf tunggal boleh dikumpulkan.

Perkataan dan pemisah

Apabila menghuraikan baris arahan, shell menggunakan konsep pembatas(pembatas). Pembatas ialah watak yang memisahkan perkataan; jadi baris arahan adalah urutan perkataan(yang penting) dan pemisah(yang tidak penting). Untuk cangkerang, pembatas ialah aksara ruang, aksara tab dan aksara baris baharu (yang masih boleh muncul di antara perkataan mengikut cara yang diterangkan dalam kuliah Bekerja dengan Data Teks dan Ciri Cangkang Perintah). Bilangan pemisah antara dua perkataan bersebelahan tidak penting.

Perkataan pertama dalam triple dihantar kepada arahan sebagai parameter pertama, yang kedua - sebagai yang kedua, dsb. Agar pemisah berada di dalam perkataan (dan rentetan yang terhasil dengan pemisah dihantar sebagai satu parameter) , keseluruhan subrentetan yang diperlukan mesti dikelilingi dengan petikan tunggal atau berganda:

$ echo Satu Dua Tiga Satu Dua Tiga $ echo Satu "Dua Tiga" Satu Dua Tiga $ echo "Satu > > Oh. Dan apa seterusnya? > Oh, saya terlupa petikan!" Satu Oh. Jadi, apa yang seterusnya? Oh, saya lupa petikan! $

Contoh 20. Memetik pada baris arahan

Dalam kes pertama, arahan gema telah diluluskan tiga parameter - "Satu", "Dua" dan "Tiga". Dia membawa mereka keluar, memisahkan mereka dengan ruang. Dalam kes kedua terdapat dua parameter: "Satu" dan "Dua Tiga". Akibatnya, kedua-dua parameter ini juga dikeluarkan dipisahkan oleh ruang. Dalam kes ketiga, terdapat hanya satu parameter - daripada apostrof pembukaan ""Satu" kepada penutup "...terlupa!" " Sepanjang masa dia menaip, bash memberi petunjuk kepada Methodius ">" - sebagai tanda bahawa menaip baris arahan diteruskan, tetapi dalam mod memasukkan kandungan petikan.

Hantar kerja baik anda di pangkalan pengetahuan adalah mudah. Gunakan borang di bawah

Pelajar, pelajar siswazah, saintis muda yang menggunakan pangkalan pengetahuan dalam pengajian dan kerja mereka akan sangat berterima kasih kepada anda.

Disiarkan pada http://www.allbest.ru/

KERJA MAKMAL No 1

TAFSI PERINTAH

Sasaran kerja makmal- membiasakan diri dengan bahasa arahan sistem UNIX (terutamanya dengan arahan untuk bekerja dengan sistem fail), dengan pengalihan aliran input/output dan dengan saluran program.

1. MAKLUMAT TEORI

1.1 Peruntukan am

program arahan fail jurubahasa

UNIX ialah teras sistem pengendalian perkongsian masa, iaitu program yang menguruskan sumber komputer dan menyediakannya kepada pengguna. Ia membolehkan pengguna menjalankan program mereka, mengurus peranti persisian dan menyediakan fungsi sistem fail. UNIX ialah OS berbilang tugas dan berbilang pengguna.

Operasi OS UNIX boleh diwakili sebagai fungsi banyak proses yang saling berkaitan. Apabila sistem but, kernel mula-mula bermula, yang seterusnya memulakan tugas utama, yang menghasilkan semua proses berikutnya - proses init (proses No. 1).

Interaksi pengguna dengan sistem UNIX berlaku secara interaktif melalui bahasa arahan. Shell sistem pengendalian - shell - mentafsir perintah yang dimasukkan, melancarkan program (memproses) yang sepadan, menjana dan memaparkan mesej respons.

Bahagian penting UNIX ialah sistem fail. Ia mempunyai struktur hierarki, membentuk pokok direktori dan fail. Direktori akar dilambangkan dengan aksara "/", dan laluan melalui pepohon direktori terdiri daripada nama direktori yang dipisahkan oleh aksara "/".

Setiap fail UNIX OS boleh dikenal pasti secara unik oleh beberapa struktur data yang dipanggil deskriptor fail. Ia mengandungi semua maklumat tentang fail: jenis fail, mod akses, ID pemilik, saiz, alamat fail, akses terakhir dan tarikh pengubahsuaian terakhir, tarikh penciptaan, dsb.

Fail diakses dengan nama. Nama fail tempatan ialah satu set aksara, panjangnya antara 1 hingga 14 dalam Sistem V. Pada sistem yang menyokong sistem fail FFS, nama fail boleh mencapai sehingga 255 aksara. Aksara yang digunakan hendaklah nombor, huruf Latin dan simbol `_'. Nama fail tempatan disimpan dalam yang sepadan katalog. Laluan ke fail dari direktori akar dipanggil nama fail yang layak sepenuhnya. Jika akses kepada fail bermula dengan aksara "/", maka ia dianggap bahawa nama penuh fail ditentukan dan cariannya bermula dari direktori akar; dalam mana-mana kes lain, carian fail bermula dari direktori semasa.

1.2 Pendaftaran dalam sistem

Kerja pengguna dalam sistem bermula apabila pelayan diaktifkan akses terminal getty, yang menjalankan program log masuk, yang menggesa pengguna untuk nama dan kata laluan.

· nama pendaftaran pengguna;

· kata laluan yang disulitkan;

· ID Pengguna;

· pengecam kumpulan;

· maklumat tentang tempoh minimum tindakan kata laluan;

maklumat umum tentang pengguna

direktori rumah pengguna

· pendaftaran cangkerang pengguna

Jika pengguna didaftarkan dalam sistem dan dimasukkan kata laluan yang betul, log masuk menjalankan program yang dinyatakan dalam /etc/passwd - pendaftaran cangkerang pengguna.

1.3 Pengguna sistem dan pemilik fail

Pengguna sistem ialah objek yang mempunyai hak tertentu yang menentukan keupayaan untuk melancarkan program untuk pelaksanaan, serta pemilikan fail. Satu-satunya pengguna sistem yang mempunyai hak tanpa had ialah superuser atau pentadbir sistem.

Sistem ini mengenal pasti pengguna dengan apa yang dipanggil. ID Pengguna(UID - Pengecam Pengguna). Setiap pengguna adalah ahli satu atau lebih kumpulan- senarai pengguna yang mempunyai tugasan yang serupa. Setiap kumpulan mempunyai keunikan tersendiri id kumpulan(GID - Pengecam Kumpulan) Keahlian kumpulan menentukan set hak yang dimiliki oleh ahli kumpulan ini.

Hak pengguna UNIX terutamanya hak untuk bekerja dengan fail. Fail mempunyai dua pemilik - pemilik pengguna dan pemilik kumpulan.

Sehubungan itu, atribut keselamatan fail mentakrifkan hak pengguna yang memiliki fail (u), hak ahli kumpulan pemilik (g), dan hak orang lain (o).

1.4 Struktur sistem fail

Sistem fail UNIX OS mempunyai struktur hierarki yang membentuk pepohon direktori dan fail. Direktori akar dilambangkan dengan aksara "/", dan laluan melalui pepohon direktori terdiri daripada nama direktori yang dipisahkan oleh aksara "/", contohnya:

/rumah/kerja/dokumen

Pada bila-bila masa, mana-mana pengguna dikaitkan dengan direktori semasa, iaitu lokasi pengguna dalam sistem fail hierarki.

Direktori akar "/" mempunyai beberapa direktori sistem penting yang mengandungi:

/stand - kernel sistem dan fail data yang digunakan semasa proses but.

Kadangkala fail kernel terletak terus dalam direktori root /;

/sbin - program boleh laku utama yang digunakan dalam proses

but dan pemulihan sistem;

/dev ialah fail khas yang mewakili peranti persisian (seperti konsol, pencetak talian, terminal pengguna dan cakera). Dalam senarai panjang ls -l Untuk setiap fail peranti, bukannya saiz, dua nombor ditunjukkan: nombor utama dan nombor kecil. Nombor utama mengenal pasti pemacu peranti untuk kernel; peranti serupa mempunyai nombor utama yang sama. Nombor kecil mengenal pasti contoh peranti tertentu.

/etc - fail konfigurasi dan pangkalan data organisasi sistem;

/home - direktori akar untuk direktori pengguna;

/tmp - fail sementara;

/var - direktori akar untuk fail yang kerap berubah (contohnya, fail log); Subdirektori direktori /var menyimpan fail sementara atau perkhidmatan pelbagai program. Subdirektori utama direktori /var:

/var/log - log peristiwa dalam sistem.

/var/adm - log peristiwa konteks pentadbiran.

/var/mail - siaran pengguna baharu (belum dibaca).

/var/spool - pelbagai baris gilir (untuk mencetak, untuk menghantar mel, untuk melaksanakan tugas yang dijadualkan).

/var/tmp - pelbagai fail sementara.

/usr - direktori lain, termasuk lib dan bin.

Semua fail yang boleh dimanipulasi oleh pengguna terletak dalam sistem fail, iaitu pokok yang bucu perantaraannya sepadan dengan direktori, dan daunnya sepadan dengan fail dan direktori kosong. Benar-benar pada semua orang pemacu logik(pembahagian pakej cakera fizikal) terdapat hierarki direktori dan fail yang berasingan. Untuk mendapatkan pokok biasa secara dinamik, hierarki individu "dilekapkan" pada sistem fail akar tetap sebagai cawangan pokok biasa.

Setiap direktori dan fail dalam sistem fail mempunyai nama unik yang layak sepenuhnya - nama yang ditentukan laluan penuh, ia menentukan laluan penuh dari akar sistem fail melalui rantai direktori ke direktori atau fail yang sepadan). Direktori yang menjadi punca sistem fail (direktori akar) dalam mana-mana sistem fail mempunyai nama yang telah ditetapkan "/" (slash). Watak yang sama digunakan sebagai pemisah nama dalam laluan. Nama fail yang layak sepenuhnya, seperti /bin/sh, bermakna direktori akar mesti mengandungi nama direktori bin, dan direktori bin mesti mengandungi nama fail sh. Nama fail pendek atau relatif ialah nama (mungkin kompaun) yang menentukan laluan ke fail daripada direktori kerja semasa (terdapat arahan dan yang sepadan panggilan sistem, membolehkan anda menetapkan direktori kerja semasa).

Setiap direktori mengandungi dua nama khas, nama ".", yang menamakan direktori itu sendiri, dan nama "..", yang menamakan direktori "ibu bapa". daripada katalog ini, iaitu direktori serta-merta sebelum ini dalam hierarki direktori.

Jadi, sebagai contoh, untuk struktur yang ditunjukkan dalam rajah berikut, akses kepada fail yang ditandakan dalam rajah dari direktori semasa adalah mungkin dengan nama penuhnya:

/home/apalko/file2

atau dengan nama relatif:

./../../apalko/file2

Rajah.1 Contoh pepohon direktori

Direktori atau fail mempunyai sebarang nama mengikut peraturan berikut:

· Semua aksara dibenarkan kecuali /;

· beberapa nama sebaiknya dibiarkan tanpa digunakan, seperti ruang, tab dan yang berikut: ? "#$^();< >| \ * @ " ~ &. Jika anda menggunakan ruang atau aksara tab dalam fail atau nama direktori, anda mesti menyertakan nama itu dalam petikan berganda pada baris arahan;

· Elakkan menggunakan + - atau tanda. sebagai aksara pertama dalam nama fail;

· Sistem UNIX membezakan antara huruf besar dan huruf kecil dalam nama fail dan direktori.

Setiap fail UNIX OS boleh ditentukan secara unik oleh beberapa struktur data yang dipanggil pemegang fail atau deskriptor. Struktur ini diterangkan dalam fail , ia memerlukan 64 bait dan mengandungi maklumat berikut:

( di_mode pendek tidak ditandatangani; /* mod akses dan jenis fail */

di_nlink pendek; /* balas bilangan pautan ke fail */

di_uid pendek; /* ID pemiliknya */

di_gid pendek; /* ID kumpulan */

off_t di_size; /* balas bilangan bait dalam fail */

char di_addr; /* menunjuk ke blok cakera di mana fail itu sendiri disimpan */

masa_t di_masa; /* tarikh akses terakhir */

masa_t di_mtime; /* tarikh pengubahsuaian terakhir */

time_t di_ctime; /* tarikh penciptaan */)

Medan di_mode terdiri daripada 16 bit:

Rajah.2. Mod akses dan jenis fail

Medan di_addr digunakan untuk menyimpan penunjuk ke lokasi blok cakera yang mengandungi maklumat yang diletakkan di dalamnya fail ini. Medan ini boleh menyimpan 13 penunjuk, yang mana 10 yang pertama merujuk kepada sepuluh blok pertama fail. Jika fail mengambil lebih banyak ruang, maka penunjuk ke-11 mengandungi maklumat tentang lokasi blok arahan utama, yang terdiri daripada seratus dua puluh lapan penunjuk 32-bit ke blok fail; Penunjuk ke-12 menghala ke blok pengalakan sekunder yang mengandungi 128 penunjuk lokasi blok pengalihan utama, dan penuding ke-13 secara sepadan menghala ke lokasi blok pengalihan tertier termasuk 128 penunjuk blok pengalihan sekunder. Oleh itu, menggunakan skema pengalamatan ini, adalah mungkin untuk mengakses fail yang mengandungi paling banyak (128x128x128+128x128+128+10) blok. Semua hujah ini sah untuk blok 512 (128x4) bait.

Fail diakses dengan nama. Nama fail tempatan ialah satu set aksara arbitrari. Jika titik ditemui dalam/antaranya, ia diikuti dengan sambungan yang dipanggil, yang biasanya berfungsi untuk menentukan jenis fail. Sebagai contoh, fail yang menyimpan teks paling kerap mempunyai sambungan "txt" atau "doc" (title.doc, book.txt, dll.), fail dengan teks program dalam bahasa C mempunyai sambungan "c" (progr. c, code.c, dsb.), fail boleh laku - sambungan "keluar" atau tiada sambungan langsung. Terdapat beberapa sambungan (contohnya, nama "progr.c.b" boleh bermaksud versi lama (fail bak) program dalam C).

Nama fail tempatan disimpan dalam direktori yang sesuai. Laluan ke fail dari direktori akar dipanggil nama fail yang layak sepenuhnya. Jika akses fail bermula dengan aksara "/", maka cariannya bermula dari direktori akar; dalam mana-mana kes lain, carian fail bermula dari direktori semasa. Mana-mana fail boleh mempunyai beberapa nama. Sebenarnya, nama fail adalah rujukan kepada fail yang ditentukan oleh nombor deskriptor. Oleh itu, dengan meletakkan nama fail yang sama dalam direktori yang berbeza, anda boleh mengakses fail secara terus dalam setiap direktori, dan bukannya dengan menentukan laluan penuh.

1 .4 . 1 Jenis fail

Setiap fail UNIX OS, mengikut jenisnya, boleh dikelaskan kepada salah satu kumpulan berikut: fail biasa, direktori, fail khas dan paip.

Fail biasa ialah urutan bait. Sistem tidak mengenakan sebarang sekatan ke atas fail, dan tiada makna diberikan kepada kandungannya: makna bait bergantung semata-mata pada program yang memproses fail.

Katalog ialah jenis fail khas yang berbeza daripada fail biasa dengan kehadiran struktur dan sekatan penulisan: hanya kernel OS UNIX boleh menulis ke direktori. Direktori menetapkan surat-menyurat antara fail (lebih tepat, nombor deskriptor) dan nama tempatannya. Contoh direktori untuk sistem fail UNIX System V - Rajah 2 (2 bait - nombor deskriptor, 14 bait - nama tempatan).

Rajah.3. Contoh direktori UNIX System V

Nombor deskriptor yang sepadan dengan nama "." ialah pautan ke fail yang mengandungi maklumat tentang direktori itu sendiri. Nombor deskriptor yang sepadan dengan nama ".." ialah rujukan kepada direktori induk bagi direktori semasa. Nombor deskriptor 0 bermakna pautan ke fail yang sepadan telah dialih keluar daripada direktori dan kemasukan direktori itu dianggap percuma.

Pengumpulan semua direktori menentukan struktur sistem fail secara keseluruhan.

Fail khas ialah fail yang diperuntukkan kepada beberapa peranti luaran dan mempunyai struktur khas. Ia tidak boleh digunakan untuk menyimpan data seperti fail biasa atau direktori, tetapi anda boleh melakukan operasi yang sama padanya seperti yang lain. Dalam kes ini, input/output maklumat ke dalam fail ini akan sepadan dengan input daripada peranti luaran atau output kepadanya.

Saluran - Ini alat perisian, yang mengikat proses OS UNIX dengan penimbal I/O

2. BAHASA PERINTAH SISTEM UNIX. JURUBAHASA SHELL

2.1 Peruntukan am

Bahagian ini menerangkan arahan dan simbol yang mempunyai makna khas yang membolehkan anda:

Cari dan manipulasi kumpulan fail menggunakan corak;

Jalankan arahan masuk latar belakang atau pada masa tertentu;

Laksanakan sekumpulan arahan secara berurutan;

Ubah hala input dan output standard;

Menamatkan program yang sedang dijalankan.

Jurubahasa SHELL ialah cangkerang untuk keseluruhan sistem pengendalian dan melaksanakan fungsi antara muka antara pengguna dan OS. Ia memintas dan mentafsir semua arahan pengguna, menjana dan memaparkan mesej respons.

Selain menjalankan perintah UNIX standard dan fail boleh laku, penterjemah termasuk bahasanya sendiri, yang dalam keupayaannya hampir dengan bahasa pengaturcaraan peringkat tinggi. Bahasa ini membolehkan anda mencipta program (fail shell, skrip) yang boleh termasuk pengendali bahasa dan arahan UNIX. Fail sedemikian tidak memerlukan kompilasi dan dilaksanakan dalam mod tafsiran, tetapi ia mesti mempunyai kebenaran boleh laku (ditetapkan menggunakan arahan chmod).

Pengguna berkomunikasi dengan penterjemah arahan dengan memasukkan arahan daripada papan kekunci selepas kemunculan gesaan (jemputan), biasanya simbol "$". Jurubahasa akan mempertimbangkan urutan aksara yang dimasukkan sama ada sebagai nama perintah dalaman atau sebagai nama fail boleh laku.

Prosedur shell (skrip) boleh diluluskan hujah apabila dilancarkan. Setiap daripada sembilan argumen pertama diberikan parameter kedudukan daripada $1 hingga $9 ($0 ialah nama prosedur itu sendiri), dan dengan nama ini ia boleh diakses daripada teks prosedur.

Sebelum kita melihat beberapa pernyataan shell, kita harus memberi perhatian kepada penggunaan simbol tertentu dalam arahan.

Di bawah adalah metacharacter yang digunakan cangkerang:

* ? - membolehkan anda menentukan nama fail yang disingkatkan apabila mencari mengikut corak;

& - bermakna arahan akan dilaksanakan di latar belakang;

; - memisahkan arahan pada baris arahan;

\ - membatalkan makna istimewa aksara seperti *, ?, [, ], &, ;,<,

"..." - membatalkan nilai ruang sebagai pembatas dan nilai istimewa

semua watak;

"..." - batalkan nilai ruang sebagai pemisah dan makna istimewa semua aksara, kecuali $ dan \;

> - mengubah hala output arahan ke fail;

< - mengubah hala input arahan daripada fail;

>> - mengubah hala keluaran arahan yang perlu ditambah

akhir fail sedia ada;

| - mencipta paip yang mengarahkan output satu arahan ke input yang lain

`...` - digunakan secara berpasangan; membolehkan anda menggunakan output arahan sebagai

hujah baris arahan;

$ - digunakan dengan parameter kedudukan dan ditentukan pengguna

penama pembolehubah, juga digunakan secara lalai dalam

sebagai petunjuk cangkerang.

Di samping itu, untuk kemudahan bekerja dengan fail, hampir semua jurubahasa arahan mentafsir aksara "?". dan "*", menggunakannya sebagai corak nama fail (kononnya metakarakter):

Mana-mana satu simbol;

* - nombor arbitrari mana-mana aksara.

Contohnya: *.c - menentukan semua fail dengan sambungan "c";

pr???.* - menentukan fail yang namanya bermula dengan "pr", mengandungi lima aksara dan mempunyai sebarang sambungan.

Pembolehubah shell

Bahasa shell membolehkan anda bekerja dengan pembolehubah (tanpa pengisytiharan terlebih dahulu). Nama pembolehubah bermula dengan huruf dan boleh termasuk huruf dan nombor. Akses kepada pembolehubah bermula dengan tanda "$".

Contoh. Pergi ke direktori rumah pengguna: cd $HOME

Pengendali tugasan. Menetapkan nilai kepada pembolehubah dilakukan menggunakan operator `=" tanpa ruang.

Contoh: s= Hello

bergema $ s

2.2 Mendapatkan bantuan

Pasukan lelakifail , di mana fail - pasukan, program, fail konfigurasi atau fungsi perpustakaan yang anda perlukan bantuan. Direktori lelaki terdiri daripada beberapa bahagian:

1: Perintah pengguna

1M: Perintah untuk pentadbiran sistem

2: Panggilan sistem

3 (3B,3S,...): Fungsi perpustakaan

4: Format Fail

5: Tajuk, jadual, makro, pelbagai

6: Demonstrasi

7: Antara muka peranti dan rangkaian

Apabila arahan, fungsi atau fail sistem disebut dalam literatur Unix, nombor bahagian rujukan sering ditunjukkan dalam kurungan. lelaki, sebagai contoh: "perintah ls(1) bertujuan untuk memaparkan senarai fail." Biasanya lelaki mencari bahagian dengan bantuan yang diperlukan itu sendiri, melihat semua bahagian secara bergilir-gilir, jadi untuk mendapatkan bantuan menggunakan arahan ls masuk sahaja

Kawalan tatal teks:

· <angkasa lepas> - muka surat ke bawah

· <Masuk> - beratur ke bawah

· <Ctrl>+B- muka surat naik

· / perkataan- carian perkataan perkataan

· q- keluar

Walau bagaimanapun, kadangkala istilah yang diperlukan mungkin dalam beberapa bahagian sekaligus ( printf- fungsi perintah dan perpustakaan); dalam kes ini lelaki akan mengembalikan dokumen dari bahagian pertama yang ditemui. Untuk mendapatkan dokumen daripada bahagian lain, gunakan suis -s bab. Untuk mendapatkan senarai bahagian di mana istilah yang diperlukan berlaku, gunakan kekunci -l. Suis -a mengarahkan untuk memaparkan semua rujukan yang ditemui dari semua bahagian satu demi satu.

type arahan - maklumat output tentang jenis arahan

yang arahan - tentukan di mana direktori program berada

2 .3 Perintah untuk bekerja dengan direktori

pwd - cetak nama direktori semasa. Sebagai contoh:

ls - memaparkan kandungan direktori:

$ ls [-suis] [nama direktori]

Jika nama direktori tidak dinyatakan, kandungan direktori semasa dipaparkan. Kekunci menentukan format output, contohnya:

L - keluaran maklumat lengkap tentang setiap fail;

A - keluaran senarai penuh fail, termasuk "." Dan "..";

T - menyusun senarai mengikut masa penciptaan;

C - paparkan senarai dalam beberapa lajur dalam susunan abjad, dsb.

Contoh: ls -l

memaparkan senarai fail dengan atributnya, contohnya:

ABBBBBBBBB C DDDD EEEEEEE FFFFF GGGGGGGGGGGG HHHHH- lihat di bawah untuk penerangan tentang medan penyenaraian

A. Jenis Fail

- fail biasa;

d direktori (sebenarnya, direktori ialah fail khas yang menyenaraikan fail direktori itu);

l pautan simbolik (fail yang mengandungi nama fail lain ialah pautan ke fail itu; butiran di bawah dalam arahan ln );

peranti aksara c (peranti yang dengannya operasi baca-tulis dilakukan bait demi bait);

peranti blok b (operasi baca-tulis ditimbal). Sesetengah peranti adalah aksara sahaja (cth port bersiri) dan sesetengahnya adalah kedua-duanya (cth cakera).

p saluran paip (paip; saluran perisian yang dianjurkan dalam bentuk baris gilir untuk memindahkan data antara dua proses).

B. Hak Penggunaan Fail

9 aksara seterusnya selepas jenis fail mewakili hak untuk menggunakan fail: tiga aksara pertama adalah untuk pengguna yang memiliki fail, yang kedua adalah untuk kumpulan pemilik dan yang ketiga adalah untuk orang lain. Kehadiran huruf dalam setiap rangkap tiga bermakna kehadiran hak yang sepadan:

untuk fail biasa:

r - hak untuk membaca kandungan fail

w - hak untuk menukar kandungan fail

x - hak untuk melaksanakan (menjalankan) fail

untuk direktori:

r - hak untuk mendapatkan senarai fail direktori

w - hak untuk mencipta dan memadam fail dalam direktori

x - kanan untuk "mencari" dalam direktori

Set kebenaran --x untuk direktori membolehkan anda memasukkannya dan membaca fail yang namanya diketahui lebih awal (dengan syarat anda telah membaca kebenaran untuk fail ini). Anda juga boleh menjalankan arahan ls Dan ls -l untuk fail ini. Pada masa yang sama, dapatkan senarai fail ( ls (-l) untuk direktori), dan anda tidak boleh mencipta atau memadam fail.

Hak r-- untuk direktori membolehkan anda membaca direktori, iaitu, mendapatkan senarai nama failnya. Dalam kes ini, jangan masukkan direktori atau cari atribut fail ( ls -l), dan fail tidak boleh dibaca (walaupun anda telah membaca kebenaran untuk fail itu). Sememangnya, anda tidak boleh membuat atau memadam fail.

Mengubah suai fail memerlukan kebenaran menulis pada fail kerana ia adalah operasi fail. Memadam fail memerlukan kebenaran menulis ke direktori di mana fail itu terletak - ia adalah operasi direktori. Mempunyai kebenaran menulis pada fail tidak semestinya bermakna anda boleh memadamkannya (walaupun anda boleh mengurangkan saiz fail kepada sifar).

C. Bilangan sambungan

Bilangan pautan keras (nama) fail - lihat arahan di bawah untuk butiran lanjut ln . Untuk direktori - bilangan subdirektorinya (sekurang-kurangnya dua - " . " titik Dan " .. " dua mata).

D. Pengguna Pemilik Fail

E. Kumpulan Pemilik Fail

Kumpulan ialah set pengguna yang dinamakan; kumpulan dibuat oleh pentadbir. Setiap pengguna adalah ahli sekurang-kurangnya satu kumpulan. Pengguna yang memiliki fail (selepas ini dirujuk hanya sebagai pemilik) tidak semestinya ahli kumpulan pemilik, walaupun dia mungkin begitu.

F. Saiz fail dalam bait

G. Failkan tarikh terakhir diubah suai

H. Nama fail

CD- tukar direktori (direktori):

$cd [nama direktori penuh]

Ini akan menjadikan direktori yang ditentukan sebagai direktori semasa. Perintah cd tanpa hujah akan memulihkan direktori rumah pengguna sebagai direktori semasa.

mkdir- mencipta direktori baharu:

$ mkdir [-keys] new_directory_name

Untuk mencipta direktori baharu, pengguna mesti mempunyai kebenaran menulis kepada direktori induk bagi direktori semasa.

rmdir- memadam direktori:

$ rmdir direktori_senarai

Sistem tidak akan membenarkan anda memadamkan direktori jika ia tidak kosong atau jika pengguna tidak mempunyai kebenaran menulis kepadanya. Direktori semasa tidak boleh tergolong dalam subpokok direktori yang dipadamkan

du tentukan jumlah saiz direktori memaparkan maklumat tentang jumlah saiz fail dalam direktori yang ditentukan dan - secara rekursif - subdirektorinya (ditambah saiz direktori itu sendiri); suis -k bermaksud bahawa data dikeluarkan dalam kilobait, sebaliknya - dalam blok 512-bait. Jika direktori tidak ditentukan, yang semasa diandaikan. Suis -s menekan output rekursif maklumat tentang subdirektori - arahan hanya melaporkan jumlah volum.

cp -R direktori destinasi direktori sumber. Menyalin direktori ke direktori lain secara rekursif

2.4 Perintah untuk bekerja dengan fail

sentuhnama fail menukar masa pengubahsuaian terakhir fail kepada yang semasa. Kesan sampingan: jika fail tidak wujud, ia dicipta dengan saiz sifar.

rm- memadam fail (pautan ke fail):

$ rm [-keys] senarai_fail

Perintah ini mengalih keluar rujukan fail (iaitu, nama fail tempatan) jika pengguna mempunyai akses tulis kepada direktori yang mengandungi nama tersebut. Jika fail yang dipadam dilindungi tulis, arahan meminta pengesahan untuk memadam fail. kunci:

· -i - memperkenalkan keperluan untuk pengesahan bagi setiap fail yang akan dipadam;

· -f - membatalkan keperluan untuk pengesahan untuk sebarang fail dipadamkan;

· -r - menetapkan mod untuk memadam secara rekursif semua fail dan subdirektori direktori tertentu, dan kemudian direktori itu sendiri.

Memadam fail sebenarnya mengurangkan kiraan namanya dalam inod sebanyak 1; panggilan sistem yang sepadan dipanggil nyahpaut(2). Secara fizikal, fail dipadamkan oleh sistem jika ia ditutup dan jika pembilang nama adalah sifar.

chmod- menukar atribut perlindungan fail:

chmod [-R]hak fail_atau_direktori [fail2 ...]

Suis -R pilihan memanjangkan tindakan arahan secara rekursif kepada kandungan direktori, jika ada ditemui dalam senarai fail yang dihantar pada baris arahan.

Hak ditunjukkan dalam salah satu daripada dua notasi: angka dan simbolik.

Notasi berangka perintahchmod

Set hak dibahagikan kepada 4 triplet:

dan dianggap sebagai medan bit: bit ditetapkan jika hak yang sepadan tersedia. Setiap tiga bit ditulis sebagai nombor perpuluhan.

Sifar pendahuluan boleh diabaikan.

Notasi arahan simbolikchmod

Tidak seperti notasi angka, notasi simbolik menunjukkan perubahan kepada hak dan bukannya hak. Notasi terdiri daripada 3 elemen, dinyatakan dalam urutan berikut: hak siapa untuk menukar, bagaimana, dan hak apa.

Tambahkan kebenaran menulis pada kumpulan:

%fail chmod g+w

Alih keluar hak rakaman dan prestasi daripada orang lain:

%fail chmod o-wx

Tambahkan kebenaran baca dan tulis kepada pemilik dan kumpulan:

%chmod ug+rw fail

Tetapkan hak orang lain sama seperti kumpulan

%chmod o=g fail

Tetapkan hak orang lain dan kumpulan sama seperti pemiliknya

%chmod og=u fail

Beberapa perubahan boleh disenaraikan dipisahkan dengan koma:

Tambahkan hak untuk membuat persembahan kepada orang jauh dan alih keluar hak untuk menulis daripada kumpulan dan orang lain:

%fail chmod u+x,go-w

kucing- menggabungkan dan mengeluarkan fail ke peranti output standard:

$ kucing [-keys] [input_file1[input_file2...]]

Perintah membaca fail input yang ditentukan secara bergilir-gilir, jika terdapat beberapa daripadanya, menggabungkannya dan mengeluarkan data baca ke aliran keluaran standard (pada skrin). Menggunakan ubah hala strim ( saluran program) perintah kucing boleh digunakan untuk melakukan pelbagai operasi.

cp- menyalin fail:

$ cp input_file_1 [input_file_2 [...input_file_n]] output_file

Perintah ini mempunyai dua mod penggunaan:

· jika fail output adalah fail biasa, maka hanya boleh ada satu fail input; kandungannya disalin ke fail output. Jika fail output wujud, kandungan lamanya hilang, tetapi sifat perlindungan kekal; jika fail output tidak wujud, ia akan dibuat dan mewarisi atribut fail input.

· jika fail output ialah direktori, maka semua fail input yang ditentukan akan disalin ke dalamnya, tetapi direktori itu mesti dibuat terlebih dahulu.

Contoh. Salin dua fail dari direktori semasa ke yang ditentukan dengan nama yang sama:

$ cp f1.txt f2.txt ../usr/petr

mv- pemindahan fail:

$mv input_file_1 [input_file_2 [...input_file_n]] output_file

Perbezaan antara arahan hadapan dan arahan salin hanyalah bahawa fail input dimusnahkan selepas arahan itu dilaksanakan.

Contoh. Alihkan fail dengan sambungan ".c" daripada direktori yang ditentukan ke direktori semasa:

ln pengurusan pautan simbolik

Pautan simbolik ialah jenis fail khas yang mengandungi nama fail lain (dalam senarai ls -l fail tersebut ditunjukkan oleh huruf l dalam lajur pertama). Baca-tulis ke pautan fail sebenarnya menghasilkan baca-tulis ke fail yang dirujuknya.

Mencipta pautan simbolik:

ln -spautan_fail_fail sedia ada

Mencipta Pautan Tegar

Dalam sistem fail UNIX, nama fail ialah penunjuk kepada inod yang mengandungi atribut fail dan tatasusunan alamat blok cakera di mana data fail tersebut berada. Walau bagaimanapun, inode tidak mengandungi rujukan kepada nama fail, jadi fail boleh mempunyai berbilang nama. Deskriptor hanya mengandungi pembilang untuk bilangan nama ini, yang nilainya ditunjukkan dalam lajur kedua penyenaraian ls -l.

Mencipta pautan keras ialah mencipta nama lain yang merujuk inod yang sama:

lnnama_fail yang sedia ada nama_fail_baru

2.5 Perintah untuk mengeluarkan kandungan fail

fail nama fail [nama fail ...]

menentukan jenis fail dengan menganalisis kandungannya

kucingnama fail

mengeluarkan kandungan fail ke terminal.

lebihnama fail

pager (mengeluarkan halaman fail demi halaman, dengan hentian).

ekor [-nombor ] nama fail

mencetak 10 baris terakhir fail atau nombor tertentu

kepala [-nombor ] nama fail

mencetak 10 baris pertama fail atau apa sahaja yang ditentukan.

Perintah untuk bekerja dengan fail teks

grep- cari corak (substring) dalam fail:

$ grep [-keys] substring file_list

Garisan yang ditemui dipaparkan pada keluaran standard dalam format yang ditentukan oleh kekunci. Jika terdapat beberapa fail, nama fail yang sepadan dipaparkan sebelum setiap baris. kunci:

· -c - memaparkan nama semua fail yang menunjukkan bilangan baris yang mengandungi corak;

· -i - mengabaikan huruf besar (perbezaan antara huruf kecil dan huruf Latin besar);

· -n - output sebelum baris nombor relatifnya dalam fail;

· -v - baris keluaran yang tidak mengandungi corak (inversi keluaran);

· -l - keluarkan hanya nama fail yang mengandungi templat.

wc- mengira bilangan baris, perkataan dan aksara dalam fail:

$ wc [-lwc] [senarai_fail]

Kira baris - suis -l, perkataan - suis -w dan aksara - suis -c (lalai -lwc). Jika senarai fail kosong, maka pengiraan dijalankan pada aliran input standard.

· menyusun- pengisihan fail:

susun [-keys] senarai_fail

Perintah ini mengisih fail input ke dalam baris mengikut peningkatan kod aksara. kunci:

o -r - susunan isihan terbalik;

o -f - abaikan perbezaan antara huruf kecil dan huruf Latin besar

o -n - susunan isihan angka, dsb.

cmp- output lokasi percanggahan pertama:

$ cmp fail_1 fail_2

Mencetak nombor aksara dan nombor baris (dalam fail teks) di mana percanggahan mula-mula berlaku dalam fail input. Berfungsi dengan mana-mana fail.

perbezaan- output semua percanggahan dalam fail:

$diff file_1 file_2

Mencetak semua baris yang terdapat percanggahan antara fail input. Berfungsi hanya dengan fail teks.

2.6 Mencari sistem fail

Cari mengikut kandungan fail ( grep)

Pasukan

%grep [-inv]subrentetan fail [ fail2 ...]

mencari subrentetan yang ditentukan dalam fail yang ditentukan. Sebenarnya grep mencari bukan rentetan aksara, tetapi untuk ungkapan biasa. Jika anda hanya menggunakan aksara alfanumerik, maka tidak ada perbezaan. Walau bagaimanapun, jangan gunakan tanda baca atau aksara khas lain melainkan anda pasti bahawa ia tidak akan ditafsirkan dengan cara yang istimewa - sebagai metakarakter ungkapan biasa. Ungkapan Biasa dipelajari kemudian dalam kursus ini. Perintah mencetak baris dari fail yang ditentukan, di mana baris baris yang ditentukan ditemui subrentetan. Jika terdapat berbilang fail, baris didahului oleh nama fail dengan bertindih.

Kekunci utama:

I - abaikan perbezaan antara huruf besar dan kecil (pada sistem bukan Rusia ia hanya berfungsi untuk abjad Latin),

N - bersama-sama dengan garis, paparkan nombor mereka,

V - talian keluaran di mana tidak yang dinyatakan telah dijumpai subrentetan.

Ungkapan Biasa

Ungkapan biasa ialah bahasa untuk menerangkan corak teks. Ungkapan biasa mengandungi sampel aksara yang disertakan dalam carian ungkapan teks, dan binaan yang ditakrifkan oleh aksara khas (metacharacters).

Metacharacter yang digunakan dalam ungkapan biasa

permulaan baris

hujung baris

mana-mana aksara yang disertakan dalam kurungan segi empat sama; untuk menentukan julat aksara, aksara pertama dan kedua dalam kurungan segi empat sama ditunjukkan dengan tanda sempang. aksara terakhir julat

mana-mana aksara kecuali aksara yang dinyatakan dalam kurungan segi empat sama

mana-mana watak tunggal

mengatasi makna istimewa metakarakter berikut

menunjukkan bahawa corak sebelumnya berlaku 0 atau lebih kali

menunjukkan bahawa corak sebelumnya berlaku tepat n kali

menunjukkan bahawa corak sebelumnya berlaku sekurang-kurangnya n kali

menunjukkan bahawa corak sebelumnya berlaku tidak lebih daripada n kali

menunjukkan bahawa corak sebelumnya berlaku sekurang-kurangnya n dan paling banyak m kali

Contoh ungkapan biasa

mencari rentetan yang bermula dengan gabungan huruf "the"

mencari rentetan yang berakhir dengan gabungan huruf "be"

mencari rentetan yang mengandungi gabungan huruf: "signal", "Signal", "signaL" atau "Signal"

mencari garisan yang mengandungi titik

mencari rentetan yang mengandungi aksara "th" di kedudukan ke-4 dan ke-5

mencari rentetan yang mengandungi aksara "th" dalam kedudukan ke-54 dan ke-55

mencari rentetan yang mengandungi aksara "th" dalam mana-mana kedudukan antara ke-11 dan ke-31

mencari rentetan yang terdiri daripada mana-mana 5 aksara

mencari rentetan yang bermula dengan huruf "t" dan berakhir dengan huruf "e"

mencari rentetan yang mengandungi gabungan: nombor-huruf besar

mencari rentetan yang tidak mengandungi nombor "1" atau "2" atau "3"

cari katalog [ungkapan ... ]

Perintah melakukan carian rekursif dalam direktori yang ditentukan dan subdirektorinya. Untuk setiap fail, nilai nilai logik yang ditentukan pada baris arahan dikira. ungkapan, yang digabungkan dengan "DAN". Jika hasilnya "BENAR", maka nama fail (lebih tepat, laluan ke sana, bermula dari yang ditentukan dalam baris arahan katalog, dicetak kepada output standard). Ketiadaan ungkapan sentiasa "BENAR" (iaitu, dalam kes ini cari secara rekursif memaparkan nama semua fail dalam direktori dan subdirektorinya).

Ungkapan Asascari

(Nota: Di bawah adalah di mana sahaja terdapat parameter berangka N, anda boleh meletakkan tambah atau tolak di hadapannya, dan ini adalah adil peraturan seterusnya: "+N" bermaksud "lebih daripada N", "-N" bermaksud "kurang daripada N", hanya nombor N bermaksud "sama dengan N".)

-namatemplat nama_fail

benar jika nama fail sepadan dengan corak; Anda boleh menggunakan simbol "*" dsb. dalam templat. - dalam kes ini, templat mesti disertakan dalam petikan tunggal.

-permABCD

benar jika kebenaran fail betul-betul sama dengan yang ditentukan ( ABCD); kebenaran ditulis dalam notasi angka arahan chmod.

-perm-ABCD

benar jika hak akses yang ditentukan ( ABCD) tersedia dalam fail; kebenaran ditulis dalam notasi angka arahan chmod.

-jenisT

benar jika jenis fail adalah sama dengan jenis yang ditentukan T, Di mana T- salah satu aksara: f (fail biasa), d (direktori), l (pautan simbolik), b atau c (peranti blok atau aksara), p (talian paip).

-penggunaNama pengguna

benar jika fail tersebut dimiliki oleh pengguna yang ditentukan.

-kumpulannama kumpulan

benar jika fail itu tergolong dalam kumpulan yang ditentukan.

-saizN c

benar jika saiz fail adalah N bait (tanpa aksara "c", saiz ditafsirkan dalam blok 512-bait).

-mtimeN

benar jika kandungan fail telah diubah suai N hari yang lalu (iaitu N*24 jam yang lalu).

-masaN

benar jika akses terakhir kepada fail berlaku N hari yang lalu (iaitu N*24 jam yang lalu).

-ctimeN

benar jika atribut fail telah diubah suai N hari yang lalu (iaitu N*24 jam yang lalu).

-lebih baharunama fail

benar jika fail diubah suai lewat daripada yang ditentukan.

benar jika pemilik fail tidak ditemui dalam senarai pengguna (contohnya, pengguna telah dipadamkan tetapi failnya kekal).

-tiada kumpulan

benar jika kumpulan pemilik fail tidak ditemui dalam senarai kumpulan (contohnya, kumpulan telah dipadamkan tetapi fail kekal).

operasi "DAN". secara eksplisit.

operasi "ATAU".

kurungan untuk mengelompokkan ungkapan jika perlu (perhatikan kehadiran garis miring ke belakang).

Contoh: cari dalam direktori rumah semua fail bermula dengan "a":

%cari . -nama "a*"

Cari dalam direktori rumah anda semua fail boleh laku pemilik bermula dengan "a":

%cari . -nama "a*" -perm -0100

2.7 Subsistem pengurusan kerja

Subsistem pengurusan kerja direka untuk kerja interaktif pengguna dengan shell. Jika shell menyokong sistem ini ( /usr/bin/jsh, /usr/local/bin/bash), kemudian pengguna menerima ciri-ciri tambahan memanipulasi proses berjalan: alihkannya dari latar depan (latar depan, pelaksanaan interaktif) ke latar belakang (latar belakang) dan belakang, gantung dan sambung semula proses. Setiap arahan atau saluran paip yang dimasukkan oleh pengguna dari terminal dipanggil kerja. Dari segi proses, kerja ialah sekumpulan proses. Setiap kerja wujud dalam salah satu daripada keadaan berikut: interaktif (latar depan), latar belakang (latar belakang), atau digantung (dihentikan). Istilah ini ditakrifkan seperti berikut:

1. Kerja interaktif sedang berjalan dan mempunyai akses baca dan tulis ke terminal kawalan;

2. kerja latar belakang dilaksanakan tanpa akses kepada terminal kawalan, iaitu, apabila cuba menulis atau membaca dari terminal, semua proses dalam kumpulan akan menerima isyarat SIGTTOU atau SIGTTIN dan akan digantung;

3. kerja yang digantung ialah kerja yang berada dalam keadaan digantung akibat menerima isyarat SIGSTOP, SIGTTIN atau SIGTTOU; Proses kerja yang digantung tidak dilaksanakan sehingga ia diletakkan dalam keadaan interaktif atau latar belakang.

Setiap kerja yang dilancarkan oleh shell menerima nombor positif integer, yang kemudiannya dijejaki oleh shell dan digunakan sebagai pengecam untuk kerja tertentu. Jika anda menjalankan proses (saluran paip) di latar belakang, cangkerang memaparkan pengecam proses yang sedang berjalan (kumpulan proses) dan nombor tugas.

Di samping itu, shell menjejaki keadaan pekerjaan "semasa" dan "sebelumnya". Tugas semasa ialah kerja yang paling baru dimulakan di latar belakang atau dijeda daripada keadaan interaktif. Tugasan sebelumnya ialah tugasan bukan semasa yang terakhir. Tugas semasa ditandakan dalam senarai tugas dengan tambah, yang sebelumnya - dengan tolak.

Sintaks untuk menentukan ID kerja ialah:

di manakah pengecam kerja boleh dinyatakan dalam salah satu daripada format berikut:

Apabila subsistem pengurusan kerja didayakan, arahan berikut ditambahkan pada persekitaran pengguna untuk memanipulasi kerja:

bg [%kerja ]

Memulihkan pelaksanaan kerja yang digantung dengan menghantarnya ke latar belakang. Jika ID pekerjaan % kerja

fg [%kerja ]

Memulihkan pelaksanaan tugas yang digantung, meletakkannya dalam mod interaktif; juga menjadikan kerja yang berjalan di latar belakang interaktif. Jika ID pekerjaan % kerja diabaikan, perintah itu digunakan untuk tugas semasa.

pekerjaan [-l] [%kerja ]

Menyenaraikan pekerjaan yang dijeda atau berjalan di latar belakang. Jika % dinyatakan kerja, melaporkan tentang tugas tertentu. Dengan suis -l (huruf "el") memaparkan pengecam proses.

bunuh[-ISYARAT ] % kerja

Versi perintah bunuh untuk tugasan. Perintah menghantar isyarat yang ditentukan kepada proses kerja yang ditentukan, lalainya ialah SIGTERM.

Menekan gabungan -Z menjeda kerja interaktif semasa.

ps- dapatkan senarai semua proses:

ps [-kunci]

o Jika tiada kekunci, senarai proses pengguna akan dipaparkan (ID proses, nombor terminal dan masa pemproses yang dihabiskan untuk proses tersebut). kunci:

memaparkan maklumat tentang semua proses yang sedang berjalan;

-upengguna

memaparkan maklumat tentang proses pengguna yang ditentukan;

penyenaraian "penuh" (lihat jadual di bawah);

penyenaraian "panjang" (lihat jadual di bawah);

paparan kumpulan proses dan pengecam sesi.

Medan Output Perintah ps

Penerangan

Status Proses:

O- dilakukan ( Pada pemproses),

R- sedia untuk dilancarkan ( Boleh dijalankan),

S- dalam keadaan tidur ( sedang tidur),

Z- zombi ( zombi),

T- berhenti ( Berhenti).

ID pengguna bagi pihak yang menjalankan proses (dengan kunci -f nama pengguna dipaparkan)

ID Proses

ID proses ibu bapa

ID Kumpulan Proses

ID Sesi

Keutamaan proses (semakin tinggi, semakin rendah)

Keutamaan relatif (Nombor Bagus)

Saiz proses dalam halaman (saiz halaman boleh didapati dengan arahan saiz halaman)

Masa mula proses

Terminal kawalan ("?" - untuk daemon)

Jumlah masa yang dibelanjakan oleh pemproses melaksanakan proses

Nama proses (dengan kunci -f 80 aksara pertama baris arahan dicetak)

*) - dalam lajur kunci menunjukkan kunci yang harus diberikan kepada arahan ps supaya medan yang sepadan muncul dalam output. tandakan" Semua" bermakna medan sentiasa dipaparkan, termasuk semasa menjalankan arahan tanpa kekunci. Kekunci -f, -l, -j boleh digunakan bersama untuk menghasilkan keluaran gabungan. kunci -f, -l, -j jangan tentukan proses mana untuk memaparkan data, tetapi hanya tetapkan format output. Gunakan kekunci untuk memilih proses -e, -u.

Pasukan ps juga mempunyai kunci -o(huruf "o"), parameternya ialah senarai medan output yang dipisahkan dengan koma. Dengan cara ini anda boleh memilih hanya medan yang diperlukan, serta memaparkan data proses tambahan yang tidak disenaraikan dalam jadual di atas. Nama medan untuk kunci -o lihat dalam direktori lelaki.

2.8 Pengguna

Kehadiran atau ketiadaan pengguna dalam sistem ditentukan oleh entri dalam fail /etc/passwd. Setiap entri ialah baris yang terdiri daripada tujuh medan yang dipisahkan oleh titik bertindih.

%lagi /etc/passwd

Medan, dari kiri ke kanan, mempunyai makna berikut:

1. PENGGUNA- Nama pengguna.

2. KATA LALUAN- dalam versi Unix yang lebih lama, kata laluan yang disulitkan pengguna telah disimpan dalam medan ini; V versi moden medan mengandungi "x" dan kata laluan yang disulitkan disimpan dalam fail /etc/shadow, yang hanya boleh dibaca oleh pengguna super.

3. UID- ID pengguna ialah integer positif, 0 dikhaskan untuk pengguna super.

4. GID- ID kumpulan yang dimiliki pengguna.

5. GECOS- ulasan teks sewenang-wenangnya (biasanya nama pertama dan terakhir pengguna).

6. RUMAH- direktori rumah pengguna.

7. CENGKUNG- shell - program yang dilancarkan untuk memberi perkhidmatan kepada sesi pengguna dalam sistem. Untuk pengguna biasa, ini adalah penterjemah arahan.

Jika pengguna mesti menjadi ahli lebih daripada satu kumpulan, kemudian untuk menambahkannya ke kumpulan lain, anda mesti menentukan nama pengguna dalam baris fail yang sepadan /etc/group.

%lagi /etc/group

Kumpulan yang ditentukan untuk pengguna dalam fail /etc/passwd dipanggil kumpulan utama pengguna ini, kumpulan selebihnya yang dia disertakan mengikut fail /etc/group, - menengah. Kumpulan utama berbeza daripada kumpulan sekunder hanya dalam perkara berikut:

· Apabila pengguna mencipta fail (dan bit SGID direktori tidak ditetapkan), kumpulan pemilik fail baharu akan menjadi kumpulan utama pengguna (pemilik fail itu ialah pengguna).

Fail /etc/group dengan itu melaksanakan dua fungsi: pertama, ia mentakrifkan nama kumpulan dan pengecam; kedua, ia menunjukkan penyertaan pengguna dalam kumpulan yang kedua kepada mereka.

Untuk menentukan kumpulan yang anda sertai, anda perlu memberikan arahan

Sebaik sahaja pengguna log masuk, direktori semasa mereka menjadi direktori rumah mereka (dinyatakan dalam medan HOME dalam fail /etc/passwd). Sebelum memaparkan gesaan baris arahan, shell sh melaksanakan arahan yang ditulis dalam fail .profil(bermula dengan titik) yang terletak dalam direktori rumah pengguna ( bash melaksanakan fail .bashrc). Fail ini biasanya mengandungi pembolehubah persekitaran (terutamanya pembolehubah PATH) dan beberapa parameter sesi.

%lagi .profil

Ambil perhatian bahawa direktori semasa (".") berada dalam senarai PATH. Beri perhatian kepada arahan eksport, yang menandakan pembolehubah sebagai "dieksport", i.e. pembolehubah akan dihantar kepada proses anak yang dilancarkan oleh shell anda; jika tidak, ia hanya akan kelihatan di dalam proses shell.

PATH=/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/ucb:/usr/local/bin:/usr/openwin/bin:.

Anda boleh menukar pembolehubah PATH dengan cepat dengan menambah laluan lain kepadanya (dalam direktori prog, di mana program hello terletak) seperti berikut:

%PATH=$PATH:./prog

%eksport PATH

%echo $PATH

(Tanda dolar di hadapan nama pembolehubah bermakna menggantikan nilai pembolehubah itu pada baris arahan.)

2.9 Ubah hala strim dan saluran program

UNIX mempunyai tiga aliran standard: aliran input, aliran keluaran dan aliran protokol standard (strim ralat).

Pengalihan strim membolehkan anda menukar input (output) standard:

< - изменение источника стандартного ввода;

>, >> - tukar penerima output standard.

Contoh :

kucing > nama fail- mengalihkan output program kucing ke nama fail fail (jika fail ini wujud, kandungan sebelumnya akan hilang);

kucing >> nama fail- tambah kandungan output program kucing kepada kandungan nama fail fail;

kucing< filename - menjana input standard program kucing daripada kandungan nama fail fail.

Strim standard - aliran input, aliran keluaran dan aliran ralat (strim protokol) mempunyai penomboran tetap - 0, 1 dan 2, masing-masing. Nombor ini (nombor deskriptor benang) boleh digunakan secara eksplisit. Sebagai contoh, rekod

prog 1>fail

adalah setara dengan menulis

prog >fail

Untuk membezakan nama strim daripada nama fail, aksara `&" diletakkan di hadapan nombor strim:

prog >fail 2>&1

Ini mengubah hala output standard ke fail (>fail). Selain itu, mesej ralat juga akan diubah hala ke fail: menulis 2>&1 bermaksud mengubah hala strim ralat ke output standard, yang seterusnya diubah hala ke fail.

Komen: Perintah dihuraikan dari kanan ke kiri oleh penterjemah: mula-mula strim digabungkan (2>&1), dan kemudian strim output standard (1) diubah hala ke fail.

Dalam hal ini, ia boleh berguna untuk menggunakan pseudo-device /dev/null, yang memadamkan semua aksara yang dimasukkan ke dalamnya. Ini digunakan apabila perlu untuk mengabaikan (menindas) aliran keluaran sepenuhnya.

Saluran ialah alat perisian yang mengikat proses OS UNIX dengan penimbal I/O. Menjalankan proses sebagai

$proses_1 | proses_2 | ... | proses_n

bermakna bahawa output standard proses _1 akan dipendekkan kepada input standard proses _2, keluaran standard proses _2 akan dipendekkan kepada input standard proses _3, dsb. Dalam kes ini, saluran pertama kali dibuat, dan kemudian semua proses dilancarkan untuk pelaksanaan pada masa yang sama, dan jumlah masa pelaksanaannya ditentukan oleh proses yang lebih perlahan.

...

Dokumen yang serupa

    Mempelajari subsistem I/O dan sistem fail OS Keluarga Windows N.T. Analisis ciri aplikasi TotalCommander dan interaksinya dengan sistem fail dan subsistem I/O. Interaksi TotalCommander dengan penyesuai rangkaian.

    kerja makmal, ditambah 06/12/2012

    Struktur fail hierarki Sistem Unix. Pemprosesan tatasusunan data yang konsisten, keupayaan untuk mencipta dan memadam fail, cache penimbal. Perlindungan maklumat, tafsiran peranti persisian sebagai fail. Struktur dalaman sistem fail Unix.

    abstrak, ditambah 03/23/2010

    Buat program UNIX yang menyemak atribut pelaksanaan fail untuk pengguna semasa. Ciri-ciri hak akses untuk direktori. Perintah jurubahasa cangkerang; sintaks skrip umum. Menetapkan atribut keselamatan untuk kumpulan pengguna.

    kerja kursus, ditambah 05/12/2013

    Fail IO.SYS dan MSDOS.SYS; Pemproses arahan DOS. Sistem asas input/output, pemuat but, dialog pengguna dengan DOS, arahan. Kelemahan bahasa pengaturcaraan C++. Penciptaan dan penerangan program yang membolehkan anda bekerja dengan fail dalam persekitaran DOS, algoritmanya.

    kerja kursus, ditambah 12/02/2009

    Menggunakan pengedaran GNU/Linux Mandriva, yang dianggap sebagai salah satu yang paling mudah dipelajari untuk pengguna pemula, untuk berinteraksi dengan penterjemah arahan GNU/Linux. Maklumat tentang format dan pilihan asas bagi arahan cal.

    kerja makmal, tambah 28/12/2012

    Reka bentuk perisian. Skim pembentukan awal direktori fail, memaparkan direktori fail, memadam fail, menyusun fail mengikut nama, tarikh penciptaan dan saiz menggunakan kaedah pemilihan langsung. Menguruskan direktori dalam sistem fail.

    kerja kursus, ditambah 01/08/2014

    Sejarah perkembangan OS UNIX, kelebihannya. Menguruskan komputer yang menjalankan UNIX. Tafsiran baris arahan dan struktur sistem fail. Perintah kawalan proses. Alat pentadbiran sistem dan akaun pengguna.

    pembentangan, ditambah 05/12/2014

    Fungsi dan komponen utama sistem pengaturcaraan. Alat penciptaan program. Penterjemah bahasa pengaturcaraan. Prinsip dan fasa operasi pengkompil, transformasi bahasa pengaturcaraan kepada kod mesin. Mekanisme penukaran jurubahasa.

    pembentangan, ditambah 02/07/2012

    Kajian peraturan asas reka bentuk sistem pengendalian. Struktur sistem fail. Komponen yang menyediakan cara untuk menyusun, mencari dan mengurus maklumat. Ulasan ringkas fail khas dan biasa. Perintah asas sistem UNIX.

    manual latihan, ditambah 12/02/2009

    Penerangan mengenai sistem fail Unix. Kerja arahan utama ls, cmp, comm, dan kuncinya. Pembangunan produk perisian yang berfungsi dalam Persekitaran Windows dan yang merupakan emulator pemproses arahan untuk sistem pengendalian Unix. Pemilihan cara pelaksanaan.