Memilih penterjemah baris arahan Linux. Penghuraian baris arahan, fungsi bash yang dipilih. Beberapa konvensyen manual ini

Helaian cheat ini merangkumi topik berikut: pengenalan kepada shell, navigasi, arahan asas, pembolehubah persekitaran, penyambung, paip, pengalihan I/O, kebenaran dan pintasan papan kekunci.

Bash Shell: Pengenalan

Shell, atau shell, ialah program, dalam kes kami dipanggil "bash," yang merupakan singkatan untuk Bourne Again Shell. Shell menerima arahan anda dan menyampaikannya kepada sistem pengendalian. Untuk berinteraksi dengan sistem, terminal digunakan, seperti gnome-terminal, eterm, nxterm, dll.

Navigasi

DALAM Fail Linux dan direktori mempunyai organisasi hierarki, iaitu, terdapat direktori awal tertentu yang dipanggil root. Ia mengandungi fail dan subdirektori, yang seterusnya mengandungi fail dan subdirektori mereka sendiri.

pwd

Perintah pwd, singkatan dari cetak direktori kerja, paparan lokasi sekarang dalam struktur direktori.

CD

Perintah cd membolehkan anda pergi ke katalog baru.

mkdir

Perintah mkdir mencipta direktori baharu dalam direktori semasa.

Perintah Asas

lelaki

Arahan lelaki memaparkan manual arahan. Sebagai contoh, arahan berikut akan memaparkan semua maklumat tentang arahan kucing:

$ lelaki kucing

kucing

Perintah kucing membaca fail yang diluluskan sebagai hujah dan mencetak kandungannya saluran standard pengeluaran. Meluluskan berbilang fail sebagai hujah akan mencetak kandungan bercantum semua fail.

bergema

Perintah gema mencetak argumennya kepada output standard.

$ echo Hello World Hello World

Jika anda memanggil gema tanpa hujah, ia akan dicetak baris kosong.

kepala

Perintah kepala membaca 10 baris pertama mana-mana teks yang dihantar dan mengeluarkannya ke paip standard. Bilangan baris yang dipaparkan boleh diubah:

$head -50 test.txt

ekor

Perintah ekor berfungsi sama dengan arahan kepala, tetapi membaca baris dari hujung:

$ ekor -50 test.txt

Anda juga boleh melihat baris yang ditambahkan pada fail dalam masa nyata menggunakan bendera -f:

$ tail -f test.txt

kurang

Perintah yang kurang membolehkan anda menavigasi fail atau sekeping teks yang dipindahkan, dalam kedua-dua arah.

$ less test.txt $ ps aux | kurang

Ketahui lebih lanjut tentang tujuan simbol | akan diliputi di bawah dalam bahagian sejarah arahan.

Pintasan papan kekunci biasaPenerangan
GBergerak ke hujung fail
gBergerak ke permulaan fail
:50 Bergerak ke baris 50 fail
qKeluar kurang
/ istilah carianCari rentetan yang sepadan dengan 'istilah carian' di bawah talian semasa
/
?istilah carianMencari baris yang sepadan dengan 'istilah carian' di atas baris semasa
? Beralih ke hasil carian sepadan seterusnya
naikBergerak ke atas satu baris
turunMenggerakkan satu baris ke bawah
pageupBergerak ke atas satu halaman
halaman bawahMengalihkan satu halaman ke bawah

benar

Perintah benar sentiasa mengembalikan sifar sebagai status output untuk menunjukkan kejayaan.

salah

Perintah palsu sentiasa mengembalikan bukan sifar sebagai status output untuk menunjukkan kegagalan.

$?

$? ialah pembolehubah yang mengandungi status output perintah terakhir dijalankan. Status biasanya merujuk kepada kod pemulangan program. 0 bermakna pelaksanaan program yang berjaya, sebarang nilai yang lebih besar daripada 0 mencerminkan fakta bahawa beberapa ralat berlaku semasa pelaksanaan. Dengan cara ini, inilah sebabnya dalam bash 0 dianggap benar, dan semua yang bukan 0 adalah palsu:

$true$echo$? 0 $ palsu $ gema $? 1

grep

Perintah grep mencari rentetan yang diluluskan masuk fail yang ditentukan:

$ cat users.txt pengguna:kata laluan pelajar:123 pengguna:kata laluan guru:321 $ grep "fail pelajar`1.txt pengguna:kata laluan pelajar:123

grep juga boleh menerima berbilang fail dan ungkapan biasa untuk menjelaskan format teks.

sejarah

Perintah sejarah memaparkan sejarah baris arahan. Ia biasanya digunakan bersama dengan arahan grep untuk mencari arahan tertentu. Sebagai contoh, kod berikut akan mencari semua arahan yang mengandungi rentetan g++ :

$sejarah | grep g++ 155 g++ fail1.txt 159 g++ fail2.txt

Simbol |. juga digunakan di sini. - ini adalah penghantar (paip) yang dipanggil. Terima kasih kepadanya, anda boleh mengalihkan output satu arahan ke input yang lain - oleh itu, dalam contoh di atas, keseluruhan cerita, yang dalam mod biasa output oleh arahan sejarah terus ke output terminal akan diubah hala ke grep sebagai input. Kami tidak akan melihat output arahan sejarah, tetapi kami akan melihat output arahan grep.

Ini boleh menjadi agak sukar untuk difahami tanpa latihan, jadi uji sendiri dengan arahan ls , history , ps (diterangkan di bawah) yang mengubah hala outputnya ke grep , sed atau kurang sebagai contoh.

eksport

Perintah eksport menetapkan pembolehubah persekitaran untuk dihantar kepada proses anak. Sebagai contoh, ini adalah cara anda boleh menghantar pembolehubah nama dengan pelajar nilai:

$ nama eksport=pelajar

ps

Perintah ps memaparkan maklumat tentang menjalankan proses.

$ ps PID TTY TIME CMD 35346 pts/2 00:00:00 bash

Empat elemen adalah output:

  • ID Proses (PID),
  • jenis terminal (TTY),
  • masa operasi proses (TIME),
  • nama arahan yang memulakan proses (CMD).

awk

Perintah awk mencari dan menggantikan teks dalam fail menggunakan corak yang diberikan: awk "corak (tindakan)" test.txt

wget

Perintah wget memuat turun fail dari Internet dan meletakkannya dalam direktori semasa.

$ wget https://github.com/mikeizbicki/ucr-cs100

nc

ping

Perintah ping menguji sambungan rangkaian.

$ ping google.com PING google.com (74.125.224.34) 56(84) bait data. 64 bait daripada lax17s01-in-f2.1e100.net (74.125.224.34): icmp_req=1 ttl=57 time=7.82 ms --- statistik ping google.com --- 1 paket dihantar, 1 diterima, kehilangan paket 0% , masa 8ms rtt min/avg/maks/mdev = 7.794/8.422/10.792/0.699 ms

Statistik pada penghujung menunjukkan bilangan sambungan yang dibuat sebelum arahan selesai dan masa yang diambil untuk menyelesaikannya.

git

Pembolehubah Persekitaran

Pembolehubah persekitaran dinamakan pembolehubah yang mengandungi nilai yang digunakan oleh satu atau lebih aplikasi.

Pembolehubah PATH mengandungi senarai direktori di mana sistem mencari fail boleh laku.

Pembolehubah HOME mengandungi laluan ke direktori rumah pengguna semasa.

Penyambung

Penyambung membolehkan anda menjalankan berbilang arahan serentak.

$ true && echo Hello Hello $ false || echo Hello Hello $ echo Hello ; ls Hello test.txt file1.txt file2.txt

Penghantar

Penghantar, atau paip, membolehkan anda menyambungkan saluran input dan output pasukan yang berbeza. Dalam contoh berikut, output arahan ls akan dihantar ke kepala dan hanya 10 elemen pertama akan dicetak sebagai hasilnya.

$ ls -l | kepala

Ubah hala I/O

Ubah hala keluaran

Simbol > dan >> digunakan untuk ubah hala keluaran standard.

Sebagai contoh, kod ini akan menyalurkan output ls ke fail dan bukannya ke skrin:

$ ls > files.txt $ cat files.txt file1.cpp sample.txt

Jika fail itu tidak wujud, ia dicipta, dan jika ia wujud, ia akan ditulis ganti. Untuk mengelakkan penulisan ganti, anda harus menggunakan perintah >> - ia menambahkan data ke penghujung fail.

Ubah hala input

Untuk ubah hala keluaran standard, gunakan simbol< . В следующем примере sort берет входные данные из файла, а не с клавиатуры:

$ cat files.txt c b $ sort< files.txt b c

Perintah isihan mencetak kandungan fail ke skrin kerana kami belum mengubah hala output. Ini boleh dilakukan seperti ini:

$sort< files.txt >files_sorted.txt

Ubah hala lanjutan

Menambah & kepada > menghasilkan ubah hala seperti aliran standard keluaran dan aliran ralat. Contohnya, fail test.cpp akan mengeluarkan baris stdout kepada cout dan baris stderr kepada cerr .

$ g++ test.cpp $ ./a.out >& test.txt $ cat test.txt stdout stderr

Jika anda ingin mengeluarkan yang khusus deskriptor fail, anda boleh menetapkan nombornya kepada > .

NamaDeskriptorPenerangan
stdin0 Input standard
stdout1 Keluaran Standard
stderr2 Output Ralat Standard

Sebagai contoh, untuk mengubah hala stderr ke test.txt anda akan melakukan perkara berikut:

$ g++ test.cpp $ ./a.out 2> test.txt stdout $ cat test.txt stderr

Hak akses

Perintah ls -l memaparkan banyak maklumat tentang kebenaran setiap fail:

chmod

Perintah chmod menukar kebenaran fail. Berikut ialah gabungan tipikal bendera untuk menukar hak pengguna tertentu:

Anda boleh memanggil chmod dengan penerangan tentang perkara yang perlu dilakukan pada fail tertentu. Simbol - bermaksud mengeluarkan hak, simbol + bermaksud menambah. Contoh berikut akan menjadikan fail boleh dibaca dan boleh ditulis oleh pemilik dan kumpulan:

$ chmod ug+rw test.txt $ ls -l test.txt -rw-rw---- 1 kumpulan pengguna 1097374 26 Januari 2:48 test.txt

Selain itu, chmod boleh digunakan dengan nombor perlapanan, di mana 1 dibenarkan dan 0 tidak:

Rwx = 111 = 7 rw- = 110 = 6 r-x = 101 = 5 r-- = 100 = 4

Perintah seterusnya akan berfungsi sama seperti yang sebelumnya.

Selepas membaca artikel ini, anda akan mengetahui apa itu bash(jurubahasa arahan Linux standard), pelajari cara menggunakan arahan standard: ls, cp, mv... memahami tujuan inod, pautan keras dan simbolik, dan banyak lagi.

Tutorial ini bertujuan untuk mereka yang baru menggunakan Linux dan bagi mereka yang ingin menyemak atau meningkatkan pemahaman mereka tentang prinsip asas Linux, seperti menyalin dan memindahkan fail, mencipta pautan, menggunakan arahan Linux standard bersama-sama dengan ubah hala dan paip. Dalam artikel ini anda akan menemui banyak contoh yang menerangkan bahan yang dibentangkan. Bagi pemula, kebanyakan maklumat adalah baharu, tetapi bagi pengguna yang lebih maju, bahan ini boleh menjadi alat yang sangat baik untuk meringkaskan pengetahuan dan kemahiran sedia ada.

Pengenalan kepada bash

Shell

Jika anda menggunakan Linux, maka anda tahu bahawa selepas log masuk anda akan disambut oleh gesaan jurubahasa arahan. Contohnya ini:

\$

Jika selepas log masuk cangkerang grafik dimuatkan, maka untuk sampai ke penterjemah arahan anda perlu melancarkan emulator terminal (terminal gnome, terminal xfce4, konsole, xterm, rxvt...) atau tukar ke salah satu terminal maya dengan mengklik CtrlAltF1 atau CtrlAltF2 dan lain-lain.

Gesaan shell pada komputer anda mungkin berbeza daripada yang ditunjukkan dalam contoh. Ia mungkin mengandungi nama pengguna, nama komputer dan nama direktori kerja semasa. Tetapi di sebalik semua perbezaan ini, program yang mencetak jemputan ini dipanggil " cangkerang"(shell), dan kemungkinan besar shell arahan anda ialah program yang dipanggil bash.

Adakah anda menjalankan bash?

Anda boleh menyemak sama ada bash sedang berjalan dengan arahan berikut:

\$ gema \$SHELL/bin/bash

Jika anda menerima ralat akibat daripada melaksanakan arahan ini atau outputnya berbeza daripada yang dalam contoh, maka ada kemungkinan sistem anda tidak menggunakan bash sebagai shell arahan. Walaupun begitu, kebanyakan bahan akan relevan, tetapi kami masih mengesyorkan agar anda beralih kepada bash. Ini boleh dilakukan (jika bash dipasang pada sistem) dengan arahan:

\$ bash

Apa itu bash

Bash (singkatan untuk " B kami- a keuntungan SH ell") ialah penterjemah arahan standard pada kebanyakan sistem Linux. Tanggungjawabnya termasuk memproses dan melaksanakan arahan yang mana pengguna mengawal komputer. Sebaik sahaja anda selesai, anda boleh keluar dari proses shell. Selepas menekan kekunci CtrlD, pasukan keluar atau log keluar Proses shell akan ditamatkan dan anda akan digesa untuk memasukkan nama pengguna dan kata laluan anda sekali lagi.

Menggunakan "cd"

Mari mula menggunakan bash untuk menavigasi sistem fail. Untuk bermula, taip arahan berikut:

$ cd/

Dengan arahan ini kami memberitahu bash bahawa kami ingin berpindah ke direktori akar - / . Semua direktori dalam sistem disusun dalam struktur pokok dan / ini adalah permulaannya (atau akarnya). Pasukan CD berfungsi untuk menukar direktori kerja semasa.

Laluan

Untuk mengetahui di mana sistem fail pada masa ini anda berada dalam (direktori kerja semasa) jenis:

\$ pwd /

Dalam contoh di atas / - hujah perintah CD- dipanggil laluan. Ini adalah lokasi pada sistem fail yang kita ingin pindahkan. Dalam kes ini / - jalan mutlak, ini bermakna bahawa laluan adalah relatif kepada direktori akar.

Laluan mutlak

Berikut adalah beberapa contoh laluan mutlak

/dev /usr /usr/bin /usr/local/bin

Seperti yang anda mungkin telah perhatikan, semua laluan ini mempunyai persamaan yang bermula dengannya / . Dengan menentukan laluan /usr/local/bin sebagai hujah kepada arahan CD kita suruh dia pergi ke direktori root / , kemudian ke direktori usr, kemudian ke local dan bin. Laluan mutlak sentiasa bermula dengan /

Laluan relatif

Jenis laluan kedua dipanggil relatif. Bash, pasukan CD dan arahan lain mengira laluan ini berbanding dengan direktori semasa. Laluan relatif tidak pernah bermula dengan / . Sebagai contoh, jika kita berada di /usr

\$ cd /usr

Kemudian kita boleh pergi ke /usr/local/bin menggunakan laluan relatif

\$ cd tempatan/bin \$ pwd/usr/local/bin

Penggunaan ".."

Laluan relatif boleh mengandungi satu atau lebih direktori «..» . ".." menunjukkan direktori induk direktori kerja kami. Contoh:

\$ pwd/usr/local/bin\$ cd.. \$ pwd/usr/local

Seperti yang anda lihat, pasukan cd..'meningkatkan kita ke tahap yang lebih tinggi'.

Boleh tambah .. kepada laluan relatif. Ini akan membolehkan kami beralih ke direktori yang berada pada tahap yang sama dengan direktori yang kami ada. Contoh:

\$ pwd/usr/local\$ cd ../kongsi \$ pwd/usr/share

Contoh menggunakan laluan relatif

Laluan relatif boleh menjadi agak rumit. Berikut adalah beberapa contoh. Hasil daripada melaksanakan arahan tidak ditunjukkan, cuba tentukan direktori mana yang akan anda gunakan menggunakan bash.

\$ cd / tong \$ cd ../usr/share/zoneinfo \$ cd /usr/X11R6/bin \$ cd ../lib/X11 \$ cd /usr/bin \$ cd ../bin/../bin

Direktori kerja "."

Sebelum kita selesai bercakap tentang pasukan CD, terdapat beberapa perkara lagi yang patut disebut. Pertama, terdapat satu lagi direktori khas «.» , yang menunjuk ke direktori semasa. Direktori ini digunakan untuk menjalankan fail boleh laku yang terletak dalam direktori semasa.

\$ ./myprog

Dalam contoh terakhir, myprog ialah fail boleh laku yang terletak dalam direktori semasa yang akan dilancarkan untuk pelaksanaan.

cd dan direktori rumah pengguna

Untuk pergi ke direktori rumah, anda perlu mendail

\$ CD

Tanpa hujah, cd akan memindahkan anda ke direktori rumah anda. Untuk superuser, direktori rumah biasanya /root, dan untuk pengguna biasa- /home/nama pengguna/. Tetapi bagaimana jika kita ingin menentukan fail tertentu yang terletak dalam direktori rumah. Sebagai contoh, sebagai hujah kepada program 'myprog'? Anda boleh menulis:

\$ ./myprog /home/user/myfile.txt

Walau bagaimanapun, menggunakan laluan mutlak ke fail tidak selalunya mudah. Operasi yang sama boleh dilakukan menggunakan ~ –tildes:

\$ ./myprog ~/myfile.txt

~ - nama khas yang menunjuk ke direktori rumah pengguna dalam bash.

Direktori rumah pengguna lain

Tetapi bagaimana jika kita perlu menunjuk ke fail dalam direktori rumah pengguna lain? Untuk melakukan ini, selepas tilde anda perlu menunjukkan nama pengguna ini. Contohnya, untuk menunjuk ke fail fredsfile.txt yang terletak dalam direktori rumah pengguna fred:

\$ ./myprog ~fred/fredsfile.txt

arahan Linux

Pengenalan kepada ls

Anda mungkin sudah biasa dengan pasukan itu ls, yang, dipanggil tanpa hujah, memaparkan senarai fail yang disimpan dalam direktori kerja:

\$ cd /usr \$ ls X11R6 doc i686-pc-linux-gnu lib man sbin ssl bin gentoo-x86 sertakan libexec portage share tmp distfiles i686-linux info local portage.old src

Jika anda menentukan pilihan -a, anda akan dapat melihat semua fail, termasuk yang tersembunyi (yang namanya bermula dengan titik).

\$ ls -a. bin gentoo-x86 sertakan libexec portage share tmp .. distfiles i686-linux info local portage.old src X11R6 doc i686-pc-linux-gnu lib man sbin ssl

Senarai terperinci direktori

Selepas arahan itu sendiri ls satu atau lebih fail atau direktori boleh ditentukan sebagai hujahnya. Jika anda menentukan nama fail, arahan ls akan memaparkan maklumat tentang fail ini sahaja. Dan jika anda menentukan nama direktori, ls akan menunjukkan semua kandungannya. Pilihan '-l' pasukan ls boleh menjadi sangat berguna jika anda ingin mengetahui lebih daripada nama fail maklumat terperinci tentang mereka (kebenaran kepada fail, nama pemilik, masa pengubahsuaian terakhir fail dan saiznya).

Contoh berikut menunjukkan penggunaan pilihan '-l' untuk memaparkan maklumat tentang fail yang disimpan dalam direktori /usr

\$ ls -l /usr drwxr-xr-x 7 akar akar 168 Nov 24 14:02 X11R6 drwxr-xr-x 2 akar akar 14576 Dis 27 08:56 bin drwxr-xr-x 2 akar akar 8856 Dis 26 12:47 distfiles lrw9xrw root 22 Dis 20:57 doc -> kongsi/doc drwxr-xr-x 62 root root 1856 Dis 27 15:54 gentoo-x86 drwxr-xr-x 4 root root 152 Dis 12 23:10 i686-linux drwxr-xr-x 4 root root 96 Nov 24 13:17 i686-pc-linux-gnu drwxr-xr-x 54 root root 5992 Dis 24 22:30 sertakan lrwxrwxrwx 1 root root 10 Dis 22 20:57 info -> share/info drwxr-x -x 28 root root 13552 Dis 26 00:31 lib drwxr-xr-x 3 root root 72 Nov 25 00:34 libexec drwxr-xr-x 8 root root 240 Dis 22 20:57 local lrwxrwxrwx 2 root 29 Dis :57 man -> share/man lrwxrwxrwx 1 root root 11 Dis 8 07:59 portage -> gentoo-x86/ drwxr-xr-x 60 root root 1864 Dis 8 07:55 portage.old drwxr-xr-x 3 root root 3096 Dis 22 20:57 sbin drwxr-xr-x 46 root root 1144 Dis 24 15:32 share drwxr-xr-x 8 root root 328 Dis 26 00:07 src drwxr-xr-x 6 root 4 176 Nov: 25 ssl lrwxrwxrwx 1 akar punca 10 Dis 22 20:57 tmp -> ../var/tmp

Lajur pertama menunjukkan maklumat tentang hak akses setiap fail dalam senarai. (Sebentar lagi saya akan menerangkan huruf yang mana maksudnya) Lajur seterusnya menunjukkan bilangan pautan kepada setiap elemen senarai. Lajur ketiga dan keempat ialah pemilik dan kumpulan fail, masing-masing. Lajur kelima ialah saiz. Keenam ialah masa terakhir fail diubah suai ('masa terakhir diubah suai' atau mtime). Lajur terakhir ialah nama fail atau direktori (Jika ini adalah pautan, maka selepas ' –> ' bermaksud nama objek yang dirujuknya).

Bagaimana untuk melihat direktori sahaja

Kadangkala terdapat keperluan untuk melihat maklumat hanya tentang direktori, dan bukan tentang semua kandungannya. Pilihan ini akan membantu anda mengatasi tugas ini '-d', yang memberitahu arahan untuk memaparkan maklumat tentang direktori sahaja. Contoh:

\$ ls -dl /usr /usr/bin /usr/X11R6/bin ../share drwxr-xr-x 4 root root 96 Dis 18 18:17 ../kongsi drwxr-xr-x 17 root root 576 Dis 24 09:03 /usr drwxr-xr-x 2 root root 3192 Dis 26 12:52 /usr /X11R6/bin drwxr-xr-x 2 punca akar 14576 Dis 27 08:56 /usr/bin

Senarai rekursif dan maklumat inod

Tindakan pilihan '-R' bertentangan dengan tindakan '-d'. Ia membolehkan anda memaparkan maklumat tentang fail yang terletak dalam direktori secara rekursif. Kandungan direktori ditunjukkan terlebih dahulu tingkat atas, kemudian kandungan semua subdirektori secara bergilir-gilir, dan seterusnya. Output arahan ini boleh menjadi agak panjang, jadi kami tidak memberikan contoh, tetapi anda boleh mencubanya sendiri dengan menaip ' ls -R' atau ' ls -Rl‘.

Dan akhirnya, pilihan '-saya' digunakan untuk mencetak inod bagi setiap objek sistem fail.

\$ ls -i /usr 1409 X11R6 314258 i686-linux 43090 libexec 13394 sbin 1417 bin 1513 i686-pc-linux-gnu 5120 local 13408 share 8316 distfiles 1517 man doc 738 umur 36737 ssl 70744 gentoo-x86 1585 lib 5132 portage.old 784 tmp

Apakah inod?

Setiap objek sistem fail (fail, direktori...) mempunyai nombor uniknya sendiri, dipanggil inode(nombor inod). Maklumat ini mungkin kelihatan tidak penting, tetapi memahami fungsi inod akan membantu anda memahami banyak operasi sistem fail. Sebagai contoh, mari kita lihat «.» Dan «..» seperti pautan yang terdapat dalam setiap direktori. Untuk memahami apa itu direktori «..» , ketahui inode direktori /use/local

\$ ls -id /usr/local 5120 /usr/local

Seperti yang kita dapat lihat, inode direktori /usr/local ialah 5120. Sekarang mari kita lihat inode direktori /usr/local/bin/.. apa yang ada:

\$ ls -id /usr/local/bin/.. 5120 /usr/local/bin/..

Ternyata inod direktori /usr/local dan /usr/local/bin/.. adalah sama! Ini bermakna inode 5120 dirujuk oleh dua nama: /usr/local dan /usr/local/bin/.. Iaitu, ini adalah dua nama berbeza untuk direktori yang sama. Setiap inod menunjuk ke lokasi tertentu pada cakera.

Setiap inod boleh mempunyai berbilang nama objek sistem fail yang dikaitkan dengannya. Bilangan 'sinonim' fail (objek sistem fail yang merujuk kepada inod yang sama) ditunjukkan oleh nombor dalam lajur kedua 'output arahan ls -l‘.

\$ ls -dl /usr/local drwxr-xr-x 8 punca akar 240 Dis 22 20:57 /usr/local

Contoh ini menunjukkan (lajur kedua) bahawa direktori /usr/local dirujuk oleh 8 objek sistem fail yang berbeza. Berikut adalah nama mereka:

/usr/local /usr/local/. /usr/local/bin/.. /usr/local/games/.. /usr/local/lib/.. /usr/local/sbin/.. /usr/local/share/.. /usr/local/ src/..

mkdir

Mari kita lihat arahan mkdir. Ia digunakan untuk membuat direktori baharu. Contoh berikut menunjukkan penciptaan tiga direktori baharu (tic, tac, toe) dalam direktori /tmp

\$ cd/tmp $ mkdir tic tac toe

Perintah lalai mkdir tidak boleh membuat struktur direktori bersarang. Oleh itu, jika anda perlu membuat beberapa direktori bersarang ( menang/der/ful), maka anda perlu memanggil arahan ini tiga kali berturut-turut:

\$ mkdir menang/der/ful mkdir: tidak boleh mencipta direktori "won/der/ful": Tiada fail atau direktori sedemikian \$ mkdir menang \$ mkdir menang/der \$ mkdir menang/der/ful

Anda boleh memudahkan operasi ini dengan menambah pilihan '-p' kepada arahan mkdir. Pilihan ini membolehkan anda membuat struktur direktori bersarang:

\$ mkdir -p mudah/sebagai/pai

Untuk mengetahui lebih lanjut tentang keupayaan utiliti ini, baca bantuan, yang dipanggil oleh arahan lelaki mkdir. Terdapat bantuan untuk hampir semua arahan dalam manual ini (contohnya lelaki ls), kecuali CD, kerana ia dibina ke dalam bash (untuk arahan sedemikian, bantuan dipanggil seperti ini: bantuan cd)

sentuh

Mari kita teruskan untuk mengkaji arahan cp Dan mv, digunakan untuk menyalin, menamakan semula dan memindahkan fail dan direktori. Tetapi sebelum itu, mari buat fail kosong dalam direktori /tmp menggunakan arahan sentuh:

\$ cd/tmp \$ sentuh copyme

Pasukan sentuh masa kemas kini akses terakhir ke fail (lajur keenam output arahan ls -l) jika ia sudah wujud atau mencipta fail kosong baharu jika ia belum wujud lagi. Selepas operasi ini kita sepatutnya mempunyai fail kosong /tmp/copyme.

bergema

Sekarang kita mempunyai fail kosong, mari kita tulis ke dalamnya rentetan teks menggunakan arahan bergema, yang mengeluarkan hujah yang dihantar kepadanya peranti standard output (terminal teks dalam kes kami).

\$ echo "firstfile" fail pertama

Untuk menulis baris pada fail kami, mari kita ubah hala output arahan kepadanya bergema:

\$ echo "firstfile" > copyme

Tanda > (lebih) memberitahu shell untuk mengalihkan output arahan di sebelah kiri ke fail yang namanya berada di sebelah kanan. Jika fail dengan nama yang sama tidak wujud, ia akan dibuat secara automatik. Dan jika fail sedemikian sudah wujud, ia akan ditimpa (semua kandungannya akan dipadamkan sebelum menulis baris kami). Pasukan 'ls -l' akan menunjukkan bahawa saiz fail kami kini 10 bait - sembilan bait diduduki oleh perkataan 'firstfile' dan satu bait oleh aksara suapan baris.

\$ ls -l copyme-rw-r--r-- 1 akar punca 10 Dis 28 14:13 copyme

kucing dan cp

Untuk mengeluarkan kandungan fail ke terminal, gunakan arahan kucing:

\$ copyme kucing fail pertama

Sekarang kita boleh mula menganalisis fungsi asas arahan cp. Perintah ini mengambil dua hujah. Yang pertama ialah nama fail sedia ada ('copyme'), yang kedua ialah nama salinan baharu yang ingin kita buat ('copyme').

\$ cp copyme copyedme

Kita boleh pastikan itu salinan baru fail mempunyai nombor inod yang berbeza (ini bermakna kami sebenarnya menerima fail berasingan baharu, dan bukan hanya pautan ke yang lama)

\$ ls -i copyme copyedme 648284 salin saya 650704 salin saya

mv

Sekarang mari kita gunakan arahan mv untuk menamakan semula fail (“copyedme” -> “movedme”). Nombor inod tidak berubah selepas operasi ini, hanya nama fail sahaja yang berubah.

\$ mv copyedme movedme \$ ls -saya menggerakkan saya 648284 terharu saya

Nombor inod tidak berubah hanya dengan syarat fail yang dinamakan semula kekal dalam sistem fail di mana ia berada fail asal. Kami akan melihat dengan lebih dekat struktur sistem fail dalam salah satu bahagian berikut dalam tutorial ini.

Pasukan mv membolehkan anda bukan sahaja menamakan semula fail, tetapi juga untuk mengalihkannya. Contohnya, untuk memindahkan fail /var/tmp/myfile.txt ke direktori /home/pengguna anda perlu memberi arahan:

\$ mv /var/tmp/myfile.txt /home/user

Fail akan dialihkan ke direktori rumah pengguna pengguna walaupun ia terletak pada sistem fail yang berbeza (dalam kes ini, fail akan disalin ke lokasi baharu selepas itu yang asal akan dipadamkan). Seperti yang anda duga, memindahkan fail ke sistem fail lain mengubah inodnya. Ini berlaku kerana setiap sistem fail mempunyai set inod tersendiri.

Perlu diingatkan bahawa terdapat kemungkinan bahawa nombor inod baru yang ditetapkan mungkin bertepatan dengan yang lama, tetapi ia adalah sangat kecil.

Untuk memindahkan beberapa fail serentak ke dalam satu direktori anda perlu menulis:

\$ mv /var/tmp/myfile1.txt /var/tmp/myfile2.txt /home/user \$ mv -t /home/user /var/tmp/myfile1.txt /var/tmp/myfile2.txt

Jika anda menambah pilihan '-v', laporan mengenai operasi yang dilakukan akan dipaparkan pada skrin:

\$ mv -vt /home/user /var/tmp/myfile1.txt /var/tmp/myfile2.txt"/var/tmp/myfile1.txt" -> "/home/user/myfile1.txt" "/var/tmp/myfile2.txt" -> "/home/user/myfile2.txt"

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

$ echo $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

Cara paling mudah untuk menyemak ketersediaan penterjemah arahan yang diminati adalah dengan memasukkan 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 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 ke dalam panduan 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 semasa versi terdahulu UNIX, serta beberapa ciri penterjemah 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 sistem pengendalian Linux yang disediakan menggunakan penterjemah bash secara lalai, kecuali sistem pengendalian yang dibut daripada media boleh tanggal, yang menggunakan penterjemah abu secara lalai.

Menggunakan tcsh (dan penterjemah csh sebelumnya)

Jurubahasa arahan tcsh ialah pelaksanaan sumber terbuka bagi jurubahasa Cshell (csh). 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 lalai dalam sistem pengendalian awal. sistem MacOS X, tetapi dalam sistem moden Jurubahasa lalai ialah bash.

Proses pengguna yang paling penting ialah shell perintah (juga dikenali sebagai penterjemah arahan, atau hanya shell). Ini yang memastikan interaksi pengguna dengan sistem dalam mod teks, membolehkan anda memasukkan arahan. Ia adalah yang berjalan apabila anda log masuk ke konsol teks dan memberikan anda antara muka baris arahan.

Tidak perlu terbawa-bawa dengan kemudahan GUI, memandang rendah baris arahan. Pertama, banyak tugas pentadbiran hanya boleh diselesaikan dari sana; kedua, baris arahan adalah cara yang paling mudah untuk mengautomasikan prosedur rutin. Perintah dalam Linux ialah apa sahaja yang boleh dilaksanakan: fail boleh laku, arahan shell terbina dalam, alias arahan, fungsi yang ditentukan pengguna, fail skrip (skrip) - urutan perintah yang telah disediakan dalam bentuk teks.

Oleh itu, jurubahasa arahan ialah program yang mempunyai arahan terbina dalam sendiri, persekitaran pembolehubahnya sendiri, dan juga membolehkan anda melaksanakan arahan luaran yang terdapat dalam sistem.

Shell menerima arahan yang dimasukkan oleh pengguna, memproses hujah mereka jika perlu, mengeluarkan arahan untuk pelaksanaan, menerima nilai pulangan mereka dan melakukan tindakan tertentu bergantung pada nilai tersebut. Di samping itu, shell mempunyai bahasa pengaturcaraan terbina dalam (bahasa arahan) yang membolehkan anda menulis skrip arahan bercabang yang kompleks. Ia adalah bahasa arahan yang membezakan cangkerang yang berbeza antara satu sama lain, dan bahasa yang digunakan oleh pengguna untuk membuat pilihan cangkerang mereka.

Linux ialah OS seperti Unix. Linux pada asalnya dibangunkan oleh Linus Torvalds di Universiti Helsinki (Finland) berdasarkan Minix, sistem UNIX kecil yang dicipta oleh Andry Tanenbaum. Perkembangan awal Linux terutamanya prihatin dengan masalah penukaran tugas mod terlindung untuk 80386. Dan Linus "mula serius memikirkan idea gila tentang cara menjadikan Minix lebih baik daripada dirinya sendiri."

Cangkang arahan sudah wujud dalam sistem UNIX ia adalah "Cangkang Bourne" (Cangkang Bourne atau ringkasnya cangkang). Tidak lama kemudian, sistem UNIX membangunkan cangkang C, yang menggunakan sintaks yang berbeza, agak mengingatkan sintaks bahasa pengaturcaraan C.

Banyak jurubahasa arahan telah dibangunkan untuk Linux. Yang lalai ialah "Bash", dibangunkan dalam berasaskan shell dan dipanggil "New Shell of Bourne" (Bourne Again Shell). Oleh itu, Bash ialah evolusi shell sebelumnya, menambah banyak ciri berguna sebahagiannya terkandung dalam shell C. Memandangkan Bash boleh dianggap sebagai superset sintaks shell lama, sebarang program yang ditulis dalam shell Bourne lama yang baik harus berfungsi dalam Bash.

Walau bagaimanapun, perlu diingatkan bahawa OS Linux bukanlah sistem UNIX, kerana kodnya telah ditulis semula sepenuhnya, pada mulanya oleh Linus, kemudian dengan bantuan ramai pengaturcara dan peminat UNIX dari Internet, mereka yang mempunyai kemahiran dan kebolehan yang cukup untuk berkembang. sistem.

Kernel Linux tidak menggunakan kod daripada UNIX atau mana-mana sumber proprietari lain, dan kebanyakannya program Linux dibangunkan oleh Projek GNU Yayasan Perisian Percuma di Cambridge, Massachusetts. Tetapi pengaturcara di seluruh dunia turut menyumbang kepadanya.

Berikut ialah cangkerang Linux yang paling biasa:

  • Bourne shell - Bourne shell, standard untuk banyak sistem seperti UNIX;
  • bash - Bourne Again shell, "the new Bourne shell" (digunakan secara lalai pada Linux);
  • csh - C shell, C shell: sintaks bahasa arahannya adalah serupa dengan sintaks bahasa C;
  • tcsh - cangkang C kecil, cangkang C minimum;
  • pdksh - domain awam Korn shell, awam Korn shell;
  • sash - cangkerang yang berdiri sendiri, boleh digunakan apabila perpustakaan perisian tidak tersedia.

Senarai semua program shell yang dipasang pada sistem terletak dalam fail /etc/shells.

Cangkang awal untuk setiap pengguna yang dilancarkan untuknya apabila dia log masuk ke sistem dinyatakan dalam fail /etc/passwd. Ia mungkin tidak semestinya bash. Pentadbir secara amnya boleh pengguna tertentu tidak membenarkan log masuk dengan menyatakan /sbin/nologin sebagai "shell" yang akan dimuatkan selepas pendaftaran. Atau tentukan skrip yang direka khas yang membolehkan anda melihat log, sebagai contoh.

Untuk mengedit fail /etc/passwd di Linux ada pasukan khas vipw , yang menyemak ketepatan penyuntingan (arahan hanya tersedia untuk pentadbir).

Kemudian, apabila bekerja dalam shell lalai, anda boleh menukar shell semasa kepada mana-mana shell yang dipasang (lebih tepat, masukkan subshell). Untuk keluar dan kembali ke shell induk, masukkan arahan keluar. Dalam shell awal, arahan ini menamatkan sesi.

Dalam mana-mana shell, anda boleh menjalankan skrip arahan yang terdiri daripada arahan daripada shell lain: baris pertama setiap skrip mengandungi petunjuk shell mana ia harus dilaksanakan, dan shell semasa menjalankan proses anak yang ditentukan untuknya.

Seperti yang saya katakan, secara lalai pengguna baru diberikan shell bash. Ini adalah cangkerang yang hebat, dengan banyak penambahbaikan dan ciri terbaik cangkerang lain, dan saya tidak mengesyorkan menukarnya. Dalam perkara berikut, apabila saya menyebut "shell", saya akan maksudkan bash.

2. Penghuraian baris arahan, fungsi bash yang dipilih

Jurubahasa, setelah menerima baris arahan, melakukan beberapa transformasi padanya, menggunakan fungsi yang berkuasa, iaitu:

  1. Mengembangkan alias untuk panggilan cepat arahan yang paling biasa digunakan.
  2. Mengembangkan aksara meta atau kad bebas (*, ?, [, ], ~, (, )) untuk mencari fail menggunakan corak nama.
  3. Menggantikan pembolehubah yang boleh digunakan oleh shell.
  4. Mengubah hala keluaran satu arahan sebagai input kepada arahan lain menggunakan paip.
  5. Melaksanakan penggabungan perintah.
  6. Melaksanakan arahan jika ia adalah arahan penterjemah terbina dalam, atau memulakan proses jika arahan itu luaran.
  7. Ubah hala input standard/kesimpulan.

Untuk melaksanakan tiga fungsi terakhir, anda perlu menggunakan pengendali khas. Mari lihat semua fungsi yang disenaraikan.

2.1. Nama panggilan

Alias ​​perintah direka bentuk untuk membolehkan arahan shell dimasukkan dengan lebih cekap. Dengan menggunakan alias, perintah hampir semua kerumitan boleh digantikan dengan rentetan sewenang-wenangnya. Untuk melihat senarai alias dan, jika perlu, tambahkan alias baharu padanya, gunakan arahan alias.

Sebagai contoh:

$ export HELLO="Hello from environment! " # ruang mesti dilepaskan dengan petikan

Pembolehubah Persekitaran

Persekitaran ialah satu set pembolehubah yang nilainya boleh mengubah tingkah laku shell.

Apabila shell mula berjalan, ia menetapkan beberapa pembolehubah persekitaran. Nama mereka standard. Program dan skrip boleh meminta nilai mereka dan bukannya cuba memikirkan maklumat yang mereka perlukan sendiri.

Dengan cara ini, penterjemah arahan menentukan pembolehubah persekitaran yang digunakan dalam sesi semasa. Setiap arahan baharu yang dimasukkan sebenarnya berjalan sebagai proses anak proses induk, yang dalam kes ini ialah jurubahasa arahan bash. Pembolehubah persekitaran adalah berbeza daripada yang biasa topik berubah-ubah bahawa ia tersedia untuk kedua-dua proses ibu bapa dan anak. Pengesanan automatik pembolehubah persekitaran berlaku selepas pengesahan pengguna dalam sistem. Program log masuk, jika proses pengesahan berjaya diselesaikan, menentukan, berdasarkan fail /etc/passwd, penterjemah arahan yang akan digunakan dalam sesi pengguna. Selepas mentakrifkan penterjemah arahan, sesi dikonfigurasikan mengikut fail konfigurasi yang dibentangkan di bawah.

Fail konfigurasiPenerangan
/etc/profile

Mentakrifkan pembolehubah persekitaran untuk semua pengguna pada sistem. Fail ini dilaksanakan pada log masuk pertama dan mengandungi pembolehubah persekitaran asas, seperti pembolehubah carian lokasi arahan PATH, pembolehubah nama hos HOSTNAME dan pembolehubah saiz sejarah arahan HISTSIZE. Selain itu, fail ini menjana pembolehubah persekitaran tambahan daripada fail konfigurasi yang terdapat dalam direktori /etc/profile.d.

/etc/bashrc

Dilaksanakan untuk semua pengguna setiap kali bash shell dimulakan. Fail ini mentakrifkan nilai pembolehubah PS1, serta alias arahan tambahan. Alias ​​ialah nama yang dipendekkan, ditakrifkan secara sewenang-wenangnya bagi perintah atau urutan perintah yang membolehkan anda melaksanakan urutan perintah yang kompleks tanpa memasukkannya dari papan kekunci, tetapi dengan memanggilnya dengan memanggil alias yang sepadan. Pembolehubah yang ditakrifkan dalam fail ini boleh ditetapkan semula oleh fail yang ditakrifkan pengguna serupa -/.bashrc, yang mempunyai keutamaan yang lebih tinggi.

-/.bashprofile

Digunakan sebagai fail yang mengandungi tetapan pengguna individu. Melaksanakan hanya sekali apabila pengguna log masuk. Selain itu, fail ini menjalankan fail -/.bashrc

~/.bashrc

Fail ini mengandungi pembolehubah persekitaran dan alias pengguna dipasang. Ia dilaksanakan setiap kali pengguna log masuk atau apabila sesi bash baharu dibuka. Fail ini paling sesuai untuk menentukan pembolehubah dan alias pengguna.

~/.bash_logout

Fail ini dilaksanakan setiap kali anda log keluar atau menamatkan sesi terakhir jurubahasa bash. Secara lalai, fail ini mengandungi arahan untuk mengosongkan skrin terminal.

/etc/inputrc

Fail ini mengandungi perihalan tafsiran pelbagai kombinasi kekunci, dan juga mengandungi gabungan kekunci khas, menekan yang menyebabkan pelaksanaan perintah yang ditentukan.

Pembolehubah persekitaran ialah cara yang agak mudah untuk menyimpan maklumat yang sering digunakan dalam sesi semasa bekerja dengan sistem. Jika perlu, pengguna boleh mencipta hampir mana-mana pembolehubah persekitaran (cuba untuk tidak menukar nilai pembolehubah persekitaran yang sudah digunakan) dan membaca nilainya sepanjang masa bekerja dengan shell arahan. Untuk mencipta pembolehubah persekitaran sementara, anda mesti memasukkan namanya dan menetapkan nilai yang sesuai kepadanya. Sebagai contoh,

eksport AB=/usr/anjing/berjangkit/pembawa cincin/mengisar

DALAM dalam contoh ini Pembolehubah persekitaran sementara AB diberikan laluan ke direktori yang terletak agak "dalam" dalam hierarki direktori sistem fail. Perintah eksport menunjukkan keperluan untuk mengeksport nilai pembolehubah AB ke shell untuk menjadikannya tersedia kepada shell lain yang mungkin dibuka dalam sesi semasa dengan sistem. Sekarang direktori di atas boleh dicapai dengan melaksanakan arahan cd $AB

Satu-satunya kelemahan pembolehubah persekitaran sementara ialah ia dimusnahkan secara automatik apabila sesi semasa dengan sistem tamat. Untuk mencipta pembolehubah persekitaran kekal (berbanding dengan sementara), ia mesti ditambahkan pada fail konfigurasi shell.bashrc.

Untuk menukar fail konfigurasi /etc/profile dan /etc/bashrc, anda mesti menjadi root.

Pengguna biasa boleh mengubah suai fail konfigurasi ~/.bash_profile, ~/.bashrc dan ~/.bash_Iogout yang terdapat dalam direktori rumah mereka. Fail konfigurasi ini boleh dikonfigurasikan untuk menetapkan pembolehubah persekitaran anda menggunakan arahan eksport dan boleh digunakan dalam mana-mana sesi.

Salah satu pembolehubah persekitaran yang paling kerap diubah ialah pembolehubah PATH. Anda juga boleh mengatasi atau melanjutkan pembolehubah persekitaran PATH dalam fail konfigurasi~/.bashrc.

dalam contoh ini, pembolehubah PATH akan mengandungi nilai semasanya serta direktori rumah sebagai laluan carian untuk fail boleh laku.

Untuk perubahan ini digunakan dalam persekitaran shell semasa, anda mesti menjalankan sumber arahan .bashrc

Pembolehubah persekitaran shell yang paling biasa ialah:

  • BASH - Mengandungi laluan penuh Kepada arahan bash(biasanya nilai pembolehubah ini ialah /bin/bash).
  • BASH_VERSION - Nombor versi Bash.
  • DIRSTACK - Tatasusunan yang mengandungi nilai timbunan direktori semasa.
  • EDITOR ialah editor teks lalai.
  • EUID - Pengecam berkesan berangka bagi pengguna semasa.
  • FUNCNAME - nama fungsi semasa dalam skrip.
  • GROUPS - Tatasusunan yang mengandungi senarai kumpulan yang dimiliki oleh pengguna semasa.
  • HISTFILE - Lokasi fail sejarah arahan. Biasanya, sejarah arahan disimpan dalam fail ~/.bash_history.
  • HISTFILESIZE - Bilangan baris arahan yang boleh disimpan dalam fail sejarah. Selepas nombor ini dicapai, baris arahan baharu dimasukkan ke dalam sejarah dengan memadam baris arahan tertua. Secara lalai, saiz senarai arahan yang digunakan baru-baru ini ialah 1000 baris.
  • HOME - Direktori rumah pengguna.
  • HOSTNAME - Nama komputer ini(nod).
  • HOSTTYPE - Jenis komputer.
  • LANG - Bahasa lalai semasa.
  • LC_CTYPE ialah pembolehubah dalaman yang menentukan pengekodan aksara.
  • MAIL - Lokasi fail peti mel E-mel pengguna. Biasanya, ini ialah fail yang terletak dalam direktori /var/spool/mail yang namanya sama dengan nama log masuk pengguna.
  • MAILCHECK - Selang beberapa minit antara semakan mel.
  • OLDPWD - Direktori yang terkini sehingga direktori terakhir diubah suai.
  • OSTYPE - Sistem pengendalian semasa.
  • PATH - Senarai direktori yang dipisahkan dengan titik bertindih untuk mencari fail boleh laku. Urutan nama direktori dicari adalah sangat penting. Apabila melaksanakan arahan, direktori yang disenaraikan dalam pembolehubah ini disemak secara berurutan dari kiri ke kanan. Oleh itu, apabila melaksanakan arahan foo yang terletak dalam direktori /bin dan /usr/bin, arahan yang terletak dalam direktori /bin akan dilaksanakan. Untuk menjalankan arahan foo yang terletak dalam direktori /usr/bin dalam situasi yang sama, anda mesti sama ada menentukan laluan penuh kepada arahan ini atau menukar susunan nama direktori dalam pembolehubah persekitaran PATH. Direktori carian semasa mesti dinyatakan secara eksplisit ("."); Mencari program permulaan dalam direktori semasa berpotensi berbahaya kerana kemungkinan pelaksanaan yang tidak disengajakan program berbahaya, jadi pembolehubah PATH biasanya dimulakan tanpa "." Untuk menambah laluan kepada arahan atau skrip shell anda sendiri pada pembolehubah PATH, anda harus meletakkannya dalam subdirektori /bin direktori rumah anda, yang akan ditambahkan secara automatik pada pembolehubah PATH. Tidak semua arahan boleh laku terletak dalam direktori yang disenaraikan dalam pembolehubah persekitaran PATH. Sesetengah arahan dibina terus ke dalam shell. Perintah lain boleh ditakrifkan semula menggunakan alias, membenarkan arahan dengan parameter hampir sebarang kerumitan (dari segi sintaks) digantikan dengan satu nama mudah. Di samping itu, adalah mungkin untuk mencipta fungsi yang menyimpan keseluruhan urutan arahan.
  • PPID Nombor pengenalan proses yang sepadan dengan arahan yang melancarkan shell semasa (contohnya, proses yang mencipta shell).
  • PS1, PS2, PS3, PS4 - Pembolehubah yang menentukan jenis gesaan shell.

    Pembolehubah PS1 dan PS2 menetapkan gesaan shell primer dan sekunder.

    Gesaan kedua (PS2) muncul jika anda menekan Masukkan kunci, tanpa menyelesaikan input arahan secara sintaksis.

    Pembolehubah ini mengandungi gesaan kecil yang berlaku apabila penyuntingan teks berbilang baris atau entri arahan tidak lengkap. Secara lalai ia dilambangkan sebagai >.

    PS3. Pembolehubah ini mengandungi kehadiran segera dalam pilih pernyataan, digunakan untuk mengatur menu konsol interaktif. Secara lalai, gesaan PS3 dalam pernyataan pilih ialah #?.

    PS4. Pembolehubah ini digunakan terutamanya apabila menyahpepijat skrip shell dan secara lalai mengandungi nilai rentetan "++".

    Sebagai contoh, menjalankan perintah get maklumat DNS:

    # nslookup >

  • PWD - Direktori kerja semasa pengguna. Nilai ini berubah setiap kali anda menukar ke direktori lain menggunakan arahan cd.
  • SECONDS - masa berjalan skrip (dalam saat).
  • SHELL - Jurubahasa arahan semasa.
  • SHELLOPTS - Senarai pilihan penterjemah yang didayakan.
  • SHLVL - Bilangan kali salinan baharu penterjemah arahan dilancarkan.
  • UID - Pengecam berangka pengguna semasa.
  • USER - Nama pengguna semasa.
  • $# - Jumlah bilangan parameter yang dihantar ke skrip.
  • $* - Semua hujah tidak dihantar ke skrip (output ke baris).
  • $@ - Sama seperti yang sebelumnya, tetapi parameter dipaparkan dalam lajur.
  • $! - PID proses terakhir berjalan di latar belakang.
  • $$ - PID skrip itu sendiri.

Untuk melihat nilai semua pembolehubah dalam sesi semasa, kedua-dua yang anda tentukan dan dalam persekitaran, keluarkan arahan yang ditetapkan tanpa parameter atau env printenv .

Anda boleh mengalih keluar pembolehubah dengan arahan yang tidak ditetapkan.

2.4. Penggantian dan organisasi interaksi antara arahan

Menggantikan nilai pembolehubah persekitaran sesi semasa dengan sistem boleh dicapai dengan menggunakan metacharacter tanda dolar ($). Akibatnya, shell secara automatik menggantikan nama pembolehubah dengan nilainya. Sebagai contoh,

Menggantikan hasil ungkapan aritmetik

Terdapat dua bentuk sintaksis untuk menggantikan hasil ungkapan aritmetik: $[ungkapan] dan $((ungkapan)). Sebagai contoh,

echo "Saya berumur $ tahun."

Penggantian Perintah

Penggantian arahan membolehkan anda menggunakan output satu arahan pada baris arahan yang mengandungi arahan lain. Dua format penggantian alternatif boleh digunakan: $(command) atau `command` (single backticcks). Sebagai contoh,

Memperluas watak tilde

Aksara tilde (~) membolehkan anda memasukkan nama direktori dengan cepat.

~ Nama direktori rumah pengguna ~/subdirektori Nama salah satu subdirektori dalam direktori rumah pengguna ~+ Nama direktori semasa ~- Nama direktori sebelumnya

Mengembangkan pendakap kerinting

Menggunakan pendakap kerinting, anda boleh memasukkan satu arahan dan bukannya beberapa jenis yang sama. Tanda kurung mesti mengandungi senarai, unsur-unsurnya mesti dipisahkan dengan koma. Jurubahasa membaca elemen satu demi satu dan membentuk arahan berasingan dengan setiap elemen, yang kemudiannya dilaksanakan. Sebagai contoh, arahan

perbelanjaan mkdir/(Jan,Feb,Mac) bersamaan dengan perbelanjaan mkdir/perbelanjaan mkdir Jan/perbelanjaan mkdir Feb/Mac

Saluran

Metacharacter saluran (|) menunjukkan keperluan untuk mengatur interaksi antara arahan dengan menggunakan hasil pelaksanaan (output) arahan lain sebagai data input (input) arahan. Dengan kata lain, menggunakan saluran (saluran paip), hasil arahan pertama boleh dihantar sebagai input kepada arahan kedua. Sebagai contoh,

cat /etc/passwd | menyusun | kepala -3

Urutan dan kumpulan arahan

Menggunakan urutan dan kumpulan arahan membolehkan anda memasukkan berbilang arahan pada satu baris.

command1;command2 Jalankan arahan 1 dahulu, kemudian perintah 2 (command1;command2) Jalankan salinan berasingan penterjemah untuk melaksanakan perintah 1 dan 2 secara berurutan ( command1; command2) Laksanakan arahan 1 dan 2 secara berurutan dalam penterjemah semasa command1 && command2 Jalankan arahan 2 hanya jika arahan 1 berjaya dilaksanakan command1 || perintah2 Jalankan arahan 2 hanya jika arahan 1 gagal

Hasil daripada sebarang pelaksanaan arahan (iaitu, hasil daripada penamatan proses yang sepadan) ialah kod keluar. Penyiapan yang berjaya mempunyai kod 0, kod penyiapan yang tidak berjaya 1. Adakah nilai kod penyiapan diberikan kepada pembolehubah yang dipratentukan? (tanda soal). Sebagai contoh, echo $?

Melaksanakan semula arahan

Cangkang mempunyai kemudahan yang membolehkan anda mengingat kembali arahan sebelumnya dan mengeditnya. Sejarah arahan Shell ialah senarai arahan yang digunakan sebelum ini. Senarai ini boleh dilihat menggunakan arahan sejarah.

Selepas anda memasukkan baris arahan, shell meletakkannya dalam sejarah arahan. Senarai arahan yang digunakan sebelum ini disimpan dalam fail, yang membolehkan anda memanggil mana-mana baris arahan yang dikehendaki daripadanya pada bila-bila masa untuk pelaksanaan semula. Selepas memanggil baris arahan sekali lagi, ia boleh diedit. Sejarah arahan disimpan dalam fail .bash_history, yang terletak dalam direktori rumah pengguna. Secara lalai, shell arahan boleh "mengingat" sehingga 1000 baris arahan.

Untuk melihat senarai arahan yang digunakan sebelum ini, jalankan arahan sejarah. Ia boleh digunakan sama ada tanpa parameter atau dengan parameter yang membolehkan anda menentukan bilangan arahan yang akan dipaparkan. Setiap baris arahan mempunyai nombor sendiri dalam sejarah arahan.

Sintaks pengembangan sejarah: !n Jalankan nombor arahan yang diberikan!! Laksanakan perintah sebelumnya!rentetan Laksanakan perintah terkini bermula dengan rentetan!?rentetan yang diberikan? Jalankan arahan terkini yang mengandungi rentetan yang diberikan

Daripada melaksanakan terus baris arahan yang terkandung dalam sejarah arahan, anda boleh memanggilnya untuk pengeditan kemudian. Gunakan kekunci kursor "anak panah atas" dan "anak panah bawah" untuk melihat sejarah arahan langkah demi langkah dan pilih baris arahan yang diperlukan.

3. Bash terbina dalam

Senarai arahan terbina dalam bash shell boleh diperolehi menggunakan arahan bantuan atau ditemui pada halaman manual dalam bahagian SHELL BUILTIN COMMANDS.

Berikut ialah beberapa arahan terbina dalam yang berguna:

  • echo [arguments] - Cetak hujah ke skrin.
  • enable - Menyebabkan shell melaksanakan fail boleh laku dengan nama yang sama dan bukannya arahan terbina. Berguna jika anda mempunyai skrip anda sendiri bernama seperti echo.
  • eval [argumen] - Membina arahan dengan cepat daripada hujah yang ditentukan dan menghantarnya untuk dilaksanakan.
  • biarkan - Nilaikan ungkapan.
  • - Baca dan laksanakan arahan yang terkandung dalam fail. Digunakan untuk menentukan pembolehubah pengguna. dan fungsi.
  • nama asas - Serlahkan nama tempatan.
  • expr - Penilaian ekspresi.
  • baca - Masukkan nilai pembolehubah.
  • shift - Alihkan senarai parameter.
  • ujian - Uji keadaan.
Perintah terbina dalam lain berfungsi sebagai arahan dalam bahasa arahan bash.

Institut Teknologi Elektronik Negeri Moscow

(Universiti Teknikal)

Jabatan Elektronik Bersepadu dan Sistem Mikro

PRAKTIKUM MAKMAL

SECARA KURSUS:

SISTEM OPERASILINUX

Disusun oleh: penolong jabatan. IEMS Kozlov A.V.

Moscow, 2007

Bengkel makmal bertujuan terutamanya untuk sarjana kejuruteraan dan teknologi yang belajar dalam program Synopsys tahun pertama ke arah 210100.68, untuk menguasai sistem pengendalian Red Hat Enterprise Linux (RHEL) 4.0. Ia juga direka bentuk untuk pelajar FreeScale dan semua pengguna yang mempunyai pengalaman Linux peringkat permulaan atau tiada yang ingin mempelajari persekitaran arahan Linux dan aplikasi teras yang pengguna perlukan apabila bekerja dengan sistem reka bentuk bantuan komputer.

Bengkel ini terdiri daripada lapan kerja makmal yang membolehkan pengguna menguasai arahan penterjemah arahan dengan berkesan, serta secara beransur-ansur belajar menulis fail - skrip Shell, Gawk, Perl dan Tcl. Setiap kerja makmal merangkumi bahagian berikut: tajuk, tugas dan tujuan kerja; maklumat teori dengan soalan kawalan; contoh kerja makmal; prosedur untuk melaksanakan kerja makmal; tugasan makmal dan borang laporan kerja. Sintaks untuk menulis arahan dalam shell, bersama-sama dengan pilihan, parameter, tindakan, ungkapan dan laluan objek, direka bentuk untuk persekitaran arahan BASH. Senarai rujukan disediakan di akhir bengkel makmal.

INSTITUT KEJURUTERAAN ELEKTRONIK NEGERI MOSCOW (UNIVERSITI TEKNIKAL)

KERJA MAKMAL No 1

DALAM KURSUS "SISTEM OPERASI LINUX"

Mempelajari arahan bash pada Linux

PENERANGAN SELESAI:

KOZLOV A.V.

MOSCOW 2007

Kerja makmal No. 1 Mempelajari arahan bash pada Linux

Matlamat kerja : menggunakan penterjemah arahan BASH, kuasai kemahiran bekerja dengan arahan dalam sistem pengendalian Red Hat Enterprise Linux 4.0.

Tempoh kerja - 4 jam

Maklumat teori

sistem operasi Linux pada asalnya dibangunkan sebagai platform percuma, fleksibel, kaya ciri, berbilang pengguna, berprestasi tinggi yang direka untuk melayani dan menyelesaikan masalah saintis di seluruh dunia. Oleh kerana "fokus saintifik", platform sedemikian pada mulanya tidak mempunyai antara muka grafik yang canggih, yang digunakan secara meluas dalam menyelesaikan masalah rumah tangga - permainan komputer, Internet, program interaktif untuk menghubungkan pengguna, serta untuk menyelesaikan masalah pejabat - bekerja dengan sistem pangkalan data, membina graf dan histogram. Selalunya, kerja saintis dengan sistem pengendalian Linux dikurangkan hanya kepada interaksi biasa pengguna (seseorang yang bekerja pada komputer) dengan konsol (tetingkap terminal pada skrin monitor dengan maklumat teks). Untuk memahami arahan yang dimasukkan oleh pengguna dalam Linux, jurubahasa arahan telah dibangunkan, yang merupakan penterjemah perintah yang boleh difahami oleh manusia kepada isyarat kawalan yang boleh difahami oleh kernel sistem pengendalian. Tugas utama sistem pengendalian adalah untuk mengantara penghantaran arahan daripada seseorang ke komputer. Dan, walaupun pada hakikatnya hari ini sistem pengendalian Linux digunakan di mana-mana bukan sahaja di institut, pusat Reka bentuk, pusat komputer, tetapi juga untuk tujuan rumah dan pejabat, konsol (tingkap terminal) masih digunakan secara meluas, dan kepada ramai mereka kelihatan lebih banyak. mudah berbanding bekerja dengan tetikus dan ikon (ikon dalam Linux) dalam persekitaran grafik.

Jurubahasa arahan ialah antara muka interaktif rentetan dengan gesaan baris arahan antara pengguna dan sistem pengendalian. Pengguna memasukkan arahan pada baris arahan, jurubahasa arahan "menerima" mereka dan menghantarnya sebagai arahan kepada sistem operasi untuk pelaksanaan. Jurubahasa arahan membolehkan anda bukan sahaja memasukkan arahan, tetapi juga untuk mengalihkan input dan output baris arahan, serta melaksanakan operasi dalam latar belakang, memberi pengguna peluang untuk melakukan tugas lain pada masa ini.

Banyak jurubahasa arahan telah dibangunkan untuk Linux: Bourne Again shell (BASH), Public Domain shell (PDKSH), TCSH penterjemah dan Z-shell. Walaupun BASH ialah penterjemah lalai, anda boleh menggunakan mana-mana persekitaran lain. Untuk kemudahan kerja seharian, hanya seorang jurubahasa arahan sudah memadai. Red Hal Linux merangkumi semua cengkerang utama, tetapi cangkerang BASH dipasang dan digunakan secara lalai. Ini bermakna sistem pengendalian ini menggunakan BASH untuk berfungsi pada baris arahan melainkan dinyatakan sebaliknya.

Barisan arahan. Antara Muka Perintah rentetan Linux terdiri daripada satu baris di mana arahan dengan pilihan dan parameter dimasukkan. Dalam shell BASH, permulaan baris arahan biasanya ditandakan jemputan dalam bentuk tanda dolar ($); Cangkerang Linux lain mungkin menggunakan bentuk gesaan yang berbeza. Setelah digesa, pengguna boleh memasukkan sama ada satu arahan atau arahan dengan pilihan dan parameter. Jika pengguna tidak mempunyai saiz yang mencukupi untuk command prompt, maka adalah mungkin untuk mengehadkannya dengan aksara "/". Perintah ditaip menggunakan papan kekunci dan dimasukkan menggunakan kekunci. Sebagai contoh, untuk output tarikh sistem dan masa sistem pengguna boleh menggunakan arahan Tarikh .

$tarikh

Jum 8 Jun 15:42:35 MSD 2007

Atau, sebagai contoh, untuk memaparkan kalendar dengan bulan semasa, gunakan arahan cal.

$cal

Julai 2007

Su Mo Tu We Th Fr Sa

1 2 3 4 5 6 7

8 9 10 11 12 13 14

15 16 17 18 19 20 21

22 23 24 25 26 27 28

29 30 31

Antara muka shell utama ialah antara muka baris arahan yang mentafsir perintah yang dimasukkan dan menghantarnya ke sistem. Perintah yang dimasukkan pada baris arahan mesti mengikut peraturan sintaks tertentu. Peraturan am untuk memasukkan arahan ialah: perkataan pertama yang dimasukkan pada baris arahan hendaklah nama arahan; Perkataan berikut ialah pilihan arahan dan parameter. Setiap perkataan pada baris arahan dipisahkan daripada perkataan lain oleh satu atau lebih ruang atau tab.

Pilihan - ialah kod tunggal atau berbilang huruf yang didahului oleh tanda sempang yang mengubah suai jenis tindakan yang dilakukan oleh arahan. Sebagai contoh arahan dengan pilihan, kami memberikan arahan ls . Apabila digunakan tanpa pilihan, arahan ini menghasilkan senarai semua fail dan direktori yang terkandung dalam direktori semasa. Selain daripada nama fail dengan dan tanpa sambungan, tiada apa-apa lagi dalam senarai ini. Sebagai contoh, apabila anda memasukkan arahan ls dengan pilihan - l pasukan ls menghasilkan output maklumat baris demi baris untuk setiap fail, iaitu saiz, tarikh dan masa pengubahsuaian terakhir. Dalam contoh berikut, pengguna memasukkan arahan ls dengan pilihan - l. Tanda sempang sebelum pilihan diperlukan. Beginilah cara sistem Linux membezakan pilihan daripada parameter.

$ ls -l

jumlah 28

Pilihan -a membolehkan anda memaparkan semua fail dalam direktori semasa, termasuk yang dipanggil fail tersembunyi. Fail konfigurasi sering disembunyikan. Nama fail tersembunyi sentiasa bermula dengan titik, itulah sebabnya ia sering dipanggil dipahatfail. Dalam kebanyakan kes, pilihan digabungkan. Dalam kes ini, satu tanda sempang biasa diletakkan sebelum kumpulan pilihan. Sebagai contoh, pilihan -al memaparkan maklumat tentang semua fail yang terkandung dalam direktori semasa, termasuk fail tersembunyi. Fail ttt baharu dipaparkan.

$ ls -al

jumlah 40

Parameter ialah perkataan yang dimasukkan pada baris arahan selepas pilihan. Arahan pengurusan fail biasanya menggunakan nama fail sebagai parameter. Contohnya, jika anda hanya memerlukan maklumat tentang satu fail, gauss.plx, nyatakan namanya selepas pilihan -l:

$ ls -l gauss.plx

Kerja pengguna bermula dalam persekitaran shell BASH, yang dimuatkan secara lalai. Ia mempunyai keupayaan menyunting baris arahan khas yang boleh menjadi sangat berguna apabila mempelajari OS Linux. Sebelum melaksanakan arahan, anda boleh mengeditnya dengan menggerakkan kursor merentasi baris arahan dan memasukkan atau memadam aksara. Ini amat berguna apabila bekerja dengan pasukan yang sangat kompleks. Operasi penyuntingan akan membantu membetulkan ralat semasa menaip arahan. Menggunakan |up| Anda boleh memaparkan arahan yang baru anda laksanakan. Anda kemudiannya boleh menjalankan perintah itu semula atau, selepas mengeditnya, jalankan arahan yang diubah suai. Ciri ini sangat mudah apabila mengulang operasi tertentu beberapa kali, contohnya, semasa mengedit satu dan fail yang sama.

Tujuan penterjemah arahan adalah untuk bekerja dengan fail: mencipta, menyalin, menamakan semula, memindahkan, memadam dan mengubah suai data. Walaupun pengguna tidak bekerja secara langsung dengan konsol, tetapi menggunakan aplikasi grafik, operasi fail ini berlaku secara bebas daripadanya.

Penciptaan fail dan direktori. Di Linux, fail dan direktori ialah dua jenis data, jadi menciptanya dilakukan menggunakan pasukan yang berbeza. Untuk membuat direktori (direktori, folder), gunakan arahan yang dikhaskan dalam Linux mkdir ("buat direktori" - buat direktori). Dalam contoh berikut, kami akan mencipta direktori baharu dalam direktori semasa. Untuk melakukan ini, gunakan arahan mkdir dan nama direktori baharu, dipisahkan oleh ruang.

$ mkdir baru

Direktori telah dibuat. Walau bagaimanapun, kadangkala anda perlu membuat keseluruhan struktur bersarang, apabila di dalam folder yang telah dibuat harus ada satu lagi, dan di dalamnya satu lagi, dan seterusnya. Untuk tujuan ini, pilihan lampiran –p digunakan sebagai sebahagian daripada arahan mkdir. Contoh berikut menggunakan satu arahan untuk mencipta subfolder: folder pertama 1, di dalamnya folder 2, dan di dalamnya folder 3.

$ mkdir -p 1/2/3

Anda boleh mencipta fail menggunakan arahan atau menggunakan editor teks Linux terbina dalam dan luaran, seperti kedit, nedit, gedit dan sebagainya. Walau bagaimanapun, editor yang disenaraikan memerlukan operasi cangkerang grafik, yang bermaksud pengendalian sistem grafik. Jika anda tidak memilikinya, anda boleh, contohnya, menggunakan editor teks VIM atau analog yang tidak memerlukan pengendalian sistem grafik. Anda juga boleh membuat fail menggunakan pengurus fail teks seperti Midnight Commander (mc command). Pengguna (pereka bentuk) sering memerlukan fail teks simpan maklumat teks yang mengiringi proses pengiraan litar bersepadu atau, sebagai contoh, parameter elektrik peranti semikonduktor simulasi. Ia juga perlu untuk memproses (memadam, menambah, mengisih, membahagi) data yang diterima. Tindakan sedemikian juga dijalankan menggunakan arahan Linux. Salah satu arahan paling mudah untuk mencipta fail teks ialah arahan kucing.

Arahan kucing tidak mempunyai antara muka sendiri, jadi selepas memasukkan arahan kucing dengan simbol ubah hala (lihat di bawah) dan nama fail baharu, anda boleh segera menulis maklumat teks dengan bergerak dari baris ke baris menggunakan kekunci Enter. Keluar dari editor kucing (penapis) dilakukan menggunakan kombinasi kekunci Ctrl-D. Di bawah ialah contoh mencipta fail menggunakan arahan kucing.

$ kucing > baru _ fail

Fail yang terhasil dilihat menggunakan arahan cat dan nama fail yang dipisahkan oleh ruang.

$ kucing baru _ fail

Atau, sebagai contoh, menyimpan maklumat teks daripada konsol apabila arahan dijalankan ls dengan pilihan -a untuk memfailkan r, anda boleh menggunakan fungsi pengalihan data (lihat di bawah) dan arahan tee dengan pilihan -a.

$ ls -l | tee-a r

Menyalin fail dan direktori. Menyalin fail dan direktori dijalankan menggunakan arahan cp, selepas itu objek salinan ditunjukkan dengan laluan relatif atau mutlak, dipisahkan oleh ruang, dan destinasi baharu salinan objek ini, dipisahkan oleh ruang. Contoh berikut menyalin fail gauss.plx daripada direktori semasa ke subdirektori 1, yang terletak dalam direktori semasa.

$ cp gauss . plx 1

Jika anda mempunyai hak akses kepada objek Linux (makmal. kerja No. 2), anda juga boleh menyalin fail ini kepada pengguna Alex, yang direktori kerjanya mempunyai laluan mutlak berikut /home/alex, menggunakan arahan berikut.

$ cp gauss . plx / rumah / alex

Jika fail dengan nama yang sama sudah wujud di destinasi semasa menyalin fail, ia akan ditimpa. Ini boleh mengakibatkan kehilangan data yang diperlukan. Untuk mengelakkan ini, gunakan arahan cp dengan pilihan –i, dan Linux akan bertanya kepada pengguna setiap kali jika dia benar-benar mahu menulis ganti fail. Pandangan baharu bagi arahan terakhir adalah seperti berikut.

$ cp -i gauss.plx /home/alex

Direktori disalin dengan cara yang sama seperti fail. Walau bagaimanapun, apabila menyalin direktori dengan fail dan subdirektori, pilihan –R digunakan sebagai sebahagian daripada arahan cp. Berada dalam direktori /home/antonk/111, salin direktori laba2 ke tahap yang lebih tinggi, i.e. ke direktori /home/antonk. Dua titik menunjukkan tahap hierarki satu langkah lebih tinggi.

$ cp - R laba 2 ..

Menamakan semula dan memindahkan fail dan direktori. Menamakan semula fail dan direktori dijalankan menggunakan perintah mv, selepas itu objek yang akan dinamakan semula ditunjukkan, dipisahkan oleh ruang, dan nama baharu objek, dipisahkan oleh ruang. Penamaan semula direktori berlaku dengan cara yang sama seperti fail. Mari namakan semula fail gauss.plx kepada fail baharu yang dipanggil gauss2.plx. Jika fail dengan nama yang sama dengan nama baharu fail yang dinamakan semula sudah wujud dalam direktori ini, ia akan ditimpa dengan kandungan fail yang dinamakan semula. Untuk mengelakkan ini, gunakan juga pilihan –i. By the way, di Linux penggunaan sambungan tidak diperlukan. Ia hanya digunakan untuk mengaitkan fail dan program boleh laku.

$ mv –i gauss.plx gauss2.plx

Memadam fail dan direktori. Mengalih keluar fail dan direktori dalam Linux dilakukan menggunakan arahan rm, di mana nama fail yang akan dipadam ditunjukkan, dipisahkan oleh ruang. !!! Berhati-hati apabila bekerja dengan arahan ini, anda boleh memadamkan data yang diperlukan. Sama seperti arahan cp, gunakan pilihan –i bersama-sama dengan arahan rm. Perintah dengan pilihan ini akan meminta pengesahan untuk memadam setiap fail dan direktori. Dalam contoh berikut kami akan memadam fail gauss 2. plx , meminta pengesahan untuk pemadaman .

rm –saya gauss2.plx

Kad bebas. Kadangkala apabila bekerja dengan penterjemah arahan anda perlu mencari atau memadankan fail menggunakan corak. Sebagai contoh, anda hanya tahu huruf pertama nama fail dan ingin mencari semua fail dalam direktori kerja yang bermula dengan huruf itu. Atau anda tahu urutan beberapa huruf dalam nama atau sambungan fail dan anda perlu mencarinya di antara beberapa ratus fail lain. Dalam kes ini, anda perlu menggunakan aksara khas Linux. Jurubahasa arahan menggunakan siri watak istimewa, dipanggil kad bebas, yang boleh digunakan untuk mencari fail, memadankannya dan membuat senarai nama fail. Aksara ini ialah asterisk, tanda soal dan kurungan segi empat sama (*, ?, ). Setelah menerima nama fail separa, jurubahasa arahan menggunakan aksara ini sebagai templat untuk mencari dan menjana senarai nama fail yang dikesan. Parameter dengan nama fail yang tidak layak digantikan dengan senarai nama fail yang sepadan. Senarai nama ini boleh digunakan sebagai parameter dalam arahan yang beroperasi pada berbilang fail (contohnya, ls). Kad bebas penterjemah arahan disenaraikan dalam Jadual. 1.

Jadual 1. Watak khas cangkerang

Simbol biasa

Tujuan

Mengasingkan arahan pada satu baris arahan

"pasukan"

Melaksanakan perintah

Perbandingan dengan kelas kemungkinan aksara dalam nama fail

Menetapkan watak seterusnya sebagai istimewa. Digunakan untuk menunjukkan aksara kawalan

Menyalurkan output standard bagi satu arahan sebagai input untuk arahan lain

Menjalankan arahan di latar belakang

Perintah untuk bekerja dengan senarai arahan yang dimasukkan sebelum ini

Kad bebas

Keputusan permohonan

Memadankan mana-mana set aksara dalam nama fail

Padan dengan mana-mana watak yang berasingan dalam nama fail

Simbol ubah hala

Keputusan permohonan

Ubah hala keluaran standard ke fail atau peranti. Dalam kes ini, jika fail tidak wujud, ia dicipta, tetapi jika fail wujud, ia akan ditulis ganti

Tanda seru menyebabkan fail ditimpa jika wujud. Simbol ini mengatasi pilihan yang menghalang penulisan ganti. fail sedia ada

Mengubah hala input standard daripada fail atau peranti kepada program

Mengubah hala output standard ke fail atau peranti, menambahkan output ke penghujung fail

Simbol ubah hala

Keputusan menggunakan output mesej ralat standard

Ubah hala dan tambahkan output ralat standard pada fail atau peranti

Ubah hala keluaran ralat standard kepada input standard

Ubah hala output ralat standard ke fail atau peranti

Paipkan output ralat standard ke input arahan lain

Sebagai contoh, aksara asterisk (*) boleh digunakan untuk merujuk kepada fail yang namanya bermula atau berakhir dengan gabungan aksara tertentu. Contoh menunjukkan cara menggunakan aksara asterisk (*) dalam sebarang gabungan aksara.

$ls

docl doc2 document docs mydoc isnin selasa

Memaparkan senarai lengkap fail dalam direktori kerja.

$ ls doc*

docl doc2 dokumen docs

Contoh ini menunjukkan cara kami menggunakan aksara asterisk untuk "menapis keluar" nama fail yang tidak bermula dengan gabungan huruf "doc". Hanya nama fail yang mengandungi gabungan "doc" dipaparkan. Dalam kes ini, fail yang selebihnya tidak dipadamkan hanya tidak dipaparkan kepada pengguna.

$ ls *hari

isnin t uesday

Di sini kami telah memaparkan nama fail yang berakhir dengan gabungan "hari".

$ ls [ mt ] * d *

isnin hari selasa

Dan di sini kami telah memaparkan nama fail yang watak pertamanya ialah huruf "m" atau "t", aksara berikutnya adalah sewenang-wenangnya, kemudian huruf "d" dan sekali lagi aksara sewenang-wenangnya.

Berhati-hati apabila menggunakan asterisk dengan arahan rm - ia boleh mengakibatkan kehilangan data anda. Perintah berikut memadam semua kandungan folder semasa.

rm *

$ ls *hari

doc doc2 docs

Tanda soal (?) menandakan hanya satu aksara yang tidak ditentukan dalam nama fail.