10 nyttige Linux-kommandolinjetricks til nybegyndere - del 2


Jeg husker, da jeg først begyndte at bruge Linux, og jeg var vant til den grafiske grænseflade til Windows, hadede jeg virkelig Linux-terminalen. Dengang fandt jeg de kommandoer, der var svære at huske og korrekt brug af hver enkelt af dem. Med tiden indså jeg skønheden, fleksibiliteten og anvendeligheden ved Linux-terminalen, og for at være ærlig går en dag ikke uden at bruge den. I dag vil jeg gerne dele nogle nyttige tricks og tip til Linux-nybegyndere for at lette deres overgang til Linux eller blot hjælpe dem med at lære noget nyt (forhåbentlig).

  1. 5 interessante kommandolinjetip og -tricks i Linux - del 1
  2. 5 nyttige kommandoer til styring af Linux-filtyper - del 3

Denne artikel har til hensigt at vise dig nogle nyttige tricks, hvordan du bruger Linux-terminalen som en professionel med et minimum af færdigheder. Alt hvad du behøver er en Linux-terminal og noget fritid til at teste disse kommandoer.

1. Find den rigtige kommando

At udføre den rigtige kommando kan være afgørende for dit system. Men i Linux er der så mange forskellige kommandolinjer, at de ofte er svære at huske. Så hvordan søger du efter den rigtige kommando, du har brug for? Svaret er apropos. Alt hvad du behøver for at løbe er:

# apropos <description>

Hvor du skal ændre "beskrivelsen" med den aktuelle beskrivelse af den kommando, du leder efter. Her er et godt eksempel:

# 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

Til venstre kan du se kommandoerne og til højre deres beskrivelse.

2. Udfør tidligere kommando

Mange gange bliver du nødt til at udføre den samme kommando igen og igen. Mens du gentagne gange kan trykke på Op-tasten på tastaturet, kan du i stedet bruge kommandoen historie. Denne kommando viser alle kommandoer, du har indtastet, siden du startede terminalen:

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

Som du vil se fra output ovenfor, vil du modtage en liste over alle kommandoer, du har kørt. På hver linje har du et nummer, der angiver den række, hvor du har indtastet kommandoen. Du kan huske denne kommando ved at bruge:

!#

Hvor # skal ændres med det aktuelle nummer på kommandoen. For bedre forståelse, se nedenstående eksempel:

!501

Svarer til:

# history

3. Brug midnatskommandør

Hvis du ikke er vant til at bruge kommandoer som cd, cp, mv, rm, kan du bruge midnatskommandoen. Det er en nem at bruge visuel skal, hvor du også kan bruge musen:

Takket være F1 - F12-tasterne kan du nemt udføre forskellige opgaver. Du skal blot tjekke forklaringen nederst. For at vælge en fil eller mappe skal du klikke på knappen "Indsæt".

Kort sagt kaldes midnatskommandoen “mc”. For at installere mc på dit system skal du bare køre:

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

Her er et simpelt eksempel på brug af midnatskommandør. Åbn mc ved blot at skrive:

# mc

Brug nu TAB-knappen til at skifte mellem windows - venstre og højre. Jeg har en LibreOffice-fil, som jeg vil flytte til "Software" -mappen:

For at flytte filen i den nye mappe skal du trykke på F6-knappen på tastaturet. MC vil nu bede dig om bekræftelse:

Når den er bekræftet, flyttes filen i den nye destinationsmappe.

Læs mere: Sådan bruges Midnight Commander File Manager i Linux

4. Luk computeren på et bestemt tidspunkt

Nogle gange skal du lukke computeren ned nogle timer efter, at din arbejdstid er afsluttet. Du kan konfigurere din computer til at lukke ned på et bestemt tidspunkt ved at bruge:

$ sudo shutdown 21:00

Dette vil bede din computer om at lukke ned på det specifikke tidspunkt, du har angivet. Du kan også bede systemet om at lukke efter et bestemt antal minutter:

$ sudo shutdown +15

På den måde lukkes systemet om 15 minutter.

5. Vis oplysninger om kendte brugere

Du kan bruge en simpel kommando til at liste dine Linux-systembrugere og nogle grundlæggende oplysninger om dem. Brug blot:

# lslogins

Dette skulle give dig følgende output:

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. Søg efter filer

Søgning efter filer kan nogle gange ikke være så let som du tror. Et godt eksempel til søgning efter filer er:

# find /home/user -type f

Denne kommando vil søge efter alle filer i/home/user. Find-kommandoen er ekstremt kraftig, og du kan videregive flere muligheder til den for at gøre din søgning endnu mere detaljeret. Hvis du vil søge efter filer, der er større end den givne størrelse, kan du bruge:

# find . -type f -size 10M

Ovenstående kommando søger fra den aktuelle mappe efter alle filer, der er større end 10 MB. Sørg for ikke at køre kommandoen fra rodmappen på dit Linux-system, da dette kan forårsage høj I/O på din maskine.

En af de hyppigst anvendte kombinationer, som jeg bruger find med, er “exec” -indstilling, som grundlæggende giver dig mulighed for at køre nogle handlinger på resultaterne af findkommandoen.

Lad os f.eks. Sige, at vi vil finde alle filer i et bibliotek og ændre deres tilladelser. Dette kan let gøres med:

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

Ovenstående kommando søger rekursivt efter alle filer i den angivne mappe og udfører chmod-kommandoen på de fundne filer. Jeg er sikker på, at du vil finde mange flere anvendelser på denne kommando i fremtiden, læs nu 35 eksempler på Linux 'find' kommando og brug.

7. Byg katalogtræer med en kommando

Du ved sikkert, at du kan oprette nye mapper ved hjælp af kommandoen mkdir. Så hvis du vil oprette en ny mappe, kører du noget som dette:

# mkdir new_folder

Men hvad, hvis du vil oprette 5 undermapper i den mappe? At køre mkdir 5 gange i træk er ikke en god løsning. I stedet kan du bruge -p som sådan:

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

I sidste ende skal du have 5 mapper placeret i new_folder:

# ls new_folder/

folder_1 folder_2 folder_3 folder_4 folder_5

8. Kopier fil til flere biblioteker

Filkopiering udføres normalt med cp-kommandoen. Kopiering af en fil ser normalt sådan ud:

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

Forestil dig nu, at du har brug for at kopiere den fil i flere mapper:

# 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

Dette er lidt absurd. I stedet kan du løse problemet med en simpel kommando med en linje:

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

9. Sletning af større filer

Nogle gange kan filer vokse ekstremt store. Jeg har set tilfælde, hvor en enkelt logfil blev større end 250 GB på grund af dårlige administrationsevner. Fjernelse af filen med rm-værktøjet er muligvis ikke tilstrækkelig i sådanne tilfælde på grund af det faktum, at der er ekstremt stor mængde data, der skal fjernes. Operationen vil være en "tung" og bør undgås. I stedet kan du gå med en virkelig enkel løsning:

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

Hvor du selvfølgelig bliver nødt til at ændre stien og filnavne med de nøjagtige dem, der passer til din sag. Ovenstående kommando skriver simpelthen en tom output til filen. I mere enkle ord vil den tømme filen uden at forårsage høj I/O på dit system.

10. Kør samme kommando på flere Linux-servere

For nylig spurgte en af vores læsere i vores LinuxSay-forum, hvordan man udfører en enkelt kommando til flere Linux-kasser på én gang ved hjælp af SSH. Han fik sine maskiner til at se IP-adresser sådan ud:

10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
10.0.0.5

Så her er en enkel løsning på dette problem. Saml IP-adresserne på serverne i en fil, der hedder list.txt under hinanden, som vist ovenfor. Så kan du løbe:

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

I ovenstående eksempel skal du ændre “bruger” med den aktuelle bruger, som du logger med, og “bash-kommando” med den aktuelle bash-kommando, du vil udføre. Metoden fungerer bedre, når du bruger adgangskodeløs godkendelse med SSH-nøgle til dine maskiner, da på den måde behøver du ikke at indtaste adgangskoden til din bruger igen og igen.

Bemærk, at du muligvis skal videregive nogle yderligere parametre til SSH-kommandoen afhængigt af din Linux-boksers opsætning.

Konklusion

Ovenstående eksempler er virkelig enkle, og jeg håber, at de har hjulpet dig med at finde noget af Linux's skønhed, og hvordan du nemt kan udføre forskellige operationer, der kan tage meget mere tid på andre operativsystemer.