4 Utili Consigli sui Comandi mkdir, tar e kill in Linux

Continuiamo ad eseguire un compito in modo convenzionale fino a quando non scopriamo che può essere fatto in modo molto migliore. In continuazione della nostra Serie di Suggerimenti e Trucchi su Linux, ecco qui sotto quattro suggerimenti che ti aiuteranno in molti modi. Eccoci qua!

4 Linux Useful Tips and Hacks
1. Si suppone che tu debba creare un albero di directory lungo/complesso simile a quello fornito di seguito. Qual è il modo più efficace per raggiungere questo obiettivo?

Struttura ad albero delle directory da ottenere come suggerito di seguito.

$ cd /home/$USER/Desktop
$ mkdir tecmint
$ mkdir tecmint/etc
$ mkdir tecmint/lib
$ mkdir tecmint/usr
$ mkdir tecmint/bin
$ mkdir tecmint/tmp
$ mkdir tecmint/opt
$ mkdir tecmint/var
$ mkdir tecmint/etc/x1
$ mkdir tecmint/usr/x2
$ mkdir tecmint/usr/x3
$ mkdir tecmint/tmp/Y1
$ mkdir tecmint/tmp/Y2
$ mkdir tecmint/tmp/Y3
$ mkdir tecmint/tmp/Y3/z

Lo scenario sopra descritto può essere facilmente ottenuto eseguendo il seguente comando su una sola linea.

$ mkdir -p /home/$USER/Desktop/tecmint/{etc/x1,lib,usr/{x2,x3},bin,tmp/{Y1,Y2,Y3/z},opt,var}

Per verificare, puoi utilizzare il comando tree. Se non installato, è possibile utilizzare apt o yum per il pacchetto ‘tree‘.

$ tree tecmint
Check Directory Structure

Possiamo creare la struttura ad albero delle directory di qualsiasi complessità utilizzando il metodo sopra descritto. Nota che non è altro che un comando normale, ma utilizza {} per creare la gerarchia delle directory. Questo può risultare molto utile se utilizzato da all’interno di uno script shell quando necessario e in generale.

2. Crea un file (diciamo test) sul tuo Desktop (/home/$USER/Desktop) e popolalo con i contenuti seguenti.
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z

Cosa farebbe un utente normale in questo scenario?

a. He will create the file first, preferably using touch command, as:

$ touch /home/$USER/Desktop/test

b. He will use a text editor to open the file, which may be nano, vim, or any other editor.

$ nano /home/$USER/Desktop/test

c. He will then place the above text into this file, save and exit.

Quindi, indipendentemente dal tempo impiegato da lui/lei, ha bisogno di almeno 3 passaggi per eseguire lo scenario sopra descritto.

Cosa farebbe un esperto Linux esperto? Scriverebbe semplicemente il testo seguente in una sola volta sul terminale e tutto fatto. Non è necessario eseguire ogni azione separatamente.

cat << EOF > /home/$USER/Desktop/test
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z
EOF

Puoi usare il comando ‘cat‘ per verificare se il file e il suo contenuto sono stati creati con successo o meno.

$ cat /home/avi/Desktop/test

3. Ci occupiamo spesso di archivi (specialmente pacchetti TAR) su Linux. In molti casi dobbiamo utilizzare quel pacchetto TAR in una posizione diversa dalla cartella Downloads. Cosa facciamo in questo scenario?

Normalmente facciamo due cose in questo scenario.

a. Copy/Move the tar ball and extract it at destination, as:

$ cp firefox-37.0.2.tar.bz2 /opt/
or
$ mv firefox-37.0.2.tar.bz2 /opt/

b. cd to /opt/ directory.

$ cd /opt/

c. Extract the Tarball.

# tar -jxvf firefox-37.0.2.tar.bz2 

Possiamo fare il contrario.

Estraiamo il pacchetto Tar dove si trova e Copiamo/Spostiamo l’archivio estratto nella destinazione richiesta come:

$ tar -jxvf firefox-37.0.2.tar.bz2 
$ cp -R firefox/  /opt/
or
$ mv firefox/ /opt/

In entrambi i casi il lavoro richiede due o più passaggi per essere completato. Il professionista può completare questo compito in un solo passaggio come:

$ tar -jxvf firefox-37.0.2.tar.bz2 -C /opt/

L’opzione -C fa sì che tar estragga l’archivio nella cartella specificata (qui /opt/).

No, non si tratta di un’opzione (-C), ma di abitudini. Fai l’abitudine a usare l’opzione -C con tar. Renderà la tua vita più semplice. Da ora in poi non spostare l’archivio o copia/sposta il file estratto, lascia semplicemente il file TAR nella cartella Downloads ed estrailo ovunque desideri.

4. Come terminiamo un processo in modo tradizionale?

Nel modo più generale, elenchiamo prima tutti i processi usando il comando ps -A e lo collegamo con grep per trovare un processo/servizio (diciamo apache2), semplicemente come:

$ ps -A | grep -i apache2
Output di Esempio
1006 ?        00:00:00 apache2
 2702 ?        00:00:00 apache2
 2703 ?        00:00:00 apache2
 2704 ?        00:00:00 apache2
 2705 ?        00:00:00 apache2
 2706 ?        00:00:00 apache2
 2707 ?        00:00:00 apache2

L’output sopra mostra tutti i processi apache2 attualmente in esecuzione con i rispettivi PID, puoi quindi usare questi PID per terminare apache2 con l’aiuto del comando seguente.

# kill 1006 2702 2703 2704 2705 2706 2707

E poi controlla se è in esecuzione qualche processo/servizio con il nome ‘apache2‘, come:

$ ps -A | grep -i apache2

Tuttavia possiamo farlo in un formato più comprensibile utilizzando utility come pgrep e pkill. È possibile trovare informazioni rilevanti su un processo semplicemente utilizzando pgrep. Supponiamo che tu debba trovare le informazioni sul processo apache2, puoi semplicemente fare così:

$ pgrep apache2
Output di Esempio
15396
15400
15401
15402
15403
15404
15405

Puoi anche elencare il nome del processo rispetto al pid eseguendo.

$ pgrep -l apache2
Output di Esempio
15396 apache2
15400 apache2
15401 apache2
15402 apache2
15403 apache2
15404 apache2
15405 apache2

Uccidere un processo utilizzando pkill è molto semplice. Basta digitare il nome della risorsa da eliminare e sei a posto. Ho scritto un post su pkill che potresti voler consultare qui: https://www.tecmint.com/how-to-kill-a-process-in-linux/.

Per uccidere un processo (ad esempio apache2) utilizzando pkill, tutto ciò che devi fare è:

# pkill apache2

Puoi verificare se apache2 è stato ucciso o meno eseguendo il comando seguente.

$ pgrep -l apache2

Se restituisce il prompt e non stampa nulla significa che non c’è alcun processo in esecuzione con il nome di apache2.

E questo è tutto per ora, da parte mia. Tutti i punti discussi sopra non sono sufficienti ma sicuramente saranno d’aiuto. Non intendiamo solo produrre tutorial per farti imparare qualcosa di nuovo ogni volta ma vogliamo anche mostrare ‘Come essere più produttivi nello stesso contesto‘. Forniscici il tuo prezioso feedback nei commenti qui sotto. Resta connesso. Continua a commentare.

Source:
https://www.tecmint.com/mkdir-tar-and-kill-commands-in-linux/