Ricerca nel sito web

10 trucchi utili dalla riga di comando di Linux per i principianti - Parte 2


Ricordo che quando ho iniziato a usare Linux ed ero abituato all'interfaccia grafica di Windows, odiavo davvero il terminale Linux. Allora trovavo difficili da ricordare i comandi e l'uso corretto di ciascuno di essi. Con il tempo mi sono reso conto della bellezza, flessibilità e usabilità del terminale Linux e, a dire il vero, non passa giorno senza utilizzarlo. Oggi vorrei condividere alcuni trucchi e suggerimenti utili per i nuovi arrivati di Linux per facilitare la loro transizione a Linux o semplicemente aiutarli a imparare qualcosa di nuovo (si spera).

  1. 5 suggerimenti e trucchi interessanti sulla riga di comando in Linux - Parte 1
  2. 5 comandi utili per gestire i tipi di file Linux – Parte 3

Questo articolo intende mostrarti alcuni trucchi utili su come utilizzare il terminale Linux come un professionista con un minimo di competenze. Tutto ciò di cui hai bisogno è un terminale Linux e un po' di tempo libero per testare questi comandi.

1. Trova il comando giusto

L'esecuzione del comando giusto può essere vitale per il tuo sistema. Tuttavia in Linux esistono così tante righe di comando diverse che spesso sono difficili da ricordare. Allora come cerchi il comando giusto di cui hai bisogno? La risposta è a proposito. Tutto ciò che serve per eseguire è:


# apropos <description>

Dove dovresti cambiare la “descrizione” con la descrizione effettiva del comando che stai cercando. Ecco un buon esempio:


# 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

A sinistra puoi vedere i comandi e a destra la loro descrizione.

2. Esegui il comando precedente

Molte volte dovrai eseguire lo stesso comando più e più volte. Anche se puoi premere ripetutamente il tasto Su sulla tastiera, puoi utilizzare invece il comando cronologia. Questo comando elencherà tutti i comandi che hai inserito da quando hai avviato il terminale:


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

Come vedrai dall'output sopra, riceverai un elenco di tutti i comandi che hai eseguito. Su ogni riga hai un numero che indica la riga in cui hai inserito il comando. Puoi richiamare quel comando usando:


!#

Dove # deve essere sostituito con il numero effettivo del comando. Per una migliore comprensione, vedere l'esempio seguente:


!501

È equivalente a:

# history

3. Usa il comandante di mezzanotte

Se non sei abituato a utilizzare comandi come cd, cp, mv, rm, puoi utilizzare comando di mezzanotte. È una shell visiva facile da usare in cui puoi anche usare il mouse:

Grazie ai tasti F1 – F12, puoi eseguire facilmente diverse attività. Basta controllare la legenda in basso. Per selezionare un file o una cartella, fai clic sul pulsante "Inserisci".

In breve il comando di mezzanotte si chiama “mc“. Per installare mc sul tuo sistema esegui semplicemente:


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

# yum install mc                 [On Fedora based systems]

Ecco un semplice esempio di utilizzo del comandante di mezzanotte. Apri mc semplicemente digitando:


# mc

Ora utilizza il pulsante TAB per passare da una finestra all'altra: sinistra e destra. Ho un file LibreOffice che sposterò nella cartella "Software":

Per spostare il file nella nuova directory premi il pulsante F6 sulla tastiera. MC ora ti chiederà conferma:

Una volta confermato, il file verrà spostato nella nuova directory di destinazione.

Ulteriori informazioni: Come utilizzare il File Manager di Midnight Commander in Linux

4. Spegnere il computer in un momento specifico

A volte sarà necessario spegnere il computer alcune ore dopo la fine dell'orario di lavoro. Puoi configurare il computer in modo che si spenga a un orario specifico utilizzando:


$ sudo shutdown 21:00

Questo dirà al tuo computer di spegnersi all'ora specifica che hai fornito. Puoi anche dire al sistema di spegnersi dopo un determinato numero di minuti:


$ sudo shutdown +15

In questo modo il sistema si spegnerà entro 15 minuti.

5. Mostra informazioni sugli utenti conosciuti

Puoi utilizzare un semplice comando per elencare gli utenti del tuo sistema Linux e alcune informazioni di base su di loro. Usa semplicemente:


# lslogins

Questo dovrebbe portarti il seguente 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. Cerca file

La ricerca di file a volte può non essere così facile come pensi. Un buon esempio per la ricerca di file è:


# find /home/user -type f

Questo comando cercherà tutti i file che si trovano in /home/user. Il comando trova è estremamente potente e puoi passargli più opzioni per rendere la tua ricerca ancora più dettagliata. Se desideri cercare file più grandi della dimensione specificata, puoi utilizzare:


# find . -type f -size 10M

Il comando precedente cercherà nella directory corrente tutti i file più grandi di 10 MB. Assicurati di non eseguire il comando dalla directory root del tuo sistema Linux poiché ciò potrebbe causare un I/O elevato sul tuo computer.

Una delle combinazioni più frequentemente utilizzate con cui utilizzo find è l'opzione “exec”, che sostanzialmente ti consente di eseguire alcune azioni sui risultati del comando find.

Ad esempio, supponiamo di voler trovare tutti i file in una directory e modificarne i permessi. Questo può essere fatto facilmente con:


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

Il comando precedente cercherà ricorsivamente tutti i file nella directory specificata ed eseguirà il comando chmod sui file trovati. Sono sicuro che in futuro troverai molti altri usi di questo comando, per ora leggi 35 esempi di comando e utilizzo "trova" di Linux.

7. Costruisci alberi di directory con un comando

Probabilmente sai che puoi creare nuove directory utilizzando il comando mkdir. Quindi se vuoi creare una nuova cartella eseguirai qualcosa del genere:


# mkdir new_folder

Ma cosa succede se desideri creare 5 sottocartelle all'interno di quella cartella? Eseguire mkdir 5 volte di seguito non è una buona soluzione. Invece puoi usare l'opzione -p in questo modo:


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

Alla fine dovresti avere 5 cartelle situate in new_folder:


# ls new_folder/

folder_1 folder_2 folder_3 folder_4 folder_5

8. Copia il file in più directory

La copia dei file viene solitamente eseguita con il comando cp. La copia di un file di solito avviene così:


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

Ora immagina di dover copiare quel file in più directory:


# 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

Questo è un po' assurdo. Invece puoi risolvere il problema con un semplice comando di una riga:


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

9. Eliminazione di file più grandi

A volte i file possono diventare estremamente grandi. Ho riscontrato casi in cui un singolo file di registro superava i 250 GB a causa delle scarse capacità di amministrazione. Rimuovere il file con l'utilità rm potrebbe non essere sufficiente in questi casi a causa del fatto che è presente una quantità estremamente elevata di dati da rimuovere. L'operazione sarà “pesante” e sarà da evitare. Invece, puoi optare per una soluzione davvero semplice:


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

Dove ovviamente dovrai modificare il percorso e i nomi dei file con quelli esatti adatti al tuo caso. Il comando precedente scriverà semplicemente un output vuoto nel file. In parole più semplici, svuoterà il file senza causare un I/O elevato sul sistema.

10. Esegui lo stesso comando su più server Linux

Recentemente uno dei nostri lettori ha chiesto nel nostro forum LinuxSay, come eseguire un singolo comando su più box Linux contemporaneamente utilizzando SSH. Gli indirizzi IP delle sue macchine erano simili a questi:


10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
10.0.0.5

Quindi ecco una semplice soluzione a questo problema. Raccogli gli indirizzi IP dei server in un file chiamato list.txt uno sotto l'altro proprio come mostrato sopra. Quindi puoi eseguire:


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

Nell'esempio sopra dovrai cambiare "utente" con l'utente effettivo con cui effettuerai l'accesso e "comando bash" con l'effettivo comando bash che desideri eseguire . Il metodo funziona meglio quando utilizzi l'autenticazione senza password con chiave SSH sulle tue macchine in quanto in questo modo non dovrai inserire la password per il tuo utente più e più volte.

Tieni presente che potrebbe essere necessario passare alcuni parametri aggiuntivi al comando SSH a seconda della configurazione del tuo box Linux.

Conclusione

Gli esempi sopra riportati sono davvero semplici e spero che ti abbiano aiutato a scoprire parte della bellezza di Linux e come puoi facilmente eseguire diverse operazioni che possono richiedere molto più tempo su altri sistemi operativi.