“Shell” buýruklarynyň dürli klassifikasiýalaryna we olaryň Linux-da ulanylyşyna düşünmek
Linux ulgamyňyza doly gözegçilik etmek barada aýdylanda, buýruk setiriniň interfeýsine (CLI) hiç zat ýakynlaşmaýar. Linux güýç ulanyjysy bolmak üçin gabyk buýruklarynyň dürli görnüşlerine we terminaldan ulanmagyň degişli usullaryna düşünmeli.
Linux-da buýruklaryň birnäçe görnüşi bar we täze Linux ulanyjysy üçin dürli buýruklaryň manysyny bilmek netijeli we takyk ulanmaga mümkinçilik berýär. Şonuň üçin bu makalada Linux-daky gabyk buýruklarynyň dürli klassifikasiýalaryna geçeris.
Bellemeli möhüm bir zat, buýruk setiriniň interfeýsi gabykdan tapawutlanýar, diňe gabyga girmek üçin serişdeleri üpjün edýär. Programmirläp bolýan gabyk, soňra buýruklary ulanyp, ýadro bilen aragatnaşyk saklamaga mümkinçilik berýär.
Linux buýruklarynyň dürli klassifikasiýalary aşakdaky klassifikasiýalara degişlidir:
1. Programmanyň ýerine ýetirilişi (Faýl ulgamynyň buýruklary)
Buýruk işledeniňizde, Linux şol buýrugyň ýerine ýetirilmegi üçin çepden saga PATH daşky gurşaw üýtgeýjisinde saklanýan kataloglary gözleýär.
Kataloglary PATH
aşakdaky ýaly görüp bilersiňiz:
$ echo $PATH /home/aaronkilik/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Aboveokardaky tertipde ilki bilen /home/aaronkilik/bin
katalogy gözlener, soň bolsa /usr/local/sbin
we ş.m. gözlegde buýruk möhümdir prosesi.
Faýl ulgamy buýruklarynyň mysallary /usr/bin
katalogynda:
$ ll /bin/
total 16284 drwxr-xr-x 2 root root 4096 Jul 31 16:30 ./ drwxr-xr-x 23 root root 4096 Jul 31 16:29 ../ -rwxr-xr-x 1 root root 6456 Apr 14 18:53 archdetect* -rwxr-xr-x 1 root root 1037440 May 17 16:15 bash* -rwxr-xr-x 1 root root 520992 Jan 20 2016 btrfs* -rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-calc-size* lrwxrwxrwx 1 root root 5 Jul 31 16:19 btrfsck -> btrfs* -rwxr-xr-x 1 root root 278376 Jan 20 2016 btrfs-convert* -rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-debug-tree* -rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-find-root* -rwxr-xr-x 1 root root 270136 Jan 20 2016 btrfs-image* -rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-map-logical* -rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-select-super* -rwxr-xr-x 1 root root 253816 Jan 20 2016 btrfs-show-super* -rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfstune* -rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-zero-log* -rwxr-xr-x 1 root root 31288 May 20 2015 bunzip2* -rwxr-xr-x 1 root root 1964536 Aug 19 2015 busybox* -rwxr-xr-x 1 root root 31288 May 20 2015 bzcat* lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzcmp -> bzdiff* -rwxr-xr-x 1 root root 2140 May 20 2015 bzdiff* lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzegrep -> bzgrep* -rwxr-xr-x 1 root root 4877 May 20 2015 bzexe* lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzfgrep -> bzgrep* -rwxr-xr-x 1 root root 3642 May 20 2015 bzgrep*
2. Linux lakamlary
Bular ulanyjy kesgitlän buýruklar, lakamly gabyň içindäki buýrugy ulanyp döredilýär we käbir opsiýalar we argumentler bilen beýleki gabyk buýruklaryny öz içine alýar. Pikirler, uzyn buýruklar üçin esasan täze we gysga atlary ulanmak.
Lakam döretmek üçin sintaksis aşakdaky ýaly:
$ alias newcommand='command -options'
Ulgamyňyzdaky ähli lakamlary sanamak üçin aşakdaky buýrugy beriň:
$ alias -p alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto'
Linux-da täze lakam döretmek üçin aşakdaky käbir mysallara geçiň.
$ alias update='sudo apt update' $ alias upgrade='sudo apt dist-upgrade' $ alias -p | grep 'up'
Şeýle-de bolsa, ýokarda döreden lakamlarymyz diňe wagtlaýyn işleýär, ulgam täzeden açylanda indiki ýüklemeden soň işlemez. Aşakda görkezilişi ýaly .bashrc
faýlyňyzda hemişelik lakamlary düzüp bilersiňiz.
Olary goşanyňyzdan soň aşakdaky buýrugy işjeňleşdiriň.
$ source ~/.bashrc
3. Linux Shell ätiýaçlandyrylan sözler
Gabyk programmirlemesinde, eger, soň, fi, ýaly, sözler, esac we başgalar, we beýlekiler gabykda saklanýan sözler bolýança. Düşündirişden görnüşi ýaly, olaryň gabygy üçin ýöriteleşdirilen manysy bar.
Görkezilişi ýaly görnüşi
buýrugyny ulanyp, Linux gabyk açar sözleriniň hemmesini sanap bilersiňiz:
$ type if then fi for while case esac else until if is a shell keyword then is a shell keyword fi is a shell keyword for is a shell keyword while is a shell keyword case is a shell keyword esac is a shell keyword else is a shell keyword until is a shell keyword
4. Linux gabyk funksiýalary
Gabyk funksiýasy, häzirki gabygyň içinde bilelikde ýerine ýetirilýän buýruklar toparydyr. Funksiýalar gabyk skriptinde belli bir işi ýerine ýetirmäge kömek edýär. Scriptazgyda gabyk funksiýalaryny ýazmagyň adaty görnüşi:
function_name() { command1 command2 ……. }
Ativea-da bolmasa,
function function_name { command1 command2 ……. }
Geliň, shell_functions.sh
atly skriptde gabyk funksiýalaryny nädip ýazmalydygyna göz aýlalyň.
#!/bin/bash #write a shell function to update and upgrade installed packages upgrade_system(){ sudo apt update; sudo apt dist-upgrade; } #execute function upgrade_system
Iki buýrugy ýerine ýetirmegiň ýerine: sudo apt update
we sudo apt dist-upgrade
buýruk setirinden iki buýrugy ýeke-täk ýerine ýetirmek üçin ýönekeý gabyk funksiýasyny ýazdyk. skriptiň içinde upgrade_system
buýrugy.
Faýly ýazdyryň we şondan soň skripti ýerine ýetirip bilersiňiz. Ahyrynda ony aşakdaky ýaly işlediň:
$ chmod +x shell_functions.sh $ ./shell_functions.sh
5. Linux Shell gurlan buýruklar
Bular gabygyň içine gurlan Linux buýruklary, şonuň üçin olary faýl ulgamynyň içinde tapyp bilmersiňiz. Olara pwd, cd, bg, lakam, taryh, görnüş, çeşme, okamak, çykmak we başgalar girýär.
Görkezilişi ýaly görnüşi
buýrugyny ulanyp, Linux gurlan buýruklary sanap ýa-da barlap bilersiňiz:
$ type pwd pwd is a shell builtin $ type cd cd is a shell builtin $ type bg bg is a shell builtin $ type alias alias is a shell builtin $ type history history is a shell builtin
Gurlan buýruklaryň ulanylyşy barada öwreniň:
- Linux-da 15 pwd buýruk mysallary
- Linux-da 15 cd buýruk mysallary
- Linux “taryh” buýrugynyň güýjüni öwreniň
Netije
Linux ulanyjysy hökmünde işleýän buýrugyňyzyň görnüşini bilmek hemişe möhümdir. Aboveokardaky takyk we ýönekeý düşünmek bilen birnäçe degişli suratlary goşmak bilen, Linux buýruklarynyň dürli kategoriýalaryna gowy düşünýän bolsaňyz gerek.
Şeýle hem, bize hödürlemek isleýän soraglaryňyz ýa-da goşmaça pikirleriňiz üçin aşakdaky teswirler bölüminiň üsti bilen kynçylyk çekip bilersiňiz.