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 biasa | Penerangan |
---|---|
G | Bergerak ke hujung fail |
g | Bergerak ke permulaan fail |
:50 | Bergerak ke baris 50 fail |
q | Keluar kurang |
/ istilah carian | Cari rentetan yang sepadan dengan 'istilah carian' di bawah talian semasa |
/ | |
?istilah carian | Mencari baris yang sepadan dengan 'istilah carian' di atas baris semasa |
? | Beralih ke hasil carian sepadan seterusnya |
naik | Bergerak ke atas satu baris |
turun | Menggerakkan satu baris ke bawah |
pageup | Bergerak ke atas satu halaman |
halaman bawah | Mengalihkan 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.txtPenghantar
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 > .
Nama | Deskriptor | Penerangan |
---|---|---|
stdin | 0 | Input standard |
stdout | 1 | Keluaran Standard |
stderr | 2 | 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 Ctrl–Alt–F1 atau Ctrl–Alt–F2 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/bashJika 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:
\$ bashApa 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 Ctrl–D, 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 /usrKemudian kita boleh pergi ke /usr/local/bin menggunakan laluan relatif
\$ cd tempatan/bin \$ pwd/usr/local/binPenggunaan ".."
Laluan relatif boleh mengandungi satu atau lebih direktori «..» . ".." menunjukkan direktori induk direktori kerja kami. Contoh:
\$ pwd/usr/local/bin\$ cd.. \$ pwd/usr/localSeperti 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/shareContoh 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/../binDirektori 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.
\$ ./myprogDalam 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
\$ CDTanpa 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.txtWalau 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.txtarahan 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 srcJika 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 sslSenarai 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/tmpLajur 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/binSenarai 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 tmpApakah 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/localSeperti 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/localContoh 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 toePerintah 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/fulAnda boleh memudahkan operasi ini dengan menambah pilihan '-p' kepada arahan mkdir. Pilihan ini membolehkan anda membuat struktur direktori bersarang:
\$ mkdir -p mudah/sebagai/paiUntuk 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 copymePasukan 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 pertamaUntuk menulis baris pada fail kami, mari kita ubah hala output arahan kepadanya bergema:
\$ echo "firstfile" > copymeTanda > (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 copymekucing dan cp
Untuk mengeluarkan kandungan fail ke terminal, gunakan arahan kucing:
\$ copyme kucing fail pertamaSekarang 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 copyedmeKita 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 sayamv
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 sayaNombor 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/userFail 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.txtJika 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:
- Mengembangkan alias untuk panggilan cepat arahan yang paling biasa digunakan.
- Mengembangkan aksara meta atau kad bebas (*, ?, [, ], ~, (, )) untuk mencari fail menggunakan corak nama.
- Menggantikan pembolehubah yang boleh digunakan oleh shell.
- Mengubah hala keluaran satu arahan sebagai input kepada arahan lain menggunakan paip.
- Melaksanakan penggabungan perintah.
- Melaksanakan arahan jika ia adalah arahan penterjemah terbina dalam, atau memulakan proses jika arahan itu luaran.
- 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 konfigurasi | Penerangan |
---|---|
/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.
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.