10 korisnih trikova Linux naredbenog retka za početnike - 2. dio


Sjećam se kad sam tek počeo koristiti Linux i bio sam naviknut na grafičko sučelje Windowsa, doista sam mrzio Linux terminal. Tada mi je bilo teško zapamtiti naredbe i pravilnu upotrebu svake od njih. S vremenom sam shvatio ljepotu, fleksibilnost i upotrebljivost Linux terminala i da budem iskren, ne prođe dan bez korištenja. Danas bih želio podijeliti neke korisne trikove i savjete za nove korisnike Linuxa kako bih im olakšao prijelaz na Linux ili im jednostavno pomogao da nauče nešto novo (nadam se).

  1. 5 zanimljivih savjeta i trikova za naredbeni redak u Linuxu – 1. dio
  2. 5 korisnih naredbi za upravljanje Linux vrstama datoteka – 3. dio

Ovaj vam članak namjerava pokazati neke korisne trikove kako koristiti Linux terminal kao profesionalac s minimalnom količinom vještina. Sve što trebate je Linux terminal i nešto slobodnog vremena za testiranje ovih naredbi.

1. Pronađite pravu naredbu

Izvršavanje ispravne naredbe može biti vitalno za vaš sustav. Međutim, u Linuxu postoji toliko različitih naredbenih redaka da ih je često teško zapamtiti. Kako onda pronaći pravu naredbu koja vam je potrebna? Odgovor je apropos. Sve što trebate za trčanje je:


# apropos <description>

Gdje biste trebali promijeniti “opis” stvarnim opisom naredbe koju tražite. Evo dobrog primjera:


# 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

S lijeve strane možete vidjeti naredbe, a s desne njihov opis.

2. Izvrši prethodnu naredbu

Mnogo puta ćete morati izvršavati istu naredbu iznova i iznova. Iako možete više puta pritisnuti tipku gore na tipkovnici, umjesto toga možete koristiti naredbu povijest. Ova naredba će izlistati sve naredbe koje ste unijeli od pokretanja terminala:


# 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
   ...

Kao što ćete vidjeti iz izlaza iznad, dobit ćete popis svih naredbi koje ste pokrenuli. U svakom retku imate broj koji označava red u koji ste unijeli naredbu. Tu naredbu možete pozvati koristeći:


!#

Gdje # treba promijeniti sa stvarnim brojem naredbe. Za bolje razumijevanje pogledajte primjer u nastavku:


!501

Ekvivalentno je sljedećem:

# history

3. Koristite midnight Commander

Ako niste navikli koristiti naredbe kao što su cd, cp, mv, rm, možete koristiti < snažna>ponoćna naredba. To je vizualna ljuska jednostavna za korištenje u kojoj možete koristiti i miš:

Zahvaljujući tipkama F1 – F12 možete jednostavno obavljati različite zadatke. Jednostavno provjerite legendu na dnu. Za odabir datoteke ili mape kliknite gumb “Umetni”.

Ukratko, ponoćna naredba se zove “mc“. Da biste instalirali mc na svoj sustav jednostavno pokrenite:


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

# yum install mc                 [On Fedora based systems]

Evo jednostavnog primjera korištenja ponoćnog zapovjednika. Otvorite mc jednostavnim upisivanjem:


# mc

Sada koristite gumb TAB za prebacivanje između prozora – lijevo i desno. Imam datoteku LibreOffice koju ću premjestiti u mapu “Softver”:

Za premještanje datoteke u novi direktorij pritisnite gumb F6 na tipkovnici. MC će vas sada pitati za potvrdu:

Nakon potvrde, datoteka će biti premještena u novi odredišni direktorij.

Pročitajte više: Kako koristiti Midnight Commander File Manager u Linuxu

4. Isključite računalo u određeno vrijeme

Ponekad ćete morati isključiti svoje računalo nekoliko sati nakon završetka radnog vremena. Možete konfigurirati svoje računalo da se isključi u određeno vrijeme koristeći:


$ sudo shutdown 21:00

Ovo će vašem računalu reći da se isključi u određeno vrijeme koje ste naveli. Također možete reći sustavu da se isključi nakon određenog broja minuta:


$ sudo shutdown +15

Na taj način sustav će se isključiti za 15 minuta.

5. Prikaži informacije o poznatim korisnicima

Možete koristiti jednostavnu naredbu za popis korisnika vašeg Linux sustava i neke osnovne informacije o njima. Jednostavno koristite:


# lslogins

Ovo bi vam trebalo donijeti sljedeći rezultat:


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. Potražite datoteke

Traženje datoteka ponekad nije tako jednostavno kao što mislite. Dobar primjer za traženje datoteka je:


# find /home/user -type f

Ova naredba će tražiti sve datoteke koje se nalaze u /home/user. Naredba pronađi iznimno je moćna i možete joj proslijediti više opcija kako biste svoju pretragu učinili još detaljnijom. Ako želite tražiti datoteke veće od zadane veličine, možete koristiti:


# find . -type f -size 10M

Gornja naredba pretražit će iz trenutnog direktorija sve datoteke veće od 10 MB. Pazite da ne pokrenete naredbu iz korijenskog direktorija vašeg Linux sustava jer to može uzrokovati veliki I/O na vašem računalu.

Jedna od najčešće korištenih kombinacija s kojima koristim find je opcija “exec”, koja vam u osnovi omogućuje pokretanje nekih radnji na rezultatima naredbe traženja.

Na primjer, recimo da želimo pronaći sve datoteke u direktoriju i promijeniti im dopuštenja. To se lako može učiniti pomoću:


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

Gornja naredba će tražiti sve datoteke u navedenom direktoriju rekurzivno i izvršit će naredbu chmod nad pronađenim datotekama. Siguran sam da ćete u budućnosti pronaći mnogo više upotreba ove naredbe, za sada pročitajte 35 primjera naredbe i upotrebe Linuxa 'pronađi'.

7. Izgradite stabla direktorija jednom naredbom

Vjerojatno znate da možete kreirati nove direktorije pomoću naredbe mkdir. Dakle, ako želite stvoriti novu mapu, pokrenut ćete nešto poput ovoga:


# mkdir new_folder

Ali što ako želite stvoriti 5 podmapa unutar te mape? Pokretanje mkdir 5 puta zaredom nije dobro rješenje. Umjesto toga možete koristiti opciju -p ovako:


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

Na kraju biste trebali imati 5 mapa smještenih u new_folder:


# ls new_folder/

folder_1 folder_2 folder_3 folder_4 folder_5

8. Kopirajte datoteku u više direktorija

Kopiranje datoteke obično se izvodi naredbom cp. Kopiranje datoteke obično izgleda ovako:


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

Sada zamislite da trebate kopirati tu datoteku u više direktorija:


# 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

Ovo je malo apsurdno. Umjesto toga možete riješiti problem jednostavnom naredbom u jednom retku:


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

9. Brisanje većih datoteka

Ponekad datoteke mogu narasti iznimno velike. Vidio sam slučajeve u kojima je jedna datoteka dnevnika bila veća od 250 GB zbog loših administrativnih vještina. Uklanjanje datoteke pomoću uslužnog programa rm možda neće biti dovoljno u takvim slučajevima zbog činjenice da postoji iznimno velika količina podataka koje je potrebno ukloniti. Operacija će biti “teška” i treba je izbjegavati. Umjesto toga, možete koristiti vrlo jednostavno rješenje:


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

Pri čemu ćete naravno morati promijeniti putanju i nazive datoteka točnim onima koji odgovaraju vašem slučaju. Gornja naredba jednostavno će napisati prazan izlaz u datoteku. Jednostavnije rečeno, ispraznit će datoteku bez izazivanja velikog I/O na vašem sustavu.

10. Pokrenite istu naredbu na više Linux poslužitelja

Nedavno je jedan od naših čitatelja pitao na našem forumu LinuxSay, kako izvršiti jednu naredbu na više Linux uređaja odjednom koristeći SSH. IP adrese njegovih strojeva izgledale su ovako:


10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
10.0.0.5

Dakle, ovdje je jednostavno rješenje ovog problema. Prikupite IP adrese poslužitelja u jednu datoteku pod nazivom list.txt jednu ispod druge baš kao što je prikazano gore. Zatim možete pokrenuti:


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

U gornjem primjeru morat ćete promijeniti “user” sa stvarnim korisnikom s kojim ćete se prijavljivati i “bash command” sa stvarnom bash naredbom koju želite izvršiti . Metoda bolje funkcionira kada koristite autentifikaciju bez lozinke sa SSH ključem za svoje strojeve jer na taj način nećete morati stalno iznova unositi lozinku za svog korisnika.

Imajte na umu da ćete možda morati proslijediti neke dodatne parametre SSH naredbi, ovisno o postavkama vašeg Linux okvira.

Zaključak

Gore navedeni primjeri su zaista jednostavni i nadam se da su vam pomogli da otkrijete nešto od ljepote Linuxa i kako možete jednostavno izvoditi različite operacije koje mogu oduzeti mnogo više vremena na drugim operativnim sustavima.