Contoh Petua dan Trik Perintah Bash Berguna - Bahagian 6

Contoh Petua dan Trik Perintah Bash Berguna - Bahagian 6

Dalam artikel ini, kita dapati mendapatkan beberapa perkakasan asas perkakasan, sistem dan sistem konfigurasi sistem operasi secara langsung dari command prompt di terminal anda. Mempunyai maklumat ini, dan mengetahui di mana untuk mencarinya, sering membantu apabila mengkonfigurasi sistem, meneliti penyelesaian perkakasan dan perisian yang optimum, dan secara amnya mengawal sistem Linux yang anda miliki atau menguruskan.

Kami akan memfokuskan kebanyakan maklumat setiap hari, jenis yang diperlukan secara berkala. Melangkah lebih mendalam sering memerlukan beberapa carian dalam talian untuk menentukan penjajaran terlebih dahulu lebih baik, dan kemudian sering memerlukan kemahiran tambahan untuk mentafsirkan hasil atau output yang ditunjukkan.

Contohnya, kita tidak akan melihat output vmstat, Walaupun kami akan mengetahui bagaimana untuk mengetahui CPU apa dalam sistem anda tanpa membuka tudung. Kami juga akan melihat beberapa pemboleh ubah had sumber asas dan kebimbangan sekitar. Penonton sasaran untuk artikel ini adalah pemula hingga medium maju.

Artikel ini adalah sebahagian daripada siri Tips dan Trik Bash Bash yang berguna.

Dalam tutorial ini anda akan belajar:

  • Petua, cara dan kaedah baris perintah bash berguna
  • Cara berinteraksi dengan baris perintah bash dengan cara yang lebih maju
  • Cara Mengasah Kemahiran Bash Anda secara keseluruhan dan menjadi pengguna bash yang lebih mahir
Contoh Petua dan Trik Perintah Bash Berguna - Bahagian 6

Keperluan perisian dan konvensyen yang digunakan

Keperluan Perisian dan Konvensyen Talian Perintah Linux
Kategori Keperluan, konvensyen atau versi perisian yang digunakan
Sistem Pengedaran linux-bebas
Perisian Baris perintah bash, sistem berasaskan linux
Yang lain Sebarang utiliti yang tidak termasuk dalam shell bash secara lalai boleh dipasang menggunakan sudo apt-get memasang nama utiliti (atau pemasangan yum untuk sistem berasaskan redhat)
Konvensyen # - memerlukan komando linux untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$-Memerlukan komando linux untuk dilaksanakan sebagai pengguna yang tidak istimewa

Contoh 1: CPU apa dalam sistem anda?

Selalunya, kami ingin mengetahui dengan cepat apa CPU dalam sistem, tanpa membuka kotak. Membuka komputer fizikal juga agak sukar jika anda menguruskan pelayan di seberang planet ini. Mengetahui butiran CPU adalah mudah dan mudah:

$ CAT /PROC /CPUINFO | Nama model 'grep' | Nama Model Ketua -n1: Intel (R) Core (TM) I9-9900K CPU @ 3.60GHz $ CAT /PROC /CPUINFO | Nama model 'grep' | WC -L 16 

Dalam perintah pertama, kami menanyakan dinamik /proc/cpuinfo fail yang menyenaraikan CPU semasa seperti yang dikesan oleh sistem operasi. Terdapat 16 baris (seperti yang dilihat dalam perintah kedua) dengan output yang sama, jadi kami hanya menyenaraikan baris pertama menggunakan kepala -n1 perintah. Perhatikan bahawa kita juga boleh menulis arahan ini seperti berikut:

$ grep 'nama model' /proc /cpuinfo | Nama Model Ketua -n1: Intel (R) Core (TM) I9-9900K CPU @ 3.60GHz $ grep 'Nama model' /proc /cpuinfo | WC -L 16 


Anda bagaimanapun mungkin mahu menggunakan kucing kaedah untuk meneroka output penuh (kucing /proc /cpuinfo) kerana terdapat banyak maklumat menarik yang dipaparkan mengenai pemproses anda. Kiraan 16 adalah disebabkan terdapat 16 benang dalam CPU tertentu ini, jadi sistem operasi melihatnya sebagai 16 pemproses individu, atau benang, untuk digunakan.

Mengetahui OS dan pelepasan anda

Selalunya semasa menguruskan pelayan jauh, kami ingin memastikan ia ditambal ke semakan yang betul dari sistem operasi. Untuk mengetahui lebih lanjut sistem operasi mesin anda menggunakan, dan apa semakannya, hanya laksanakan kucing /etc /*Release*:

$ kucing /etc /* Release* distrib_id = ubuntu distrib_release = 20.04 distrib_codename = focal distrib_description = "ubuntu 20.04.1 lts "name =" ubuntu "versi =" 20.04.1 lts (focal fossa) "id = ubuntu id_like = debian pretty_name =" ubuntu 20.04.1 lts "version_id =" 20.04 "home_url =" https: // www.Ubuntu.com/"support_url =" https: // bantu.Ubuntu.com/"bug_report_url =" https: // bugs.PAD pelancaran.bersih/ubuntu/"privacy_policy_url =" https: // www.Ubuntu.com/undang-undang/terma-dan-politik/privasi dasar "versi_codename = focal ubuntu_codename = focal 

Untuk membandingkan, inilah output dari perintah yang sama pada Raspberry Pi 4 yang berasaskan raspbian:

$ cat/etc/* Release* pretty_name = "raspbian gnu/linux 10 (buster)" name = "raspbian gnu/linux" version_id = "10" version = "10 (buster)" versi_codename = buster id = raspbian id_like = debian = debian Home_url = "http: // www.Raspbian.org/"support_url =" http: // www.Raspbian.org/raspbianforums "bug_report_url =" http: // www.Raspbian.org/raspbianbugs " 


Sebaik sahaja anda ingat ini tersendiri, anda akan mendapati diri anda menggunakannya banyak situasi. Fail sebenar yang ditunjukkan di sini, sekurang -kurangnya di Ubuntu, adalah: /etc/lsb-release dan /etc/OS-Release. Di raspbian hanya ada /etc/OS-Release.

Had sistem operasi vs

Banyak had sistem operasi dilaksanakan secara lalai di Linux. Mereka ditetapkan dengan cara yang licik, kerana anda sering tidak akan masuk ke dalamnya sehingga anda adalah seorang DevOps atau jurutera yang sama memaksimumkan kelebihan satu set pelayan jauh.

Mengubah pembolehubah sistem operasi ini memerlukan pengetahuan tentang masing -masing, dan menetapkannya kadang -kadang memerlukan beberapa ujian untuk menubuhkan sempadan yang munasabah.

Pertimbangan lain di sini adalah bahawa had sistem mungkin dipukul jauh sebelum sistem pengendalian yang dikonfigurasi dipukul, dan ini benar -benar benar jika anda menetapkan had sistem operasi tersebut ke nombor yang sangat tinggi. Ini juga mengapa had sistem operasi seperti itu ada di tempat pertama: untuk mengehadkan sistem operasi daripada kehilangan kawalan ke atas sumber sistem fizikal (cakera, RAM, ingatan, CPU) kerana topi / had yang tidak diuruskan.

Oleh itu, menukar had berasaskan sistem operasi datang dengan pelbagai risiko. Bukan sahaja agak mudah untuk menetapkan mereka terlalu besar yang mengakibatkan sistem pengendalian sering kehilangan kawalan sumber tertentu, tetapi mengubah beberapa pembolehubah juga membawa beberapa risiko keselamatan.

Contohnya, katakan bahawa penggodam akan membuang bom garpu di sistem. Bom garpu bukan bom sebenar, melainkan eksploitasi berasaskan perisian yang mengakibatkan sistem berulang -ulang mencengkam cengkerang dan benang baru ke arah satu proses penganjur 'garpu'. Sekiranya bilangan garpu yang dibenarkan telah diubah suai dengan menukar satu atau lebih pembolehubah sistem, sistem tidak lama lagi akan kehabisan sumber CPU yang cuba untuk mendapatkan garpu hingga ke infiniti.

Aspek lain yang perlu dipertimbangkan di sini adalah bagaimana selamat pelayan atau stesen kerja yang anda uruskan adalah bermula dengan. Sekiranya berada di zon DMZ di pusat data, jika tidak diasingkan dari pelayan lain, dan digunakan untuk tugas keistimewaan yang rendah (seperti ujian) sahaja, mungkin cukup dapat diterima untuk menetapkan had yang agak tinggi. Sekiranya pelayan yang sama menolak kod pengeluaran dan menandatangani pakej pelepasan, pengurusan sumber sistem yang lebih berhati -hati akan dinasihatkan.

Anda dapat melihat bagaimana mengubah pembolehubah ini memerlukan kepakaran dan pengalaman. Namun, kebanyakan mereka mudah difahami, dan mempunyai nama bahasa Inggeris yang biasa.

Yang paling biasa ditetapkan /etc/keselamatan/had.Conf. Sebagai contoh, untuk meningkatkan jumlah maksimum fail terbuka ke 300000, anda boleh menambah baris berikut ke /etc/keselamatan/had.Conf:

* lembut Nofile 300000 * keras Nofile 300000 


Ini akan dibuka 300k sekaligus. Maksimum yang boleh ditetapkan untuk pembolehubah ini ialah 1048576.

Perhatikan bahawa terdapat perbezaan antara had 'lembut' dan 'keras': had keras hanya dapat dibangkitkan lagi akar akses tahap, sedangkan proses mana -mana dapat menurunkan had. Ini bagus untuk tujuan keselamatan kerana proses bukan akar tidak dapat melebih-lebihkan had. Had lembut boleh diubah dengan proses tertentu pada bila -bila masa.

Terdapat banyak tetapan serupa yang boleh diubah dari dalam fail ini. Untuk mendapatkan idea yang luas, anda boleh menggunakan ULIMIT -A Untuk melihat had yang terpakai pada sistem anda pada masa ini.

Fail yang paling menonjol seterusnya ketika datang ke sumber sistem penalaan adalah /etc/sysctl.Conf. Dalam fail ini, ada kemungkinan parameter kernel Finetune. Sebagai contoh, untuk menetapkan bilangan maksimum PID (pengenal proses) hingga 500k dan swappiness sistem anda (bagaimana dengan mudah sistem pengendalian akan bertukar maklumat berasaskan memori dengan maklumat berasaskan cakera - juga dinamakan 'swapping') hingga 5 (tetapan yang mengehadkan bertukar dengan ketara), anda boleh menambah yang berikut /etc/sysctl.Conf:

kernel.pid_max = 500000 vm.Swappiness = 5 

Kami tidak mengesyorkan melaksanakan mana -mana tetapan yang ditunjukkan di atas tanpa penyelidikan lanjut, dan penalaan kemudian khusus ke sistem anda. Selalunya menaikkan pemboleh ubah kepada tetapan yang lebih tinggi tidak akan menghasilkan sebarang masalah, melainkan jika peristiwa yang tidak dijangka berlaku, seperti contoh penggodam yang dibincangkan sebelumnya.

Kesimpulan

Dalam artikel ini, kami melihat bagaimana sistem operasi kami menyimpan sumber terkawal, dan apakah fail konfigurasi utama yang berkaitan dengan ini. Kami juga mendapati bagaimana untuk mengetahui CPU apa dalam sistem, dan sistem operasi dan versi yang kami gunakan. Mengetahui perkara -perkara asas ini, seseorang dapat meneroka lebih jauh ke dalam tetapan tertentu yang dibuat dalam /etc/keselamatan/had.Conf dan /etc/sysctl.Conf dan menguruskan sistem berasaskan Linux dengan lebih yakin. Nikmati!

Tutorial Linux Berkaitan:

  • Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 3
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Contoh Petua dan Trik Perintah Bash Berguna - Bahagian 1
  • Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 2
  • Ubuntu 20.04 Trik dan Perkara yang Anda Tidak Tahu
  • Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 4
  • Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 5
  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Ubuntu 20.04 Panduan
  • Menguasai Gelung Skrip Bash