10 kasulikku Linuxi käsurea nippi algajatele - 2. osa


Mäletan, et kui ma esimest korda Linuxi kasutama hakkasin ja olin Windowsi graafilise liidesega harjunud, siis ma tõesti vihkasin Linuxi terminali. Toona leidsin, et käske on raske meelde jätta ja igaüht neist õigesti kasutada. Aja jooksul mõistsin Linuxi terminali ilu, paindlikkust ja kasutatavust ning ausalt öeldes ei möödu päevagi kasutamata. Täna tahaksin jagada kasulikke nippe ja näpunäiteid Linuxi uutele tulijatele, et hõlbustada nende üleminekut Linuxile või aidata neil lihtsalt midagi uut õppida (loodetavasti).

  1. 5 huvitavat käsurea näpunäidet ja nippi Linuxis - 1. osa
  2. 5 kasulikku käsku Linuxi failitüüpide haldamiseks - 3. osa

Selles artiklis kavatsetakse näidata teile kasulikke nippe, kuidas kasutada Linuxi terminali nagu professionaal minimaalsete oskustega. Vaja on ainult Linuxi terminali ja veidi vaba aega nende käskude testimiseks.

1. Leidke õige käsk

Õige käsu täitmine võib teie süsteemile eluliselt tähtis olla. Linuxis on aga nii palju erinevaid käsuridu, et neid on sageli raske meelde jätta. Niisiis, kuidas otsida õiget käsku, mida vajate? Vastus on apropos. Kõik, mida peate jooksma, on:

# apropos <description>

Kus peaksite „kirjelduse“ muutma otsitava käsu tegeliku kirjeldusega. Siin on hea näide:

# apropos "list directory"

dir (1) - list directory contents
ls (1) - list directory contents
ntfsls (8) - list directory contents on an NTFS filesystem
vdir (1) - list directory contents

Vasakul näete käske ja paremal nende kirjeldust.

2. Käivitage eelmine käsk

Mitu korda peate sama käsu täitma ikka ja jälle. Kuigi saate klaviatuuril korduvalt klahvi Up vajutada, saate selle asemel kasutada käsku ajalugu. See käsk loetleb kõik käsud, mille sisestasite pärast terminali käivitamist:

# history

    1  fdisk -l
    2  apt-get install gnome-paint
    3  hostname linux-console.net
    4  hostnamectl linux-console.net
    5  man hostnamectl 
    6  hostnamectl --set-hostname linux-console.net
    7  hostnamectl -set-hostname linux-console.net
    8  hostnamectl set-hostname linux-console.net
    9  mount -t "ntfs" -o
   10  fdisk -l
   11  mount -t ntfs-3g /dev/sda5 /mnt
   12  mount -t rw ntfs-3g /dev/sda5 /mnt
   13  mount -t -rw ntfs-3g /dev/sda5 /mnt
   14  mount -t ntfs-3g /dev/sda5 /mnt
   15  mount man
   16  man mount
   17  mount -t -o ntfs-3g /dev/sda5 /mnt
   18  mount -o ntfs-3g /dev/sda5 /mnt
   19  mount -ro ntfs-3g /dev/sda5 /mnt
   20  cd /mnt
   ...

Nagu näete ülaltoodud väljundist, saate kõigi käitatud käskude loendi. Igal real on number, mis näitab rida, kuhu olete käsu sisestanud. Selle käsu saate meelde tuletada, kasutades järgmist:

!#

Kus # tuleks muuta käsu tegeliku arvuga. Parema mõistmise huvides vaadake järgmist näidet:

!501

On samaväärne järgmisega:

# history

3. Kasutage kesköökomandorit

Kui te pole harjunud kasutama selliseid käske nagu cd, cp, mv, rm, kui saate kasutada kesköö käsku. See on hõlpsasti kasutatav visuaalne kest, milles saate kasutada ka hiirt:

Tänu klahvidele F1 - F12 saate hõlpsalt erinevaid ülesandeid täita. Lihtsalt kontrollige allosas olevat legendi. Faili või kausta valimiseks klõpsake nuppu „Lisa“.

Lühidalt öeldes nimetatakse kesköö käsku "mc". MC installimiseks oma süsteemi lihtsalt käivitage:

$ sudo apt-get install mc        [On Debian based systems]
# yum install mc                 [On Fedora based systems]

Siin on lihtne näide keskööülema kasutamise kohta. Ava mc lihtsalt tippides:

# mc

Nüüd saate akende vahel vasakule ja paremale vahetamiseks kasutada nuppu TAB. Mul on LibreOffice'i fail, mille teisaldan kausta „Tarkvara“:

Faili uues kataloogis teisaldamiseks vajutage klaviatuuril nuppu F6. MC küsib nüüd teilt kinnitust:

Pärast kinnitamist teisaldatakse fail uude sihtkataloogi.

Loe lähemalt: Kuidas kasutada Linuxis Midnight Commanderi failihaldurit

4. Seisake arvuti kindlaksmääratud ajal

Mõnikord peate mõne tunni pärast tööaja lõppu arvuti välja lülitama. Saate konfigureerida oma arvuti kindlal ajal välja lülitama, kasutades järgmist:

$ sudo shutdown 21:00

See käsib teie arvutil teie määratud konkreetsel ajal välja lülitada. Võite ka öelda, et süsteem lülitataks välja teatud minutite pärast:

$ sudo shutdown +15

Nii seiskub süsteem 15 minutiga.

5. Kuva teave teadaolevate kasutajate kohta

Linuxi kasutajate ja nende põhiteabe loetlemiseks võite kasutada lihtsat käsku. Kasutage lihtsalt:

# lslogins

See peaks andma teile järgmise väljundi:

UID USER PWD-LOCK PWD-DENY LAST-LOGIN GECOS
0 root 0 0 Apr29/11:35 root
1 bin 0 1 bin
2 daemon 0 1 daemon
3 adm 0 1 adm
4 lp 0 1 lp
5 sync 0 1 sync
6 shutdown 0 1 Jul19/10:04 shutdown
7 halt 0 1 halt
8 mail 0 1 mail
10 uucp 0 1 uucp
11 operator 0 1 operator
12 games 0 1 games
13 gopher 0 1 gopher
14 ftp 0 1 FTP User
23 squid 0 1
25 named 0 1 Named
27 mysql 0 1 MySQL Server
47 mailnull 0 1
48 apache 0 1 Apache
...

6. Otsige faile

Failide otsimine ei pruugi mõnikord olla nii lihtne kui arvate. Hea näide failide otsimiseks on:

# find /home/user -type f

See käsk otsib kõiki faile, mis asuvad kataloogis/home/user. Leidekäsk on äärmiselt võimas ja saate sellele anda rohkem võimalusi, et otsing veelgi üksikasjalikumaks muuta. Kui soovite otsida faile, mis on suuremad kui määratud, võite kasutada järgmist.

# find . -type f -size 10M

Ülaltoodud käsk otsib praegusest kataloogist kõiki faile, mis on suuremad kui 10 MB. Ärge käivitage käsku oma Linuxi süsteemi juurkataloogis, kuna see võib põhjustada teie masinas kõrge sisend/väljundi.

Üks kõige sagedamini kasutatavatest kombinatsioonidest, mida kasutan leidmiseks, on valik "exec", mis võimaldab põhimõtteliselt käivitada mõned toimingud käsu find tulemustega.

Näiteks oletame, et soovime leida kõik kataloogis olevad failid ja muuta nende õigusi. Seda saab hõlpsalt teha:

# find /home/user/files/ -type f -exec chmod 644 {} \;

Ülaltoodud käsk otsib kõiki määratud kataloogis olevaid faile rekursiivselt ja käivitab leitud failide käsu chmod. Olen kindel, et leiate selle käsu kohta tulevikus palju muid kasutusviise, nüüd lugege 35 Linuxi käsu ja kasutamise näiteid.

7. Ehitage kataloogipuud ühe käsuga

Tõenäoliselt teate, et saate luua uusi katalooge käsu mkdir abil. Nii et kui soovite luua uue kausta, käivitate midagi sellist:

# mkdir new_folder

Aga mis siis, kui soovite selles kaustas luua 5 alamkausta? 5 korda järjest mkdir käivitamine pole hea lahendus. Selle asemel võite kasutada sellist valikut -p:

# mkdir -p new_folder/{folder_1,folder_2,folder_3,folder_4,folder_5}

Lõpuks peaks teil olema 5 kausta, mis asuvad uues kaustas:

# ls new_folder/

folder_1 folder_2 folder_3 folder_4 folder_5

8. Kopeeri fail mitmesse kataloogi

Failide kopeerimine toimub tavaliselt käsuga cp. Faili kopeerimine näeb tavaliselt välja selline:

# cp /path-to-file/my_file.txt /path-to-new-directory/

Kujutage nüüd ette, et peate selle faili kopeerima mitmesse kataloogi:

# cp /home/user/my_file.txt /home/user/1
# cp /home/user/my_file.txt /home/user/2
# cp /home/user/my_file.txt /home/user/3

See on natuke absurdne. Selle asemel saate probleemi lahendada lihtsa ühe rea käsuga:

# echo /home/user/1/ /home/user/2/ /home/user/3/ | xargs -n 1  cp /home/user/my_file.txt

9. Suuremate failide kustutamine

Mõnikord võivad failid kasvada äärmiselt suureks. Olen näinud juhtumeid, kus ühe logifaili maht halbade administreerimisoskuste tõttu oli üle 250 GB. Faili eemaldamine rm-utiliidiga ei pruugi sellistel juhtudel olla piisav, kuna on vaja eemaldada väga palju andmeid. Operatsioon on raske ja seda tuleks vältida. Selle asemel võite kasutada tõeliselt lihtsat lahendust:

# > /path-to-file/huge_file.log

Muidugi peate oma juhtumile vastavaks muutma tee ja failinimed täpsete nimedega. Ülaltoodud käsk kirjutab faili lihtsalt tühja väljundi. Lihtsamalt öeldes tühjendab see faili, põhjustamata teie süsteemis suurt sisend/väljundit.

10. Käitage sama käsk mitmel Linuxi serveril

Hiljuti küsis üks meie lugejatest meie LinuxSay foorumis, kuidas SSH abil käivitada üks käsk korraga mitmele Linuxi kastile. Tema masinate IP-aadressid nägid välja sellised:

10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
10.0.0.5

Nii et siin on selle küsimuse lihtne lahendus. Koguge serverite IP-aadressid ühte faili nimega list.txt üksteise alla, nagu eespool näidatud. Siis saate joosta:

# for in $i(cat list.txt); do ssh [email $i 'bash command'; done

Ülaltoodud näites peate muutma "kasutaja" tegeliku kasutajaga, kellega logite, ja "bashi käsk" tegeliku bashi käsuga, mida soovite täita. See meetod töötab paremini, kui kasutate oma masinate jaoks paroolita autentimist SSH-võtmega, sest nii ei pea te oma kasutaja parooli ikka ja jälle sisestama.

Pange tähele, et peate võib-olla SSH-käsule edastama mõned täiendavad parameetrid, sõltuvalt teie Linuxi kastide seadistusest.

Järeldus

Ülaltoodud näited on tõepoolest lihtsad ja loodetavasti on need aidanud teil leida osa Linuxi ilust ja sellest, kuidas saate hõlpsalt teha erinevaid operatsioone, mis võivad teiste opsüsteemidega palju rohkem aega võtta.