Ricerca nel sito web

4 consigli utili sui comandi mkdir, tar e kill in Linux


Continuiamo a svolgere un compito in modo convenzionale finché non arriviamo a sapere che può essere svolto in un modo molto migliore nell’altro modo. In continuazione della nostra serie di suggerimenti e trucchi per Linux, sono qui con i seguenti quattro suggerimenti che ti aiuteranno in molti modi. Eccoci qui!

1. Dovresti creare un albero di directory lungo/complesso simile a quello indicato di seguito. Qual è il modo più efficace per raggiungere questo obiettivo?

Struttura ad albero della 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 può essere ottenuto semplicemente eseguendo il comando 1-liner riportato di seguito.

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

Per verificare puoi usare il comando tree. Se non è installato puoi apt o yum il pacchetto "tree".

tree tecmint

Possiamo creare una struttura ad albero di directory di qualsiasi complessità utilizzando il modo sopra. Nota che non è altro che un normale comando ma utilizza {} per creare una gerarchia di directory. Ciò può rivelarsi molto utile se utilizzato dall'interno di uno script di shell quando richiesto e in generale.

2. Crea un file (ad esempio test) sul 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. Creerà prima il file, preferibilmente utilizzando il comando touch, come:

touch /home/$USER/Desktop/test

b. Utilizzerà un editor di testo per aprire il file, che potrebbe essere nano, vim o qualsiasi altro editor.

nano /home/$USER/Desktop/test

c. Quindi inserirà il testo sopra in questo file, lo salverà e uscirà.

Quindi, indipendentemente dal tempo impiegato, sono necessari almeno 3 passaggi per eseguire lo scenario di cui sopra.

Cosa farà un utente Linux esperto e intelligente? Digiterà semplicemente il testo seguente in una volta sola sul terminale e tutto sarà fatto. Non è necessario che esegua ciascuna azione separatamente.

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

Puoi utilizzare il comando "cat" per verificare se il file e il suo contenuto sono stati creati correttamente o meno.

cat /home/avi/Desktop/test

3. Abbiamo a che fare con archivi (specialmente TAR ball) molto spesso su Linux. In molti casi dobbiamo utilizzare la palla TAR in una posizione diversa dalla cartella Download. Cosa facciamo in questo scenario?

Normalmente facciamo due cose in questo scenario.

a. Copia/sposta la sfera di catrame ed estraila a destinazione, come:

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

b. cd nella directory /opt/.

cd /opt/

c. Estrai il Tarball.

tar -jxvf firefox-37.0.2.tar.bz2 

Possiamo farlo al contrario.

Estrarremo il Tarball dove si trova e copieremo/sposteremo 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 completamento del lavoro richiede due o più passaggi. Il professionista può completare questa attività in un unico 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. Prendi l'abitudine di usare l'opzione -C con tar. Ti faciliterà la vita. Da adesso non spostare l'archivio né copiare/spostare il file estratto, lascia semplicemente il TAR nella cartella Download ed estrailo dove vuoi.

4. Come interrompiamo un processo in modo tradizionale?

Nel modo più generale, per prima cosa elenchiamo tutto il processo utilizzando il comando ps -A e lo conduciamo con grep per trovare un processo/servizio (ad esempio apache2 ), semplicemente come:

ps -A | grep -i apache2
Uscita del campione
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 relativi PID; puoi quindi utilizzare questi PID per terminare apache2 con l'aiuto del seguente comando.

kill 1006 2702 2703 2704 2705 2706 2707

e poi controlla se qualche processo/servizio con il nome "apache2" è in esecuzione o meno, come:

ps -A | grep -i apache2

Tuttavia possiamo farlo in un formato più comprensibile utilizzando utilità come pgrep e pkill. Puoi trovare informazioni rilevanti su un processo semplicemente utilizzando pgrep. Supponiamo che tu debba trovare le informazioni sul processo per apache2, puoi semplicemente fare:

pgrep apache2
Uscita del campione
15396
15400
15401
15402
15403
15404
15405

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

pgrep -l apache2
Uscita del campione
15396 apache2
15400 apache2
15401 apache2
15402 apache2
15403 apache2
15404 apache2
15405 apache2

Terminare un processo utilizzando pkill è molto semplice. Basta digitare il nome della risorsa da uccidere e il gioco è fatto. Ho scritto un post su pkill a cui potresti fare riferimento qui: https://linux-console.net/how-to-kill-a-process-in-linux/.

Per terminare 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

Restituisce il prompt e non stampa nulla, significa che non c'è alcun processo in esecuzione con il nome apache2.

Per ora è tutto, da parte mia. Tutti i punti sopra discussi non sono sufficienti ma saranno sicuramente di 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.