Artikel ini membawakan anda pengetahuan asas tentang sistem pengendalian Linux, termasuk pengetahuan tentang persekitaran pembangunan program, arahan biasa dan pembolehubah persekitaran saya harap ia akan membantu anda.
Linux ialah pelaksanaan kernel seperti UNIX yang boleh dikeluarkan secara bebas Ia adalah teras asas sistem pengendalian. Linux telah dibangunkan oleh Linus dari Universiti Helsinki di Finland, dengan bantuan daripada sejumlah besar pengaturcara UNIX di Internet. Ia pada asalnya adalah program yang diilhamkan oleh Minix profesornya (sistem kecil seperti UNIX. Ia adalah hobi peribadi semata-mata, tetapi kemudiannya secara beransur-ansur berkembang menjadi sistem yang lengkap dengan haknya sendiri
Untuk memahami apa itu Linux). , kita mesti terlebih dahulu memahami sistem dan aplikasi yang dilahirkan sebelum perisian Linux-UNIX dan GNU.
Sistem pengendalian UNIX pada asalnya dibangunkan oleh Bell Labs, yang pada masa itu merupakan ahli gergasi telekomunikasi AT&T (American Telegraph and Telephone Company). Hari ini, ia telah menjadi sistem pengendalian berbilang pengguna, berbilang tugas yang sangat popular. Sistem pengendalian UNIX boleh berjalan pada sebilangan besar platform perkakasan yang berbeza, daripada PC hingga pelayan berbilang pemproses dan superkomputer.
Terdapat beberapa gaya dan ciri tipikal pembangunan program pada UNIX:
1) Kesederhanaan: Banyak alatan UNIX yang berguna adalah sangat mudah. "Kecil dan mudah" adalah teknik yang patut dipelajari. Sistem yang lebih besar dan lebih kompleks pasti mengandungi pepijat yang lebih besar dan lebih kompleks.
2) Pemusatan: Adalah lebih baik untuk mempunyai program melaksanakan satu tugas dengan baik daripada menyusun semua fungsi bersama-sama. Atur cara dengan kefungsian kembung adalah sukar untuk digunakan dan diselenggara, dan atur cara objektif tunggal berkemungkinan besar untuk dipertingkatkan apabila algoritma yang lebih baik dibangunkan. Dalam UNIX, apabila keperluan baru timbul daripada pengguna, kami biasanya menggabungkan alat kecil untuk menyelesaikan tugas yang lebih kompleks, dan bukannya cuba meletakkan semua fungsi yang diharapkan oleh pengguna ke dalam program yang besar.
3) Komponen boleh guna semula: Laksanakan teras aplikasi sebagai perpustakaan. Perpustakaan dengan antara muka pengaturcaraan yang mudah dan fleksibel boleh membantu orang lain membangunkan atur cara yang serupa atau menggunakan teknik ini pada kawasan aplikasi baharu.
Memiliki kernel sistem pengendalian tidak mencukupi Pembangunan Linux sehingga hari ini adalah hasil usaha bersama daripada orang yang tidak terkira banyaknya. Kernel sistem pengendalian itu sendiri hanyalah sebahagian kecil daripada sistem pembangunan yang tersedia. Sistem UNIX umum juga termasuk aplikasi yang menyediakan perkhidmatan dan alatan sistem Untuk sistem Linux, program ini ditulis oleh banyak pengaturcara dan dikeluarkan secara bebas.
Komuniti Linux menyokong konsep perisian percuma, iaitu perisian itu sendiri tidak seharusnya dihadkan dan mereka mematuhi GNU (GNU ialah singkatan rekursif dari GNU’s Not UNIX) General Public License (GPL).
Yayasan Perisian Percuma diasaskan oleh Richard Stallman Tujuannya adalah untuk cuba mencipta sistem pengendalian dan sistem pembangunan yang serasi dengan sistem UNIX tetapi tidak dihadkan oleh nama UNIX dan hak privasi kod sumber.
Projek GNU telah menyediakan komuniti perisian dengan banyak tiruan aplikasi pada sistem UNIX. Contohnya, yang terkenal:
GCC: GNU Compiler Collection, yang termasuk pengkompil GNU C.
G: Pengkompil G, sebahagian daripada GCC.
GDB: penyahpepijat tahap kod sumber.
GNU make
bash: penterjemah arahan (sejenis shell)
Dengan perisian percuma yang tersedia ini, ditambah dengan kernel Linux, kita boleh berkata: mencipta Matlamat untuk sistem GNU, seperti UNIX percuma telah dicapai melalui sistem Linux. Oleh kerana sumbangan yang dibuat oleh perisian GNU, ramai orang kini biasanya merujuk kepada sistem Linux sebagai GNU/Linux.
Jika anda ingin melakukan tugas anda dengan baik, anda mesti mengasah alatan anda terlebih dahulu Jika anda ingin membangunkan program Linux, anda perlu membina persekitaran pembangunan terlebih dahulu.
Pembangunan Linux memerlukan pemasangan persekitaran sistem linux Secara amnya, VMWare digunakan untuk memasang sistem Ubuntu untuk pembangunan. Untuk proses pemasangan khusus, anda boleh merujuk kepada siaran berikut https://zhuanlan.zhihu.com/p/38797088 Saya tidak akan memperkenalkannya terlalu banyak di sini.
Secure Shell (SSH) ialah protokol rangkaian selamat berdasarkan lapisan aplikasi yang dibangunkan oleh IETF (The Internet Engineering Task Force). Program perkhidmatan rangkaian tradisional, seperti FTP, Pop, dan Telnet, sememangnya tidak selamat kerana ia menghantar data, akaun pengguna dan kata laluan pengguna dalam teks biasa pada rangkaian, ia mudah terdedah kepada serangan man-in-the-middle.
SSH dibahagikan kepada klien openssh-client dan pelayan openssh-server Kami perlu memasang pelayan ssh di bawah sistem ubuntu untuk menggunakan klien ssh untuk log masuk ke sistem.
sudo apt update
sudo apt install openssh-server
sudo service ssh start
ip addr show
untuk melihat ip sistem ubuntuIa boleh dilihat bahawa alamat IP ubuntu semasa ialah 192.168.176.148
Selepas memasang pelayan ssh pada Ubuntu, Gunakan seterusnya MobaXterm untuk menyambung di bawah sistem Windows dan menguji sama ada pelayan ssh berjaya dipasang. Langkah-langkahnya adalah seperti berikut:
Jalankan perisian Xterm dan pilih "Sesi", seperti yang ditunjukkan dalam rajah di bawah:
Klik "SSH" dan sediakannya, seperti yang ditunjukkan dalam rajah di bawah:
Dalam kotak dialog ini, pilih "Protokol" sebagai "SSH", "Nama Hos" sebagai alamat IP ubuntu dan nama pengguna sebagai nama pengguna semasa . Gunakan nilai lalai 22 untuk nombor port. Selepas tetapan selesai, klik "OK" dan terminal baris arahan berikut akan muncul, menunjukkan bahawa sistem Ubuntu mesin maya telah disambungkan.
Menggunakan kaedah ini, selepas mengesahkan bahawa komunikasi rangkaian antara hos dan papan pembangunan adalah normal, anda boleh log masuk ke papan pembangunan.
Kod Visual Studio (pendek kata VSCode) ialah editor percuma daripada Microsoft, tersedia untuk versi Windows, Linux dan macOS, ialah editor merentas platform. Anda boleh mencari sendiri proses pemasangan Di sini kami memperkenalkan terutamanya pakej pengembangan yang digunakan untuk pembangunan program C/C. pemalam terpakai perlu dipasang:
C/C.
Snippet C/C, blok kod C/C digunakan semula.
C/C Advanced Lint, iaitu pengesanan statik C/C.
Pelari Kod, iaitu, kod berjalan.
Sertakan AutoComplete, iaitu pemasukan fail pengepala automatik.
Kurung Pelangi, kurung pelangi, bantu membaca kod.
One Dark Pro, tema untuk VSCode.
GBKtoUTF8, tukar GBK kepada UTF8.
ARM, yang menyokong penyerlahan sintaks pemasangan ARM.
Bahasa Cina (Mudah), iaitu persekitaran Cina.
ikon vskod, pemalam ikon VSCode, terutamanya ikon untuk setiap folder di bawah pengurus sumber.
compareit, pemalam perbandingan, boleh digunakan untuk membandingkan perbezaan antara dua fail
DeviceTree, pemalam sintaks pepohon peranti.
Pratonton Turun Dipertingkat, pemalam pratonton turun bawah.
Maridown pdf, tukar fail .md kepada format lain.
2. Perintah Linux biasa
Terdapat ratusan perintah Linux Untuk pemula, tidak banyak perintah yang biasa digunakan, dan mereka tidak perlu menguasai semuanya. Dalam proses belajar dan kerja harian, jika anda menemui arahan Linux yang tidak dikenali, anda secara semula jadi akan mengingatinya dengan menyemak lebih banyak maklumat dari semasa ke semasa. Yang berikut memperkenalkan anda kepada 17 arahan paling asas Linux.
1 Kosongkan skrin2 >clear
ip addr
date
Laluan direktori dan fail dibahagikan kepada laluan mutlak dan laluan relatif dikira daripada akar (/), seperti /usr/etc/readme.txt. Laluan relatif dikira daripada direktori kerja semasa Jika direktori kerja semasa ialah /usr, etc/readme.txt bersamaan dengan /usr/etc/readme.txt. Di samping itu, perlu diperhatikan bahawa: satu titik menunjukkan direktori kerja semasa;
FHS percaya bahawa direktori akar (/) sistem Linux adalah yang paling penting atas dua sebab berikut: 1. Semua direktori berasal daripada direktori akar;
usr (nota bukan pengguna), nama penuh ialah Sumber Perisian Unix Direktori ini digunakan untuk menyimpan sumber perisian sistem. FHS mengesyorkan agar pembangun meletakkan data produk perisian dalam subdirektori direktori /usr dan bukannya membuat direktori berasingan untuk produk mereka.
Dalam sistem Linux, semua perisian lalai sistem disimpan dalam direktori /usr Direktori /usr adalah serupa dengan gabungan fail C:Windows C:Program dalam sistem Windows.
FHS mengesyorkan bahawa direktori /usr harus mempunyai subdirektori seperti yang ditunjukkan dalam jadual di bawah.
/var direktori digunakan untuk menyimpan data dinamik, seperti cache, fail log, fail yang dijana semasa perisian berjalan, dsb. Secara amnya, adalah disyorkan bahawa direktori ini mengandungi subdirektori ini seperti yang ditunjukkan dalam Jadual 4.
pwd
cd 目录名
cd /tmp
cd ..
cd
ialah singkatan senarai melalui perintah ls
, anda bukan sahaja boleh melihat direktori dan maklumat fail, tetapi juga kebenaran Direktori dan fail, saiz, pemilik dan maklumat kumpulan. ls
Pilihan
Senaraikan direktori dan butiran fail. -l
Contoh:
ls
ls -l
ls open*.zip
mkdir aaa
mkdir aaa/bbb -p
Direktori atau fail rm [-rf]
boleh memadam direktori , tanpa -r hanya fail boleh dipadamkan. -r
menunjukkan pemadaman paksa dan tidak memerlukan pengesahan. -f
rm aaa -r
rm -f ccc.c
mv 旧目录或文件名 新目录或文件名
mv book.c book1.c
mv book.c OPC/test3
mv book.c OPC/test3
cp [-r] 旧目录或文件名 新目录或文件名
boleh menyalin direktori Jika tiada pilihan -r
, hanya fail boleh disalin. -r
cp book1.c book2.c
cp aaa bbb -r
cp book1.c aaa/book1.c
cp book1.c aaa/.
cp -r aaa /tmp/aaa
cp -r aaa /tmp/.
Dua arahan di atas mempunyai kesan yang sama.
ping -c 包的个数 ip地址或域名
ping digunakan untuk menentukan sama ada hos tempatan berjaya menukar paket data dengan hos lain, tentukan sama ada rangkaian itu lancar.
ping -c 5 127.0.0.1
ping -c 5 www.baidu.com.cn
Dapat dilihat pelayan Baidu bolehping
Ia berfungsi.
ping -c 5 www.google.com
Ia boleh dilihat bahawa pelayan Google ping
tidak boleh dihubungi.
Terdapat tiga arahan untuk memaparkan kandungan fail teks: cat
, more
dan tail
.
cat 文件名
Arahan kucing memaparkan kandungan keseluruhan fail pada satu masa.
cat main.cpp
more 文件名
Untuk kemudahan membaca, Perintah lebih memaparkan kandungan fail dalam halaman Tekan bar ruang untuk memaparkan halaman seterusnya, tekan kekunci b untuk memaparkan halaman sebelumnya, dan tekan kekunci q untuk keluar.
tail -f 文件名
tail -f
digunakan untuk memaparkan beberapa baris terakhir fail teks, jika kandungan fail telah meningkat, muat semula dalam masa nyata. Untuk pengaturcara, tail -f
amat penting Ia boleh memaparkan log program perkhidmatan latar belakang untuk nyahpepijat dan menjejaki perjalanan program.
fungsi wc (bilangan perkataan) adalah untuk mengira bilangan bait dan perkataan dalam yang ditentukan. fail , bilangan baris dan keluarkan keputusan statistik
wc 文件名
grep "内容" 文件名
Perhatikan bahawa jika tiada aksara khas seperti ruang dalam kandungan, ia tidak perlu disertakan dalam petikan berganda.
Contoh:
grep signal main.cpp
find 目录名 -name 文件名
Nama direktori: to be Cari Direktori, apabila mencari fail, sebagai tambahan kepada nama direktori, ia juga termasuk subdirektorinya di semua peringkat.
Nama fail: Nama fail yang hendak dicari sepadan dengan peraturan.
Contoh:
Mulakan carian dari direktori OPC dan paparkan semua fail *.cpp.
find OPC -name *.cpp
locate 文件名
Cari fail open62541.c
locate open62541.c
Contoh:
ls -l example
Terdapat 10 kedudukan dalam lajur pertama, dan aksara pertama menentukan jenis fail. Dalam erti kata biasa, direktori juga merupakan fail. Jika aksara pertama ialah sengkang, ini bermakna ia adalah fail bukan direktori. Jika ia d, ia bermakna direktori. Terdapat sejumlah 9 aksara bermula dari aksara kedua hingga aksara kesepuluh Sekumpulan 3 aksara mewakili kebenaran 3 kumpulan pengguna pada fail atau direktori. Aksara kebenaran menggunakan garis mendatar untuk mewakili kebenaran kosong, r mewakili baca sahaja, w mewakili tulis, dan x mewakili boleh laku.
Parameter biasa:
-c Apabila perubahan berlaku, laporkan maklumat pemprosesan
-R Proses direktori yang ditentukan dan subdirektorinya Semua fail
Skop kebenaran:
u: Pengguna semasa direktori atau fail
g : Kumpulan semasa direktori atau fail
o: Pengguna atau kumpulan selain pengguna atau kumpulan semasa direktori atau fail
a: Semua pengguna dan kumpulan
Kod kebenaran:
r: Keizinan baca, diwakili oleh nombor 4
w: Kebenaran tulis, diwakili oleh nombor 2
x: Pihak berkuasa pelaksanaan, diwakili oleh nombor 1
- : Padamkan kebenaran, diwakili dengan nombor 0
s: Keizinan khas
Contoh:
chmod a-x example
chmod 751 example -c
chmod u r,g r,o r -R text/ -c
df [-h] [-T]
Pilihan-h
Paparkan maklumat dalam format yang mudah dibaca:
df -h
Pilihan-T
Senaraikan jenis sistem fail:
df -h -T
Pelaksanaan atur cara (arahan dan aplikasi sistem pengendalian) memerlukan persekitaran berjalan, yang terdiri daripada berbilang pembolehubah persekitaran.
Pembolehubah persekitaran sistem: awam, berkesan untuk semua pengguna.
Pembolehubah persekitaran pengguna: Tetapan peribadi pengguna dan diperibadikan yang diperibadikan, yang hanya berkuat kuasa untuk pengguna ini.
Pembolehubah persekitaran kekal: Dikonfigurasikan dalam fail skrip pembolehubah persekitaran, skrip ini akan dilaksanakan secara automatik setiap kali pengguna log masuk, yang bersamaan dengan kesan kekal.
Pembolehubah persekitaran sementara: ditakrifkan buat sementara waktu dalam Shell apabila digunakan, dan akan menjadi tidak sah selepas keluar dari Shell.
Pembolehubah persekitaran Linux juga dipanggil pembolehubah persekitaran Shell Ia bermula dengan garis bawah dan huruf dan terdiri daripada garis bawah, huruf (sensitif huruf besar-kecil) dan nombor lazimnya menggunakan huruf besar, seperti PATH, HOSTNAME, LANG, dsb.
Dalam Shell, gunakan arahan env untuk melihat semua pembolehubah persekitaran pengguna semasa.
Gambar di atas hanya menangkap beberapa pembolehubah persekitaran, bukan semua.
Nota: Apabila menggunakan arahan env, banyak pembolehubah persekitaran dipaparkan pada skrin, yang menyusahkan untuk dilihat Anda boleh menggunakan grep untuk menapisnya.
env|grep 环境变量名
Sebagai contoh, semak pembolehubah persekitaran yang namanya mengandungi PATH.
env|grep PATH
echo $环境变量名
Contohnya: echo $LANG
Cari direktori untuk program boleh laku termasuk arahan sistem Linux dan aplikasi pengguna, PATH Penggunaan khusus pembolehubah diterangkan secara terperinci dalam bab-bab seterusnya artikel ini.
Bahasa, wilayah dan set aksara sistem Linux.
echo $LANG
Nama hos pelayan.
echo $HOSTNAME
Penghurai Shell yang kini digunakan oleh pengguna.
echo $SHELL
Simpan bilangan arahan sejarah.
Nama pengguna pengguna yang sedang log masuk.
echo $USER
Direktori rumah pengguna yang sedang log masuk.
echo $HOME
Direktori kerja semasa.
echo $PWD
Direktori carian fail perpustakaan pautan dinamik bahasa C/C, ia bukan pembolehubah persekitaran lalai Linux , tetapi ia sangat penting untuk pengaturcara C/C Penggunaan khusus diterangkan secara terperinci dalam bab-bab seterusnya artikel ini.
export 变量名='值'
Jika nilai pembolehubah persekitaran tidak mempunyai simbol khas seperti ruang, ia boleh disertakan tanpa petikan tunggal.
Contoh:
export PATH=$PATH:.
Arahan di atas menambah direktori pada PATH pembolehubah persekitaran shell semasa (ya.)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
Perintah di atas menambah pembolehubah persekitaran LD_LIBRARY_PATH ke shell semasa masa anda log masuk Perlu ditetapkan semula. Jika anda mahu pembolehubah persekitaran berkuat kuasa secara kekal, anda perlu mengkonfigurasinya dalam fail skrip log masuk.
3.3.1 Pembolehubah persekitaran sistem Pembolehubah persekitaran sistem berkesan untuk semua pengguna. Terdapat tiga cara untuk menetapkan pembolehubah persekitaran sistem.
Apabila pengguna log masuk, laksanakan fail /etc/profile untuk menetapkan pembolehubah persekitaran sistem. Walau bagaimanapun, Linux tidak mengesyorkan menetapkan pembolehubah persekitaran sistem dalam fail /etc/profile.
/etc/profile akan melaksanakan semua fail skrip di bawah /etc/profile.d setiap kali ia dimulakan. /etc/profile.d lebih mudah diselenggara daripada /etc/profile Jika anda tidak mahu sebarang pembolehubah, hanya padamkan skrip shell yang sepadan di bawah /etc/profile.d.
ls /etc/profile.d
3) Dalam / etc/bashrc file Tetapkan pembolehubah persekitaran dalam .
Pembolehubah persekitaran yang dikonfigurasikan dalam fail ini akan mempengaruhi shell bash yang digunakan oleh semua pengguna. Walau bagaimanapun, Linux juga tidak mengesyorkan menetapkan pembolehubah persekitaran sistem dalam fail /etc/bashrc.
Pembolehubah persekitaran pengguna hanya berkuat kuasa untuk pengguna semasa. Terdapat banyak cara untuk menetapkan pembolehubah persekitaran pengguna.
.
ls
ls .bash*
1).bash_profile (disyorkan)
Dilaksanakan apabila pengguna log masuk, setiap pengguna boleh menggunakan fail ini untuk mengkonfigurasi pembolehubah persekitaran mereka sendiri.
Fail ini akan dibaca apabila pengguna log masuk dan setiap kali Shell baharu dibuka Ia tidak disyorkan untuk mengkonfigurasi pembolehubah persekitaran khusus pengguna di dalamnya, kerana setiap kali pengguna membuka Untuk setiap shell, fail akan dibaca sekali, dan kecekapan pasti akan terjejas.
Laksanakan fail ini setiap kali anda keluar dari sistem (keluar dari bash shell).
menyimpan perintah sejarah yang digunakan oleh pengguna semasa.
3.3.3 Urutan pelaksanaan fail skrip pembolehubah persekitaran/etc/profile->/etc/profile.d->/etc/bashrc->用户的.bash_profile->用户的.bashrc
ls /bin/ls
Anda boleh melihat bahawa arahan ls
terletak dalam direktori /bin
Pada masa ini, kami melaksanakan arahan export PATH=
untuk mengosongkan pembolehubah PATH , dan kemudian laksanakan perintah ls
Sistem akan menggesa bahawa arahan ls
tidak dapat ditemui.
boleh digunakan dengan menggunakan laluan mutlak /bin/ls
Selepas menambah direktori /bin pada PATH pembolehubah persekitaran, juga boleh dilaksanakan . ls
Apabila melaksanakan perintah contoh dalam direktori semasa, mesej ralat tidak boleh dilaksanakan.
export PATH=$PATH:.
export LD_LIBRARY_PATH=目录1:目录2:目录3:......目录n:.
Kami akan memperkenalkan pembolehubah persekitaran ini secara terperinci dalam pelajaran seterusnya apabila kami menerangkan perpustakaan statik Linux dan perpustakaan dinamik.
source /etc/profile
Tutorial Video Linux"
Atas ialah kandungan terperinci Mari kita bincangkan tentang arahan biasa dan pembolehubah persekitaran sistem pengendalian Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!