Linux Tutorial
Linux Tutorial
Pada sistem UNIX tradisional, administrator sistem Anda memberikan nama pengguna dan password awal saat Anda diberi account pada sistem. Namun, karena di Linux tt Anda adalah administrator sistem, Anda harus membuat account Anda sendiri sebelum Anda dapat login masuk Untuk diskusi berikut, kita akan menggunakan nama pengguna imajiner, `` larry .'' Selain itu, sistem masing-masing memiliki nama host yang ditugaskan untuk itu. Inilah nama host yang memberikan mesin anda nama, memberinya karakter dan pesona. Nama host digunakan untuk mengidentifikasi mesin individu di jaringan, tetapi bahkan jika mesin anda tidak jaringan, harus memiliki sebuah nama host.Sebagai contoh kami di bawah ini, nama host sistem adalah `` mousehouse ''.
Masukkan nama pengguna Anda dan tekan tombol Enter. Tokoh kita, larry , akan ketik:
Selanjutnya, masukkan password Anda. Karakter yang Anda masukkan tidak akan bergema ke layar, sehingga ketik hati-hati. Jika Anda salah ketik sandi Anda, Anda akan melihat pesan dan Anda akan memiliki untuk mencoba lagi. Setelah Anda benar memasukkan nama pengguna dan password, Anda secara resmi masuk ke sistem, dan bebas berkeliaran.
Nah, ternyata, membuat adalah nama sebuah program yang sebenarnya pada sistem, dan shell dieksekusi program ini ketika diberi perintah. (Sayangnya, sistem ini menjadi tidak ramah.) Hal ini membawa kita pada pertanyaan terbakar: Apa perintah? Apa yang terjadi ketika Anda mengetik `` bercinta ''? Kata pertama pada baris perintah, ``membuat '', adalah nama dari perintah untuk dieksekusi. Segala sesuatu yang lain pada baris perintah diambil sebagai argumen untuk perintah ini. Contoh: Nama dari perintah ini adalah `` cp '', dan argumen adalah `` foo '' dan `` batang ''. Bila Anda memasukkan sebuah perintah, shell melakukan beberapa hal. Pertama, cek perintah untuk melihat apakah itu bersifat internal ke shell. (Artinya, perintah shell yang tahu bagaimana melaksanakan sendiri Ada beberapa perintah ini,. Dan kita akan masuk ke mereka nanti.) Shell juga memeriksa untuk melihat apakah perintah adalah alias, atau nama pengganti, untuk perintah lain. Jika tidak satu pun dari ketentuan berlaku, shell mencari sebuah program, pada disk, memiliki nama tertentu. Jika berhasil, shell menjalankan program ini, mengirimkan argumen ditentukan pada baris perintah. Dalam contoh kita, shell akan mencari sebuah program yang disebut membuat dan menjalankannya dengan argumen cinta . Membuat adalah program sering digunakan untuk mengkompilasi program-program besar, dan mengambil sebagai argumen nama target ``'' untuk mengkompilasi. Dalam kasus `` bercinta '', kami diinstruksikan membuat untuk mengkompilasi target cinta . Karena membuat tidak dapat menemukan target dengan nama ini, gagal dengan pesan kesalahan lucu, dan mengembalikan kita pada prompt shell. Apa yang terjadi jika kita mengetikkan perintah ke shell dan shell tidak dapat menemukan program yang memiliki nama tertentu? Yah, kita bisa mencoba hal berikut: Sederhana saja, jika shell tidak dapat menemukan program yang memiliki nama yang diberikan pada baris perintah (di sini, `` makan ''), mencetak pesan kesalahan. Anda akan sering melihat pesan kesalahan jika Anda salah ketik
mkae
katakanlah bahwa Larry memiliki direktori yang disebut kertas , yang berisi tiga file: sejarah-akhir , inggris terang , dan master-tesis . Masing-masing tiga file berisi informasi untuk tiga proyek yang sedang berlangsung Larry. Untuk mengacu pada bahasa inggris-lit file, Larry dapat menentukan path file itu, seperti dalam: Seperti yang Anda lihat, direktori dan nama file dipisahkan oleh sebuah garis miring ( / ). Untuk alasan ini, nama file itu sendiri tidak dapat berisi / karakter. MS-DOS pengguna akan menemukan konvensi ini akrab, meskipun dalam MS-DOS dunia backslash ( \ ) digunakan sebagai gantinya. Seperti disebutkan, direktori dapat bersarang dalam satu sama lain juga. Sebagai contoh, mari kita mengatakan bahwa ada satu direktori di dalam kertas , yang disebut catatan . Para catatan direktori berisi file matematika-catatan dan Cheatlembar . Pathname dari file -lembar contekan akan Oleh karena itu, nama jalan benar-benar seperti path ke file. Direktori yang berisi subdirektori yang diberikan dikenal sebagai direktori induk . Di sini, direktorikertas adalah induk dari catatan direktori.
Di sisi lain, jika Anda mulai nama file dengan / , sistem menafsirkan ini sebagai nama path lengkap - yaitu, nama jalan yang meliputi seluruh jalan ke file tersebut, mulai dari direktori root, / . Hal ini dikenal sebagai nama path absolut .
Anda juga dapat menentukan direktori home pengguna lain dengan karakter tilde. Pathname ~ karl / surat diterjemahkan menjadi / home / karl / suratoleh shell (jika / home / karl adalah direktori home karl s). Menggunakan tilde hanyalah jalan pintas, tidak ada direktori bernama ~ - ini hanya sintaksis gula disediakan oleh shell.
perintah Seperti yang Anda lihat, perubahan yang cepat Larry untuk mencerminkan direktori kerja saat ini (jadi dia tahu di mana dia berada). Sekarang dia dikertas direktori, ia dapat melihat sejarahnya akhir dengan perintah
Sekarang, Larry terjebak dalam makalah subdirektori. Untuk mundur ke direktori berikutnya yang lebih tinggi (atau orang tua), gunakan perintah (Perhatikan spasi antara `` cd '' dan `` .. ''.) direktori Setiap entri bernama `` .. '' yang mengacu pada direktori induk. Demikian pula, setiap direktori memiliki entri bernama ``. '' yang mengacu pada dirinya sendiri. Oleh karena itu, perintah membuat kita mana.
Anda juga dapat menggunakan nama path absolut dengan cd perintah. Untuk cd ke direktori home Karl, kita dapat menggunakan perintah
Juga, menggunakan cd dengan argumen tidak akan mengembalikan Anda ke direktori rumah Anda sendiri.
Di sini kita dapat melihat bahwa Larry memiliki tiga entri dalam direktori saat ini: Surat , surat , dan kertas . Ini tidak memberitahu kita banyak - adalah
direktori ini atau file? Kita dapat menggunakan F- opsi dari ls perintah untuk mendapatkan informasi lebih rinci.
Dari / ditambahkan ke nama file masing-masing, kita tahu bahwa ketiga entri di subdirektori fakta. Menggunakan ls-F juga dapat menambahkan `` * '' ke akhir nama file dalam daftar hasil yang akan menunjukkan bahwa file tersebut adalah executable , atau program yang dapat dijalankan. Jika tidak ada yang ditambahkan ke nama file menggunakan ls-F , file adalah `` biasa'' file yang lama, yang, ini bukan sebuah direktori atau dieksekusi. Secara umum, setiap perintah UNIX mungkin mengambil sejumlah pilihan selain argumen lain. Pilihan ini biasanya dimulai dengan `` - '', sebagaimana ditunjukkan di atas dengan F- pilihan. The F- opsi memberitahu ls untuk memberikan informasi lebih lanjut tentang jenis file yang terlibat - dalam hal ini, mencetak / setelah setiap nama direktori. Jika Anda memberikan ls nama direktori, sistem akan mencetak isi dari direktori tersebut.
Atau, untuk daftar yang lebih menarik, mari kita lihat apa yang ada di sistem / etc direktori.
Jika Anda adalah seorang pengguna MS-DOS, Anda mungkin memperhatikan bahwa nama file boleh lebih dari 8 karakter, dan boleh mengandung dalam posisi apapun. Anda bahkan dapat menggunakan lebih dari satu periode dalam nama file. Mari kita pindah ke bagian atas pohon direktori, dan kemudian turun ke direktori lain dengan perintah
Anda juga dapat memindahkan direktori ke dalam satu langkah, seperti dalam cd usr / bin .
Cobalah bergerak di berbagai direktori, menggunakan ls dan cd . Dalam beberapa kasus, Anda mungkin mengalami firasat yang `` Izin ditolak '' pesan kesalahan. Ini hanyalah keamanan UNIX menendang: untuk menggunakan ls atau cd perintah, Anda harus memiliki izin untuk melakukannya. Kami berbicara lebih banyak tentang hal ini dimulai pada halaman .
Selamat! Anda membuat direktori baru dan pindah ke dalamnya. Karena tidak ada file dalam direktori baru, mari kita belajar bagaimana untuk menyalin file dari satu tempat ke tempat lain.
Para cp perintah copy file tercantum pada baris perintah ke file atau direktori yang diberikan sebagai argumen terakhir. Perhatikan bahwa kita menggunakan `` . '' untuk merujuk ke direktori saat ini.
Perhatikan bahwa termcap file yang telah diubah namanya menjual . Anda juga dapat menggunakan mv perintah untuk memindahkan file ke direktori yang sama sekali baru. Catatan: mv dan cp akan menimpa file tujuan memiliki nama yang sama tanpa bertanya padamu. Hati-hati saat Anda memindahkan file ke direktori lain. Mungkin sudah ada file memiliki nama yang sama dalam direktori tersebut, yang akan Anda menimpa!
Kami yang tersisa tetapi kerang, tetapi kami tidak akan mengeluh. Perhatikan bahwa rm secara default tidak akan meminta Anda sebelum menghapus file - jadi hati-hati. Perintah yang berhubungan dengan rm adalah rmdir . Perintah ini menghapus sebuah direktori, tetapi hanya jika direktori kosong. Jika direktori berisi file atau subdirektori, rmdir akan mengeluh.
lain yang tersedia di lebih juga, ini hanya dasar-dasar. Menekan q akan berhenti lebih . Keluar lebih dan mencoba cat / etc / termcap . Teks ini mungkin akan terbang dengan terlalu cepat bagi Anda untuk membaca semuanya. Nama `` kucing'' sebenarnya adalah singkatan dari concatenate ``'', yang nyata adalah penggunaan program. Para kucing perintah dapat digunakan untuk menggabungkan isi dari beberapa file dan menyimpan hasil ke file lain. Ini akan menjadi lagi di bagian 3.14.1 .
Jika, untuk beberapa alasan gila dan aneh, Anda ingin mengakses file dari MSDOS, itu mudah dilakukan di Linux. Cara biasa untuk mengakses MS-DOS file adalah untuk me-mount partisi MSDOS atau disket di Linux, memungkinkan Anda untuk mengakses file secara langsung melalui sistem file. Misalnya, jika Anda memiliki MS-DOS floppy / dev/fd0 , perintah akan meningkat di bawah / mnt . Lihat Bagian 4.8.4 untuk informasi lebih lanjut pada disket mounting. Anda juga dapat me-mount sebuah partisi MS-DOS dari hard drive anda untuk akses pada Linux. Jika Anda memiliki partisi MS-DOS pada / dev/hda1 , perintah mount itu. Pastikan untuk umount partisi ketika Anda selesai menggunakannya. Anda dapat memiliki partisi MS-DOS secara otomatis mount pada saat boot jika Anda termasuk entri di / etc / fstab . Lihat Bagian 4.4 untuk rincian. Baris berikut di / etc / fstab akan me-mount sebuah partisi MS-DOS pada/ dev/hda1 pada direktori / dos .
Anda juga dapat me-mount sistem file VFAT yang digunakan oleh Windows 95: Hal ini memungkinkan akses ke nama file panjang Windows 95. Ini hanya berlaku untuk partisi yang benar-benar memiliki nama file panjang disimpan. Anda tidak dapat me-mount sistem FAT16 file normal dan menggunakan ini untuk mendapatkan nama file panjang. Perangkat lunak mtools juga dapat digunakan untuk mengakses MS-DOS file. Perintah mcd , mdir , dan mcopy semua berperilaku seperti MS-DOS rekanrekan mereka. Jika Anda menginstal mtools, harus ada halaman manual tersedia untuk perintah ini. Mengakses file MS-DOS adalah satu hal; menjalankan MS-DOS program lain. Ada Emulator MS-DOS yang sedang dikembangkan untuk Linux, tetapi tersedia secara luas, dan termasuk dalam distribusi. Hal ini juga dapat diambil dari sejumlah lokasi, termasuk FTP berbagai situs Linux tercantum dalam Lampiran B .Emulator MS-DOS dilaporkan cukup kuat untuk menjalankan sejumlah aplikasi, termasuk WordPerfect, dari Linux. Namun, Linux dan MS-DOS adalah sistem operasi yang jauh berbeda. Kekuatan emulator MS-DOS di bawah UNIX terbatas. Selain itu, emulator Microsoft Windows yang berjalan di bawah X Windows sedang dalam pengembangan.
Bagian ini memperkenalkan beberapa perintah dasar yang paling berguna dari sistem UNIX, termasuk yang akan dibahas dalam bagian sebelumnya. Catat bahwa beberapa opsi biasanya dimulai dengan `` - '', dan dalam kebanyakan kasus Anda dapat menentukan lebih dari satu pilihan dengan single `` - ''.Sebagai contoh, daripada menggunakan perintah ls-l-F , Anda dapat menggunakan ls-JIKA . Daripada daftar setiap pilihan untuk setiap perintah, kami hanya menyajikan perintah yang berguna atau penting saat ini. Bahkan, sebagian besar perintah memiliki banyak pilihan yang Anda tidak akan pernah digunakan. Anda dapat menggunakan manusia untuk melihat halaman manual untuk setiap perintah, yang daftar semua pilihan yang tersedia. Juga mencatat bahwa banyak dari perintah mengambil sebagai argumen daftar file atau direktori, dinotasikan dalam tabel ini dengan `` file1 ... fileN ''. Sebagai contoh, cp perintah mengambil sebagai argumen daftar file untuk menyalin, diikuti oleh file tujuan atau direktori. Saat menyalin lebih dari satu file, tujuan harus direktori.
Berbagai direktori yang dijelaskan di atas sangat penting untuk sistem untuk beroperasi, tetapi sebagian besar barang yang ditemukan di / usr adalah opsional.Namun, item ini opsional yang membuat sistem yang berguna dan menarik. Tanpa / usr , Anda akan memiliki sistem membosankan yang hanya mendukung program-program seperti cp dan ls . / usr berisi sebagian besar paket perangkat lunak yang lebih besar dan file-file konfigurasi yang menyertai mereka.
sama. Hanya ketika Anda mulai menulis skrip shell atau menggunakan fitur-fitur canggih dari shell jangan perbedaan antara jenis shell mulai masalah. Ketika kita membahas fitur dari kerang lain, kita akan perhatikan perbedaan antara Bourne dan kerang C. Namun, untuk tujuan panduan ini sebagian besar perbedaan yang minimal. (Jika Anda benar-benar penasaran pada titik ini, baca halaman manual untuk pesta dan tcsh ).
3,8 Wildcard.
Fitur utama dari kerang Linux yang paling adalah kemampuan untuk merujuk ke lebih dari satu file dengan nama menggunakan karakter khusus. Ini wildcardmembiarkan Anda lihat, misalnya, semua nama file yang berisi karakter `` n ''. Wildcard `` * '' merinci setiap karakter atau string karakter dalam nama file. Bila Anda menggunakan karakter `` * '' dalam nama file, shell menggantikannya dengan substitusi semua mungkin dari nama file di direktori yang Anda referensi. Berikut adalah contoh cepat. Misalkan Larry memiliki file katak , joe , dan halhal dalam direktori saat ini.
Untuk menentukan semua file yang berisi huruf o ``'' di nama file, gunakan perintah Seperti yang Anda lihat, setiap instance dari `` * '' diganti dengan semua substitusi yang cocok dengan wildcard dari nama file dalam direktori saat ini.
Penggunaan `` * '' dengan sendirinya hanya cocok dengan semua nama file, karena semua karakter wildcard cocok.
Proses mengubah `` * '' menjadi serangkaian nama file disebut perluasan wildcard dan dilakukan oleh shell. Hal ini penting: perintah individu, seperti ls , tidak pernah melihat `` * daftar'' di atas parameter. Shell memperluas wildcard untuk menyertakan semua nama file yang sesuai. Jadi, perintah diperluas oleh shell untuk
Satu catatan penting tentang `` * wildcard'': itu tidak cocok dengan nama file yang dimulai dengan periode tunggal (`` . ''). File-file ini diperlakukan sebagaitersembunyi file - sementara mereka tidak benar-benar tersembunyi, mereka tidak muncul pada normal ls daftar dan tidak tersentuh oleh penggunaan `` *wildcard''. Berikut adalah contoh. Kami disebutkan sebelumnya bahwa setiap direktori berisi dua catatan khusus: `` . '' mengacu pada direktori saat ini, dan `` .. '' mengacu pada direktori induk. Namun, bila Anda menggunakan ls , kedua entri tidak muncul. Jika Anda menggunakan -sebuah switch dengan ls , namun Anda dapat menampilkan nama file yang dimulai dengan `` . ''. Perhatikan: Daftar ini berisi dua catatan khusus, `` . '' dan `` .. '', serta dua lainnya ``'' file tersembunyi bash_profile. dan bashrc. . Kedua file adalah file startup digunakan oleh pesta ketika larry log in Mereka digambarkan mulai pada halaman .
Perhatikan bahwa ketika Anda menggunakan `` * '' wildcard, tidak ada nama file yang dimulai dengan `` . '' akan ditampilkan. Ini adalah fitur keselamatan: jika `` * '' nama file wildcard cocok dimulai dengan `` . '' , juga akan cocok dengan nama direktori `` . '' dan `` .. ''. Hal ini dapat berbahaya bila menggunakan perintah tertentu.
Wildcard lainnya adalah `` ? ''. `` Para ? '' wildcard mengembang hanya karakter tunggal. Dengan demikian, `` ls? '' menampilkan semua satu karakter nama file.Dan `` ls termca? '' akan menampilkan `` termcap '' tapi tidak `` termcap.backup ''. Berikut contoh lain:
Seperti yang Anda lihat, wildcard memungkinkan Anda menentukan banyak file pada satu waktu. Dalam ringkasan perintah yang dimulai pada halaman , kita mengatakan bahwa cp dan mv perintah benar-benar dapat menyalin atau memindahkan lebih dari satu file pada satu waktu. Sebagai contoh, salinan semua nama file di / etc awal dengan `` s '' ke direktori / home / larry . Format dari cp perintah adalah benar-benar di mana file berisi daftar nama file untuk menyalin, dantujuan adalah file tujuan atau direktori. mv memiliki sintaks yang identik.
Jika Anda menyalin atau memindahkan lebih dari satu file, tujuan harus direktori. Anda hanya dapat menyalin atau memindahkan satu file ke file lain.
Perintah Linux banyak mendapatkan masukan dari apa yang disebut standar input dan mengirimkan keluaran ke dalam keluaran standar (sering disingkat sebagai stdin dan stdout ). Shell Anda telah mengatur segalanya sehingga input standar keyboard, dan output standar layar. Berikut adalah contoh menggunakan kucing perintah. Biasanya, kucing membaca data dari semua file ditentukan oleh baris perintah, dan mengirimkan data ini langsung ke stdout . Oleh karena itu, menggunakan perintah menampilkan isi dari file sejarah final diikuti oleh master-tesis . Namun, jika Anda tidak menentukan nama file, kucing membaca data dari stdin dan mengirimkannya kembali ke stdout . Berikut ini sebuah contoh: Setiap baris yang Anda ketik segera bergema kembali oleh kucing . Ketika membaca dari masukan standar, Anda menunjukkan input `` selesai'' dengan mengirim EOT (end-of-text) sinyal, secara umum, yang dihasilkan dengan menekan Ctrl-D.
Berikut contoh lain. Para semacam perintah membaca baris teks (sekali lagi, dari stdin, kecuali Anda menentukan satu atau lebih nama file) dan mengirimkan output diurutkan ke stdout. Coba yang berikut ini. Sekarang kita dapat menyusun menurut abjad daftar belanja kami ... Linux tidak berguna?
`` > simbol''. Berikut adalah cara kerjanya: Seperti yang Anda lihat, hasil dari semacam perintah tidak ditampilkan, tetapi akan disimpan ke file bernama belanja-daftar . Mari kita lihat file ini: Sekarang Anda dapat menyusun daftar belanja Anda, dan simpan, juga!Tapi anggap bahwa Anda menyimpan daftar, belanja disortir asli dalam file item . Salah satu cara untuk memilah informasi dan menyimpannya ke sebuah file akan memberikan semacam nama file untuk dibaca, sebagai pengganti dari standar input, dan redirect output standar seperti yang kita lakukan di atas, sebagai berikut:Namun, ada cara lain untuk melakukan ini. Anda tidak hanya dapat mengarahkan output standar, Anda dapat mengarahkan standar masukan juga, menggunakan ``< '' simbol. Secara teknis, semacam <item setara dengan mengurutkan item , namun memungkinkan Anda menunjukkan titik berikut: semacam <itemberperilaku seolah-olah data dalam file item diketik ke standard input. Shell menangani pengalihan itu. semacam itu tidak diberi nama dari file ( item ) untuk membaca; sejauh semacam yang bersangkutan, itu masih membaca dari masukan standar seperti jika Anda telah mengetik data dari keyboard Anda.
Ini memperkenalkan konsep saringan . Filter adalah sebuah program yang membaca data dari standar input, memprosesnya dalam beberapa cara, dan mengirimkan data olahan ke output standar. Menggunakan redirection, standard
input dan output standar dapat dirujuk dari file. Sebagaimana disebutkan di atas,stdin dan stdout default ke keyboard dan layar masingmasing. semacam adalah penyaring praktis. Ini macam data yang masuk dan mengirimkan hasilnya ke standar output. kucing bahkan lebih sederhana. Ia tidak melakukan apa-apa dengan data yang masuk, itu hanya output apa saja yang diberikan untuk itu.
Solusinya adalah pipelining . Ini adalah fitur shell yang menghubungkan serangkaian perintah melalui pipa ``'' The. stdout dari perintah pertama dikirim ke stdindari perintah kedua. Dalam hal ini, kami ingin mengirimkan stdout dari ls ke stdin dari semacam . Gunakan `` | simbol'' untuk membuat pipa, sebagai berikut:Perintah ini lebih pendek dan lebih mudah untuk
mengetik.
Berikut contoh lain yang berguna, perintah menampilkan daftar panjang file, sebagian besar yang terbang melewati layar terlalu cepat bagi Anda untuk membaca.Jadi, mari kita gunakan lebih untuk menampilkan daftar file dalam / usr / bin . Sekarang Anda dapat halaman ke bawah daftar file di waktu luang.
Tapi menyenangkan tidak berhenti di sini! Anda dapat pipa lebih dari dua perintah bersama. Perintah kepala adalah filter yang menampilkan baris pertama dari input stream (dalam hal ini, masukan dari pipa). Jika Anda ingin menampilkan nama file terakhir dalam urutan abjad di direktori saat ini, menggunakan perintah seperti berikut: di mana kepala -1 menampilkan baris pertama dari masukan yang diterima (dalam hal ini, aliran data reverse-diurutkan dari ls ) .
Perlu diingat bahwa redirection dan pipa adalah fitur dari shell - yang mendukung penggunaan `` > '', `` >> '' dan `` | ''. Ini tidak ada hubungannya dengan perintah sendiri.
sebagai program atau skrip shell (jika file tersebut adalah script program atau shell). Untuk direktori, memiliki mengeksekusi izin memungkinkan pengguna cd ke direktori yang bersangkutan.
Field pertama dalam daftar merupakan file permissions. Bagian ketiga adalah pemilik dari file ( larry ) dan bidang keempat adalah kelompok mana file milik (pengguna ). Jelas, bidang terakhir adalah nama file ( barang ). Kita akan membahas bidang lain nanti. File ini dimiliki oleh larry , dan termasuk dalam kelompok pengguna . String -rwrr- daftar, dalam rangka, izin yang diberikan kepada pemilik file, kelompok file, dan semua orang lain. Karakter pertama dari string hak akses (`` - '') merupakan jenis file. Sebuah `` - '' berarti bahwa ini adalah file biasa (sebagai lawan dari direktori atau device driver).Tiga berikutnya karakter (`` rw- '') merupakan izin yang diberikan kepada pemilik file, larry . Para `` r '' singkatan `` membaca'' dan `` w '' singkatan `` menulis''.Dengan demikian, larry memiliki izin membaca dan menulis ke file hal . Seperti disebutkan, selain membaca dan menulis izin, ada juga `` mengeksekusi izin'' - diwakili oleh `` x ''. Namun `` sebuah - '' terdaftar di sini di tempat sebuah `` x'', sehingga Larry tidak memiliki mengeksekusi izin pada file ini. Ini bagus, dengan file barang bukan program apapun. Tentu saja, karena Larry memiliki file tersebut, ia dapat memberikan dirinya mengeksekusi bagi file jika dia begitu menginginkannya. (Ini akan segera dibahas.) Tiga berikutnya karakter, (`` r- ''), merupakan izin kelompok pada file. Kelompok yang memiliki file ini adalah pengguna . Karena hanya sebuah `` r '' muncul di sini, setiap pengguna yang termasuk dalam kelompok pengguna dapat membaca file ini. Tiga karakter terakhir, juga (`` r- ''), merupakan izin yang diberikan kepada setiap pengguna lain pada sistem (selain pemilik file dan pada kelompok pengguna ).Sekali lagi, karena hanya `` r '' hadir, pengguna lain dapat membaca file, tetapi tidak menulis untuk itu atau melaksanakannya.
membawa mereka pergi ( - ). Akhirnya, Anda menentukan satu atau lebih dari r ead, w ritus, dan e x ecute. Beberapa contoh perintah hukum adalah:
Link ini dikenal sebagai link keras karena mereka membuat link langsung ke inode. Perhatikan bahwa Anda bisa keras-link file hanya ketika mereka berada di sistem file yang sama; link simbolik (lihat di bawah) tidak memiliki pembatasan ini. Ketika Anda menghapus file dengan rm , Anda sebenarnya hanya menghapus satu link ke sebuah file. Jika Anda menggunakan perintah maka hanya link bernamafoo dihapus, bar akan tetap ada. Sebuah file hanya benar-benar dihapus pada sistem ketika itu tidak memiliki link untuk itu. Biasanya, file hanya memiliki satu link, sehingga menggunakan rm perintah menghapus file. Namun, jika file memiliki beberapa link ke sana, menggunakan rm akan menghapus hanya satu link, untuk menghapus file, Anda harus menghapus semua link ke file. Perintah ls-l menampilkan jumlah link ke file (di antara informasi lainnya). Kolom kedua dalam daftar, `` 2 '', menentukan jumlah link ke file.
Ternyata, sebuah direktori sebenarnya hanya informasi file yang berisi tentang link-to-inode asosiasi. Juga, setiap direktori berisi setidaknya dua hard link: `` . '' (link yang menunjuk ke dirinya sendiri), dan `` .. '' (link yang menunjuk ke direktori induk). Direktori root ( / ) `` .. '' link hanya menunjuk kembali ke / . (Dengan kata lain, induk dari direktori root adalah direktori root itu sendiri.)
memiliki inode yang berbeda, memang. Namun, dengan menggunakan ls-l , kita melihat bahwa file bar adalah sebuah symlink menunjuk ke foo .
Hak akses file pada symbolic link tidak digunakan (mereka selalu tampil sebagai rwxrwxrwx ). Sebaliknya, hak akses pada link simbolis ditentukan oleh hak akses pada target link simbolik (pada contoh, file foo ). Secara fungsional, hard link dan link simbolik serupa, tetapi ada perbedaan. Untuk satu hal, Anda dapat membuat symbolic link ke file yang tidak ada; yang sama tidak berlaku untuk hard link. Link simbolik diproses oleh kernel berbeda dari link yang keras, yang hanya perbedaan teknis tapi kadang-kadang salah satu yang penting. Link simbolik sangat membantu karena mereka mengidentifikasi file mereka ke titik, dengan link keras, tidak ada cara mudah untuk menentukan file mana yang terkait dengan inode yang sama. Link yang digunakan di banyak tempat pada sistem Linux. Link simbolik sangat penting untuk gambar shared library di / lib . Lihat halaman untuk informasi lebih lanjut.
Kontrol pekerjaan adalah fitur yang disediakan oleh banyak kerang (termasuk pesta dan tcsh ) yang memungkinkan Anda mengontrol perintah menjalankan beberapa, atau pekerjaan , sekaligus. Sebelum kita dapat menggali lebih jauh, kita perlu bicara tentang proses .
Setiap kali Anda menjalankan program, Anda mulai apa yang disebut proses. Perintah ps menampilkan daftar proses yang sedang berjalan, seperti yang ditunjukkan di sini: The PID yang tercantum di kolom pertama adalah proses ID , nomor unik yang diberikan untuk setiap proses berjalan. Kolom terakhir,COMMAND , adalah nama dari perintah berjalan. Di sini, kita melihat hanya pada proses yang Larry sendiri masih dijalankan. (Ada proses lain yang berjalan pada sistem juga `` ps-aux .'' mendaftarnya semua) Ini adalah pesta (shell Larry), dan ps perintah itu sendiri. Seperti yang Anda lihat, pesta ini berjalan bersamaan dengan ps perintah. pesta dieksekusi ps ketika Larry mengetik perintah. Setelah ps selesai berjalan (setelah tabel proses ditampilkan), kontrol dikembalikan kepesta proses, yang menampilkan, siap prompt untuk perintah lain.
Sebuah proses yang berjalan juga disebut pekerjaan . Istilah proses dan pekerjaan yang saling dipertukarkan. Namun, proses yang biasanya disebut sebagai pekerjaan ``'' bila digunakan bersama dengan kontrol pekerjaan - fitur dari shell yang memungkinkan Anda beralih antara pekerjaan independen beberapa. Dalam kebanyakan kasus pengguna hanya menjalankan satu pekerjaan pada satu waktu - apapun perintah mereka terakhir diketik ke shell. Namun, dengan menggunakan kontrol pekerjaan, Anda dapat menjalankan beberapa pekerjaan sekaligus, dan beralih di antara mereka sesuai kebutuhan. Bagaimana hal ini berguna? Katakanlah Anda mengedit file teks dan ingin mengganggu editing Anda dan melakukan sesuatu yang lain. Dengan kontrol pekerjaan, Anda sementara dapat menangguhkan editor, kembali ke prompt shell dan mulai bekerja pada hal lain. Setelah selesai, Anda dapat beralih kembali ke editor dan kembali tempat Anda memulai, seolah-olah Anda tidak meninggalkan editor. Ada banyak manfaat praktis lain dari kontrol pekerjaan.
tidak menerima masukan dari terminal - secara umum, mereka berjalan bersama dengan tenang tanpa perlu untuk interaksi. Beberapa pekerjaan membutuhkan waktu lama untuk menyelesaikan dan tidak melakukan sesuatu yang menarik saat mereka sedang berjalan. Kompilasi program adalah salah satu pekerjaan tersebut, seperti yang mengompresi file besar. Tidak ada alasan mengapa Anda harus duduk-duduk tidak merasa bosan sementara pekerjaan ini menyelesaikan tugas mereka, cukup menjalankannya di latar belakang. Sementara pekerjaan di latar belakang, Anda bebas untuk menjalankan program lain. Jobs juga dapat dihentikan . Sebuah pekerjaan yang ditangguhkan adalah pekerjaan yang untuk sementara dihentikan. Setelah Anda menunda pekerjaan, Anda bisa mengatakan pekerjaan untuk terus di latar depan atau latar belakang yang diperlukan. Melanjutkan pekerjaan yang ditangguhkan tidak mengubah keadaan pekerjaan dengan cara apapun - pekerjaan terus berjalan di mana ia tinggalkan. Menangguhkan pekerjaan tidak sama dengan mengganggu pekerjaan. Bila Anda menghentikan proses yang berjalan (dengan menekan tombol interupsi, yang biasanya Ctrl-C) , proses ini tewas, untuk selamanya. Setelah pekerjaan tewas, tidak ada harapan untuk melanjutkan itu. Anda akan harus menjalankan perintah lagi. Juga, beberapa program menjebak interrupt, sehingga menekan CtrlC tidak akan segera membunuh pekerjaan. Hal ini untuk membiarkan program melakukan operasi pembersihan diperlukan sebelum keluar. Bahkan, beberapa program tidak membiarkan Anda membunuh mereka dengan interupsi sama sekali.
Mari kita misalkan Anda ingin ya perintah untuk terus berjalan tetapi ingin mendapatkan shell prompt kembali sehingga Anda dapat bekerja pada hal lain. Anda dapat menempatkan ya ke latar belakang, yang memungkinkan untuk menjalankan, tanpa perlu untuk interaksi. Salah satu cara untuk menempatkan suatu proses di latar belakang adalah menambahkan sebuah `` & karakter'' untuk akhir perintah. Seperti yang Anda lihat, prompt shell telah kembali. Tapi apa ini `` [1] 164 ''? Dan adalah ya perintah benar-benar berjalan?
Para `` [1] '' merupakan nomor pekerjaan untuk ya proses. Shell memberikan nomor pekerjaan untuk setiap pekerjaan berjalan. Karena ya adalah pekerjaan satusatunya kita berjalan, diberikan nomor pekerjaan 1 . Para `` 164 '' adalah proses ID, atau PID, nomor yang diberikan oleh sistem untuk pekerjaan. Anda dapat menggunakan nomor baik untuk merujuk kepada pekerjaan, karena Anda akan lihat nanti. Anda sekarang memiliki ya proses yang berjalan di latar belakang, terus mengirim aliran y s 'ke / dev / null . Untuk memeriksa status dari proses ini, gunakan perintah internal shell pekerjaan . Benar saja, ada itu. Anda juga bisa menggunakan ps perintah seperti yang ditunjukkan di atas untuk memeriksa status pekerjaan.
Untuk menghentikan pekerjaan, gunakan kill perintah. Perintah ini mengambil salah satu nomor pekerjaan atau ID proses sebagai argumen. Ini adalah pekerjaan nomor 1, sehingga dengan perintah membunuh pekerjaan. Ketika mengidentifikasi pekerjaan dengan nomor pekerjaan, anda harus menambahkan kombinasi nomor dengan persen (`` % '') karakter.
Sekarang bahwa Anda telah membunuh pekerjaan itu, gunakan pekerjaan lagi untuk memeriksa di atasnya: pekerjaan ini sebenarnya mati, dan jika Anda menggunakan pekerjaan perintah lagi tidak ada yang harus dicetak.
Anda juga dapat membunuh pekerjaan menggunakan proses ID (PID) nomor, ditampilkan bersama dengan ID pekerjaan ketika Anda mulai pekerjaan. Dalam contoh kita, proses ID adalah 164, sehingga perintah setara dengan Anda tidak perlu menggunakan `` % '' ketika mengacu pada pekerjaan dengan ID prosesnya.
Untuk me-restart pekerjaan di latar depan, gunakan fg perintah (untuk latar depan ``''). Shell akan menampilkan nama perintah lagi sehingga Anda menyadari yang pekerjaan Anda hanya dimasukkan ke latar depan. Hentikan pekerjaan tersebut dengan Ctrl-Z. Kali ini, gunakan bg perintah untuk menempatkan pekerjaan ke latar belakang. Hal ini menyebabkan perintah untuk menjalankan
sama seperti jika Anda mulai dengan perintah `` & '' sebagai bagian terakhir. Dan Anda harus kembali prompt Anda. Lowongan Kerja harus melaporkan bahwa ya memang berjalan, dan Anda bisa membunuh pekerjaan itu dengan membunuh sebagai kita lakukan sebelumnya.
Bagaimana Anda menghentikan pekerjaan lagi? Menggunakan Ctrl-Z tidak akan bekerja, karena pekerjaan adalah di latar belakang. Jawabannya adalah dengan menempatkan pekerjaan di latar depan dengan fg , dan kemudian menghentikannya. Ternyata, Anda dapat menggunakan fg di kedua pekerjaan yang terhenti atau pekerjaan di latar belakang. Ada perbedaan besar antara pekerjaan di latar belakang dan pekerjaan yang dihentikan. Pekerjaan berhenti tidak berjalan - itu tidak menggunakan waktu CPU, dan itu tidak melakukan pekerjaan (pekerjaan masih menempati memori sistem, meskipun mungkin telah bertukar keluar ke disk). Sebuah pekerjaan di latar belakang berjalan dan menggunakan memori, serta menyelesaikan tugas beberapa saat Anda melakukan pekerjaan lain. Namun, pekerjaan di latar belakang dapat mencoba untuk menampilkan teks pada terminal Anda, yang dapat mengganggu jika Anda mencoba untuk bekerja pada hal lain. Sebagai contoh, jika Anda menggunakan perintah tanpa mengalihkan stdout ke / dev / null , aliran y s 'akan ditampilkan pada layar Anda, tanpa cara bagi Anda untuk mengganggu itu. (Anda tidak dapat menggunakan Ctrl-C untuk mengganggu pekerjaan di latar belakang.) Untuk menghentikan habisnya y s ', gunakan fg perintah untuk membawa pekerjaan ke latar depan, dan kemudian menggunakan Ctrl-C untuk membunuhnya. Catatan lain. Para fg dan bg perintah biasanya mempengaruhi pekerjaan yang terakhir kali berhenti (ditandai oleh `` + '' di sebelah nomor pekerjaan ketika Anda menggunakan pekerjaan perintah). Jika Anda menjalankan beberapa pekerjaan sekaligus, Anda dapat menempatkan pekerjaan di latar depan atau latar belakang dengan memberikan ID pekerjaan sebagai argumen untuk fg atau bg , seperti dalam (untuk menempatkan nomor job 2 ke latar depan), atau (untuk menempatkan nomor pekerjaan 3 ke latar belakang). Anda tidak dapat menggunakan nomor proses ID dengan fg atau bg .
Selanjutnya, dengan menggunakan nomor pekerjaan sendiri, seperti dalam setara dengan
Hanya ingat bahwa menggunakan kontrol pekerjaan adalah fitur dari shell. Para fg , bg dan pekerjaan perintah bersifat internal ke shell. Jika karena alasan tertentu Anda menggunakan shell yang tidak mendukung kontrol pekerjaan, jangan berharap untuk menemukan perintah yang tersedia. Selain itu, ada beberapa aspek kontrol pekerjaan yang berbeda antara pesta dan tcsh . Bahkan, beberapa shell yang tidak memberikan kontrol pekerjaan sama sekali - namun, shell-shell yang tersedia untuk Linux lakukan.
atauTutorial VI dari Konsultan Sistem Khusus (SSC) Inc Lihat Lampiran A untuk informasi.
3.13.1 Konsep.
Sementara menggunakan vi , pada satu waktu Anda berada di salah satu dari tiga mode operasi. Mode ini disebut modus perintah , modus insert , dan modus baris terakhir . Ketika Anda memulai vi , Anda berada di modus perintah . Mode ini memungkinkan Anda menggunakan perintah untuk mengedit file atau mengubah ke mode lainnya. Misalnya, mengetik `` x '' sedangkan di modus perintah menghapus karakter di bawah kursor. Tombol panah memindahkan kursor di sekitar file yang Anda edit. Umumnya, perintah yang digunakan dalam modus perintah satu atau dua karakter. Anda benar-benar memasukkan atau mengedit teks dalam modus insert . Bila menggunakan vi , Anda mungkin akan menghabiskan sebagian besar waktu Anda dalam modus ini. Anda mulai modus insert dengan menggunakan perintah seperti `` i '' (untuk insert ``'') dari modus perintah. Sedangkan di modus insert, Anda dapat memasukkan teks ke dalam dokumen pada lokasi kursor saat ini. Untuk mengakhiri modus insert dan kembali ke modus perintah, tekan Esc. Modus baris terakhir adalah mode khusus yang digunakan untuk memberikan perintah diperpanjang tertentu untuk vi . Saat mengetik perintah ini, mereka muncul pada baris terakhir dari layar (maka nama). Sebagai contoh, ketika Anda mengetik `` : '' dalam mode perintah, Anda melompat ke modus baris terakhir dan dapat menggunakan perintah seperti `` wq '' (untuk menulis file dan keluar vi ), atau `` q! '' (untuk berhenti vi tanpa menyimpan perubahan). Modus baris terakhir umumnya digunakan untuk vi perintah yang lebih panjang dari satu karakter. Dalam mode baris terakhir, Anda memasukkan satu perintah-line dan tekan Enter untuk menjalankannya.
3.13.2 Memulai vi .
Cara terbaik untuk memahami konsep-konsep ini adalah untuk menjalankan vi dan mengedit file. Contoh di bawah `` layar'' hanya menampilkan beberapa baris teks, seolah-olah layar hanya enam baris tinggi bukan dua puluh empat. Sintaks untuk vi adalah di mana nama file adalah nama file yang akan diedit. Start up vi dengan mengetikkan mengedit file tes . Anda harus melihat sesuatu seperti
Kolom `` ~ '' karakter menunjukkan Anda berada di akhir file. Para merupakan kursor.
Jenis sebagai garis yang Anda inginkan (menekan Enter setelah masingmasing). Anda dapat memperbaiki kesalahan dengan tombol Backspace. Untuk mengakhiri modus insert dan kembali ke modus perintah, tekan Esc. Dalam modus perintah Anda dapat menggunakan tombol panah untuk bergerak dalam file. (Jika Anda hanya memiliki satu baris teks, mencoba untuk menggunakan up-atau bawah tombol tanda panah mungkin akan menyebabkan vi berbunyi pada Anda.) Ada beberapa cara untuk memasukkan teks selain i perintah. Para sebuah perintah menyisipkan teks mulai setelah posisi kursor saat ini, bukan pada posisi kursor saat ini. Misalnya, gunakan tombol panah kiri untuk memindahkan kursor antara katakata yang baik'' dan `` `` pria.'' Tekan untuk memulai modus insert, jenis `` wo'', kemudian tekan Esc untuk kembali ke modus perintah .
Untuk memulai memasukkan teks pada baris berikutnya, gunakan o perintah. Tekan o dan masukkan baris lain atau dua:
Anda dapat menghapus seluruh baris menggunakan perintah dd (yaitu, tekan d dua kali berturut-turut). Jika kursor berada pada baris kedua dan Anda ketik hh , Anda akan melihat:
Untuk menghapus kata yang kursor berada, gunakan dw perintah. Tempatkan kursor pada kata ``'' baik, dan jenis dw .
Para r perintah menggantikan karakter tunggal di bawah kursor. Misalnya, pindahkan kursor ke awal kata `` Sekarang'', dan tekan r diikuti oleh C , Anda akan melihat:
Para `` ~ '' perintah mengubah kasus surat di bawah kursor dari atas untuk menurunkan kasus, dan punggung. Misalnya, jika Anda menempatkan kursor pada ``'' o ``'' Sapi di atas dan tekan berulang kali ~, Anda akan berakhir dengan:
Anda dapat memindahkan beberapa perintah dengan perintah lainnya, seperti untuk menghapus teks. Sebagai contoh, d $ perintah menghapus segala sesuatu dari kursor ke akhir baris; dG menghapus segala sesuatu dari kursor ke akhir file, dan sebagainya.
Anda juga dapat `` shell keluar'' dari vi , dengan kata lain, menjalankan perintah dari dalam vi , dan kembali ke editor ketika Anda sudah selesai. Misalnya, jika Anda menggunakan perintah yang ls-F perintah akan dijalankan dan hasilnya ditampilkan pada layar, tetapi tidak dimasukkan ke dalam file yang Anda edit. Jika Anda menggunakan perintah vi dimulai sebuah instance dari shell, membiarkan Anda sementara menempatkan vi `` ditahan'' saat Anda menjalankan perintah lainnya.Hanya log out dari shell (menggunakan keluar perintah) untuk kembali ke vi .
Daripada mengetik semua perintah, Anda dapat mengelompokkan mereka ke dalam shell script . Shell script yang digunakan untuk menjalankan semua perintah-perintah ini mungkin terlihat seperti ini: Shell script hanya file teks biasa, Anda dapat membuatnya dengan editor seperti emacs atau vi , yang dijelaskan
Mari kita lihat script shell. Baris pertama, `` # / bin! / sh '', mengidentifikasi file sebagai shell script dan memberitahu shell bagaimana untuk menjalankan script.Yang menginstruksikan agar shell untuk melewati script untuk / bin / sh untuk dieksekusi, di mana / bin / sh adalah program shell itu sendiri. Mengapa ini penting? Pada sistem Linux yang paling, / bin / sh adalah shell Bourne-jenis, seperti pesta . Dengan memaksa shell script untuk menjalankan menggunakan / bin / sh , Anda memastikan bahwa script yang akan dijalankan di bawah Bournesintaks shell (bukan shell C). Hal ini akan menyebabkan script untuk menjalankan menggunakan sintaks Bourne bahkan jika Anda menggunakan tcsh (atau shell C) sebagai shell login Anda. Baris kedua adalah komentar . Komentar dimulai dengan karakter `` # '' dan melanjutkan ke akhir baris. Komentar diabaikan oleh shell - mereka biasanya digunakan untuk mengidentifikasi shell script untuk programmer dan membuat script lebih mudah dimengerti. Sisa dari baris di script hanya perintah, seperti yang akan Anda ketik mereka ke shell langsung. Akibatnya, shell membaca setiap baris script dan menjalankan garis yang seolah-olah Anda mengetiknya pada prompt shell. Permissions penting untuk skrip shell. Jika Anda membuat shell script, pastikan bahwa Anda telah mengeksekusi izin pada script untuk menjalankannya. Bila Anda membuat file teks, hak akses default biasanya tidak termasuk mengeksekusi izin, dan Anda harus mengaturnya secara eksplisit. Lihat pembahasan hak akses file pada halaman untuk rincian. Secara singkat, jika script ini yang disimpan dalam file bernama makebook , Anda bisa menggunakan perintah untuk memberikan diri mengeksekusi bagi shell script makebook . Anda dapat menggunakan perintah untuk menjalankan semua perintah dalam script.
Sebuah shell memungkinkan Anda menentukan variabel , seperti yang kebanyakan bahasa pemrograman. Variabel adalah hanya bagian dari data yang diberikan nama. , serta lainnya tipe C kerang, menggunakan mekanisme berbeda untuk pengaturan variabel dari yang dijelaskan di sini. Diskusi ini mengasumsikan penggunaan shell Bourne seperti pesta . Lihat tcsh halaman manual untuk rincian.
tcsh
Ketika Anda memberikan nilai pada sebuah variabel (menggunakan `` = Operator''), Anda dapat mengakses variabel dengan mengawali sebuah `` $ '' untuk nama variabel, seperti yang ditunjukkan di bawah ini. Variabel foo diberikan nilai halo ada . Anda kemudian dapat merujuk ke nilai ini dengan nama variabel diawali dengan `` $ '' karakter. Sebagai contoh, perintah menghasilkan hasil yang sama seperti
Variabel ini internal ke shell, yang berarti hanya shell dapat mengaksesnya. Hal ini dapat berguna dalam skrip shell, jika Anda perlu untuk melacak nama file, misalnya, Anda dapat menyimpannya dalam variabel, seperti di atas. Menggunakan set perintah menampilkan daftar semua variabel shell didefinisikan. Namun, shell memungkinkan Anda ekspor ke variabel lingkungan . Lingkungan adalah himpunan variabel yang dapat diakses oleh semua perintah yang Anda jalankan. Setelah Anda mendefinisikan sebuah variabel di dalam shell, ekspor itu membuat bagian variabel lingkungan juga. Gunakan ekspor perintah untuk ekspor variabel lingkungan. Sekali lagi, di sini kita berbeda antara pesta dan tcsh . Jika Anda menggunakan tcsh , sintaks lain digunakan untuk pengaturan variabel lingkungan ( setenvperintah yang digunakan). Lihat tcsh halaman manual untuk informasi lebih lanjut. Lingkungan sangat penting untuk sistem UNIX. Ini memungkinkan Anda mengkonfigurasi perintah tertentu hanya dengan menetapkan variabel yang perintah ketahui.
Berikut adalah contoh cepat. Variabel lingkungan PAGER digunakan oleh pria perintah dan menentukan perintah yang digunakan untuk menampilkan halaman manual satu screenful pada suatu waktu. Jika Anda mengatur PAGER ke nama dari perintah, menggunakan perintah itu untuk menampilkan halaman manual, bukan lebih(yang merupakan default). Set PAGER untuk `` kucing ''. Hal ini menyebabkan output dari pria yang akan ditampilkan ke layar sekaligus, tanpa berhenti antar halaman. Sekarang, eksporPAGER terhadap lingkungan. Cobalah perintah man ls . Halaman manual harus terbang melewati layar Anda tanpa berhenti untuk Anda.
Sekarang, jika kita menetapkan PAGER untuk `` lebih '', yang lebih Perintah ini digunakan untuk menampilkan halaman manual. Perhatikan bahwa kita tidak harus menggunakan ekspor perintah setelah kita mengubah nilai PAGER . Kami hanya perlu untuk mengekspor variabel sekaligus; setiap perubahan yang dibuat untuk itu setelah itu secara otomatis akan disebarkan ke lingkungan. Hal ini sering diperlukan untuk mengutip string untuk mencegah shell dari mengobati berbagai karakter istimewa. Misalnya, Anda perlu untuk mengutip string untuk mencegah shell dari menafsirkan makna khusus karakter seperti `` *'', ``'' atau spasi.? Ada karakter lain yang mungkin perlu dilindungi dari interpretasi. Penjelasan rinci dan Uraian mengutip dijelaskan dalam SSC Tutorial Shell Bourne . Halaman-halaman manual untuk perintah tertentu memberitahu Anda jika perintah menggunakan setiap variabel lingkungan. Sebagai contoh, pria halaman manual menjelaskan bahwa PAGER digunakan untuk menentukan perintah pager. Beberapa perintah berbagi variabel lingkungan. Sebagai contoh, banyak perintah menggunakan EDITOR variabel lingkungan untuk menentukan editor default yang digunakan ketika satu diperlukan. Lingkungan ini juga digunakan untuk melacak informasi penting tentang sesi login Anda. Contohnya adalah BERANDA variabel lingkungan, yang berisi nama direktori rumah Anda.
Variabel lain yang menarik adalah lingkungan PS1 , yang mendefinisikan shell prompt utama. Misalnya, Untuk mengatur kembali prompt (yang berisi direktori kerja saat ini diikuti oleh `` # simbol''), The pesta halaman manual menjelaskan
Bila Anda menggunakan ls perintah, bagaimana shell menemukan ls eksekusi itu sendiri? Bahkan, ls di / bin pada kebanyakan sistem. Shell menggunakan lingkungan variabel PATH untuk mencari file yang dapat dieksekusi untuk perintah Anda mengetik. Misalnya, Anda PATH variabel mungkin diatur untuk ini adalah daftar direktori untuk shell untuk pencarian, setiap direktori dipisahkan oleh sebuah `` : ''. Bila Anda menggunakan perintah ls , shell pertama mencari / bin / ls , maka / usr bin / ls , dan sebagainya. Perhatikan bahwa PATH tidak ada hubungannya dengan mencari file biasa. Misalnya, jika Anda menggunakan perintah shell tidak menggunakan PATH untuk menemukan file foo dan bar - mereka nama file diasumsikan lengkap. Shell hanya menggunakan PATH untuk menemukan cp dieksekusi. Ini menghemat waktu, dan berarti Anda tidak perlu mengingat di mana semua perintah executable disimpan. Pada banyak sistem, executable berserakan di banyak tempat, seperti / usr / bin , / bin , atau / usr / local / bin . Daripada memberikan nama path penuh perintah itu (seperti / usr / bin / cp ), Anda dapat mengatur PATH ke daftar direktori yang Anda ingin shell untuk secara otomatis mencari. Perhatikan bahwa PATH berisi `` . '', yang merupakan direktori kerja saat ini. Ini memungkinkan Anda membuat shell script atau program dan menjalankannya sebagai perintah dari direktori Anda saat ini tanpa harus menentukan secara langsung (seperti dalam / makebook. ). Jika direktori tidak dalam Anda PATH , maka shell tidak akan mencari itu untuk perintah untuk menjalankan; ini juga mencakup direktori saat ini.
Script inisialisasi sendiri script hanya shell. Namun, mereka menginisialisasi lingkungan Anda dengan menjalankan perintah secara otomatis saat Anda log in Jika Anda selalu menggunakan surat perintah untuk memeriksa surat Anda ketika Anda login, Anda menempatkan perintah dalam script inisialisasi sehingga akan mengeksekusi secara otomatis. Kedua pesta dan tcsh membedakan antara shell login dan doa lain dari shell. Sebuah masuk shell adalah shell dipanggil ketika Anda login Biasanya, ini shell hanya akan Anda gunakan. Namun, jika Anda `` shell keluar'' dari program lain seperti vi , Anda mulai contoh lain dari shell, yang tidak Anda Login shell. Selain itu, setiap kali Anda menjalankan sebuah shell script, Anda secara otomatis memulai contoh lain dari shell untuk mengeksekusi script. File inisialisasi yang digunakan pesta adalah: / etc / profile (didirikan oleh administrator sistem dan dieksekusi oleh semua pesta pengguna padamasuk waktu), $ HOME / .bash_profile (dieksekusi oleh Log masuk pesta sesi), dan $ HOME / .bashrc (dilaksanakan oleh semua nonLogin kasuspesta ). Jika . bash_profile tidak ada, . profil digunakan sebagai gantinya. menggunakan script inisialisasi berikut: / etc / csh.login (dijalankan oleh semua tcsh pengguna pada masuk waktu), $ HOME / .tcshrc (dieksekusi pada waktu login dan oleh semua kasus baru dari tcsh ), dan $ HOME / .login ( dilaksanakan pada masuk waktu, mengikuti . tcshrc ). Jika . tcshrc tidak ada, . cshrc digunakan sebagai gantinya.
tcsh
Sebuah panduan lengkap untuk pemrograman shell akan di luar cakupan buku ini. Lihat halaman manual untuk pesta atau tcsh mempelajari lebih lanjut tentang menyesuaikan lingkungan Linux.
Next: 4 Sistem Administrasi Up: Instalasi Linux dan Mendapatkan sebelumnya: 2 Mendapatkan dan Instalasi Clarica Grove Wed Mar 4 10:46:42 PST 1998