Ricerca nel sito web

20 comandi avanzati per utenti Linux di livello medio


Potresti aver trovato il primo articolo molto utile, questo articolo è un'estensione dei 20 comandi utili per i principianti di Linux. Il primo articolo era destinato ai principianti, mentre questo articolo è rivolto agli utenti di livello medio e agli utenti avanzati. Qui troverai come personalizzare la ricerca, conoscere i processi in esecuzione e la guida per eliminarli, come rendere produttivo il tuo terminale Linux è un aspetto importante e come compilare c, < programmic++, java in nix.

21. Comando: Trova

Cerca i file nella directory specificata, iniziando gerarchicamente dalla directory principale e spostandosi nelle sottodirectory.

root@tecmint:~# find -name *.sh 

./Desktop/load.sh 
./Desktop/test.sh 
./Desktop/shutdown.sh 
./Binary/firefox/run-mozilla.sh 
./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.sh 
./Downloads/kdewebdev-3.5.8/admin/doxygen.sh 
./Downloads/kdewebdev-3.5.8/admin/cvs.sh 
./Downloads/kdewebdev-3.5.8/admin/ltmain.sh 
./Downloads/wheezy-nv-install.sh

Nota: l'opzione "-name" rende la ricerca sensibile alle maiuscole. Puoi utilizzare l'opzione "-iname" per trovare qualcosa indipendentemente dalle maiuscole e minuscole. (* è un carattere jolly e cerca tutti i file con estensione ".sh", puoi utilizzare il nome file o una parte del nome file per personalizzare l'output).

root@tecmint:~# find -iname *.SH ( find -iname *.Sh /  find -iname *.sH)

./Desktop/load.sh 
./Desktop/test.sh 
./Desktop/shutdown.sh 
./Binary/firefox/run-mozilla.sh 
./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.sh 
./Downloads/kdewebdev-3.5.8/admin/doxygen.sh 
./Downloads/kdewebdev-3.5.8/admin/cvs.sh 
./Downloads/kdewebdev-3.5.8/admin/ltmain.sh 
./Downloads/wheezy-nv-install.sh
root@tecmint:~# find -name *.tar.gz 

/var/www/modules/update/tests/aaa_update_test.tar.gz 
./var/cache/flashplugin-nonfree/install_flash_player_11_linux.i386.tar.gz 
./home/server/Downloads/drupal-7.22.tar.gz 
./home/server/Downloads/smtp-7.x-1.0.tar.gz 
./home/server/Downloads/noreqnewpass-7.x-1.2.tar.gz 
./usr/share/gettext/archive.git.tar.gz 
./usr/share/doc/apg/php.tar.gz 
./usr/share/doc/festival/examples/speech_pm_1.0.tar.gz 
./usr/share/doc/argyll/examples/spyder2.tar.gz 
./usr/share/usb_modeswitch/configPack.tar.gz

Nota: il comando precedente cerca tutti i file con estensione "tar.gz" nella directory principale e in tutte le sottodirectory inclusi i dispositivi montati.

Leggi altri esempi del comando Linux "trova" in 35 Trova esempi di comandi in Linux

22. Comando: grep

Il comando "grep" cerca nel file specificato le righe contenenti una corrispondenza con le stringhe o le parole specificate. Cerca "/etc/passwd" per l'utente "tecmint".

root@tecmint:~# grep tecmint /etc/passwd 

tecmint:x:1000:1000:Tecmint,,,:/home/tecmint:/bin/bash

Ignora maiuscole e minuscole e tutte le altre combinazioni con l'opzione "-i".

root@tecmint:~# grep -i TECMINT /etc/passwd 

tecmint:x:1000:1000:Tecmint,,,:/home/tecmint:/bin/bash

Cerca in modo ricorsivo (-r) cioè leggi tutti i file in ciascuna directory per una stringa "127.0.0.1".

root@tecmint:~# grep -r "127.0.0.1" /etc/ 

/etc/vlc/lua/http/.hosts:127.0.0.1
/etc/speech-dispatcher/modules/ivona.conf:#IvonaServerHost "127.0.0.1"
/etc/mysql/my.cnf:bind-address		= 127.0.0.1
/etc/apache2/mods-available/status.conf:    Allow from 127.0.0.1 ::1
/etc/apache2/mods-available/ldap.conf:    Allow from 127.0.0.1 ::1
/etc/apache2/mods-available/info.conf:    Allow from 127.0.0.1 ::1
/etc/apache2/mods-available/proxy_balancer.conf:#    Allow from 127.0.0.1 ::1
/etc/security/access.conf:#+ : root : 127.0.0.1
/etc/dhcp/dhclient.conf:#prepend domain-name-servers 127.0.0.1;
/etc/dhcp/dhclient.conf:#  option domain-name-servers 127.0.0.1;
/etc/init/network-interface.conf:	ifconfig lo 127.0.0.1 up || true
/etc/java-6-openjdk/net.properties:# localhost & 127.0.0.1).
/etc/java-6-openjdk/net.properties:# http.nonProxyHosts=localhost|127.0.0.1
/etc/java-6-openjdk/net.properties:# localhost & 127.0.0.1).
/etc/java-6-openjdk/net.properties:# ftp.nonProxyHosts=localhost|127.0.0.1
/etc/hosts:127.0.0.1	localhost

Nota: puoi utilizzare le seguenti opzioni insieme a grep.

  1. -w per parola (egrep -w ‘parola1|parola2‘ /percorso/del/file).
  2. -c per il conteggio (ovvero il numero totale di volte in cui il modello ha trovato corrispondenza) (grep -c ‘parola‘ /percorso/del/file).
  3. –color per output colorato (grep –color server /etc/passwd).

23. Comando: uomo

L’uomo‘ è il cercapersone manuale del sistema. Man fornisce la documentazione in linea per tutte le possibili opzioni con un comando e i suoi utilizzi. Quasi tutti i comandi vengono forniti con le pagine man corrispondenti. Per esempio,

root@tecmint:~# man man

MAN(1)                                                               Manual pager utils                                                              MAN(1)

NAME
       man - an interface to the on-line reference manuals

SYNOPSIS
       man  [-C  file]  [-d]  [-D]  [--warnings[=warnings]]  [-R  encoding]  [-L  locale]  [-m  system[,...]]  [-M  path]  [-S list] [-e extension] [-i|-I]
       [--regex|--wildcard] [--names-only] [-a] [-u] [--no-subpages] [-P pager] [-r prompt] [-7] [-E encoding] [--no-hyphenation] [--no-justification]  [-p
       string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] [[section] page ...] ...
       man -k [apropos options] regexp ...
       man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ...
       man -f [whatis options] page ...
       man -l [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-P pager] [-r prompt] [-7] [-E encoding] [-p string] [-t] [-T[device]]
       [-H[browser]] [-X[dpi]] [-Z] file ...
       man -w|-W [-C file] [-d] [-D] page ...
       man -c [-C file] [-d] [-D] page ...
       man [-hV]

Pagina di manuale per la pagina man stessa, in modo simile a "man cat" (Pagina di manuale per il comando cat) e "man ls" (Pagina di manuale per il comando ls).

Nota: la pagina man è destinata alla consultazione e all'apprendimento dei comandi.

24. Comando: ps

ps (Process) fornisce lo stato dei processi in esecuzione con un ID univoco chiamato PID.

root@tecmint:~# ps

 PID TTY          TIME CMD
 4170 pts/1    00:00:00 bash
 9628 pts/1    00:00:00 ps

Per elencare lo stato di tutti i processi insieme all'id e al PID del processo, utilizzare l'opzione "-A".

root@tecmint:~# ps -A

 PID TTY          TIME CMD
    1 ?        00:00:01 init
    2 ?        00:00:00 kthreadd
    3 ?        00:00:01 ksoftirqd/0
    5 ?        00:00:00 kworker/0:0H
    7 ?        00:00:00 kworker/u:0H
    8 ?        00:00:00 migration/0
    9 ?        00:00:00 rcu_bh
....

Nota: questo comando è molto utile quando vuoi sapere quali processi sono in esecuzione o a volte potrebbero aver bisogno del PID, affinché il processo venga terminato. Puoi usarlo con il comando "grep" per trovare un output personalizzato. Per esempio,

root@tecmint:~# ps -A | grep -i ssh

 1500 ?        00:09:58 sshd
 4317 ?        00:00:00 sshd

Qui "ps" viene pipeline con il comando "grep" per trovare un output personalizzato e pertinente alle nostre esigenze.

25. Comando: uccidi

OK, potresti aver capito a cosa serve questo comando, dal nome del comando. Questo comando viene utilizzato per terminare il processo che non è rilevante al momento o che non risponde. È un comando molto utile, anzi un comando molto molto utile. Potresti avere familiarità con i frequenti riavvii di Windows a causa del fatto che la maggior parte delle volte un processo in esecuzione non può essere interrotto e, se interrotto, ha bisogno di Windows per riavviarsi in modo che le modifiche possano essere rese effettive, ma nel mondo di Linux, non esistono cose del genere. Qui puoi terminare un processo e avviarlo senza riavviare l'intero sistema.

Hai bisogno del pid (ps) di un processo per terminarlo.

Supponiamo che tu voglia terminare il programma "apache2" che potrebbe non rispondere. Esegui "ps -A" insieme al comando grep.

root@tecmint:~# ps -A | grep -i apache2

1285 ?        00:00:00 apache2

Trova il processo "apache2", nota il suo pid e uccidi. Ad esempio, nel mio caso il pid "apache2" è "1285".

root@tecmint:~# kill 1285 (to kill the process apache2)

Nota: ogni volta che riesegui un processo o avvii un sistema, viene generato un nuovo pid per ciascun processo e puoi conoscere i processi attualmente in esecuzione e i relativi >pid utilizzando il comando 'ps'.

Un altro modo per terminare lo stesso processo è.

root@tecmint:~# pkill apache2

Nota: Kill richiede ID lavoro/ID processo per l'invio di segnali, mentre come in pkill, hai un'opzione di utilizzare pattern, specificare il proprietario del processo, ecc.

26. Comando: dov'è

Il comando "whereis" viene utilizzato per individuare il binario, le sorgenti e le pagine di manuale del comando. Ad esempio, per individuare il Binario, le Sorgenti e le Pagine di manuale del comando 'ls' e 'uccidere'.

root@tecmint:~# whereis ls 

ls: /bin/ls /usr/share/man/man1/ls.1.gz
root@tecmint:~# whereis kill

kill: /bin/kill /usr/share/man/man2/kill.2.gz /usr/share/man/man1/kill.1.gz

Nota: a volte è utile sapere dove sono installati i file binari per la modifica manuale.

27. Comando: servizio

Il comando 'servizio' controlla l'avvio, l'arresto o il riavvio di un 'servizio >'. Questo comando consente di avviare, riavviare o interrompere un servizio senza riavviare il sistema, affinché le modifiche abbiano effetto.

Avvio di un server Apache2 su Ubuntu

root@tecmint:~# service apache2 start

 * Starting web server apache2                                                                                                                                 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
httpd (pid 1285) already running						[ OK ]

Riavvio di un server Apache2 su Ubuntu

root@tecmint:~# service apache2 restart

* Restarting web server apache2                                                                                                                               apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
 ... waiting .apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName  [ OK ]

Arresto di un server Apache2 su Ubuntu

root@tecmint:~# service apache2 stop

 * Stopping web server apache2                                                                                                                                 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
 ... waiting                                                           		[ OK ]

Nota: tutto lo script del processo si trova in '/etc/init.d' e potrebbe essere necessario includere il percorso su determinati sistemi, ad esempio nonostante sia in esecuzione " service apache2 start " ti verrà chiesto di eseguire "/etc/init.d/apache2 start ".

28. Comando: alias

alias è un comando integrato nella shell che ti consente di assegnare un nome a un comando lungo o a un comando utilizzato di frequente.

Utilizzo spesso il comando "ls -l", che include 5 caratteri compreso lo spazio. Quindi ho creato un alias per questo in "l".

root@tecmint:~# alias l='ls -l'

controlla se funziona o no.

root@tecmint:~# l

total 36 
drwxr-xr-x 3 tecmint tecmint 4096 May 10 11:14 Binary 
drwxr-xr-x 3 tecmint tecmint 4096 May 21 11:21 Desktop 
drwxr-xr-x 2 tecmint tecmint 4096 May 21 15:23 Documents 
drwxr-xr-x 8 tecmint tecmint 4096 May 20 14:56 Downloads 
drwxr-xr-x 2 tecmint tecmint 4096 May  7 16:58 Music 
drwxr-xr-x 2 tecmint tecmint 4096 May 20 16:17 Pictures 
drwxr-xr-x 2 tecmint tecmint 4096 May  7 16:58 Public 
drwxr-xr-x 2 tecmint tecmint 4096 May  7 16:58 Templates 
drwxr-xr-x 2 tecmint tecmint 4096 May  7 16:58 Videos

Per rimuovere l'alias "l", utilizzare il seguente comando "unalias".

root@tecmint:~# unalias l

controlla se "l" è ancora un alias o no.

root@tecmint:~# l

bash: l: command not found

Divertirsi un po' con questo comando. Crea un alias di un comando importante per qualche altro comando importante.

alias cd='ls -l' (set alias of ls -l to cd)
alias su='pwd' (set alias of pwd to su)
....
(You can create your own)
....

Ora, quando il tuo amico digita "cd", pensa a quanto sarebbe divertente se ricevesse l'elenco delle directory e non il cambio di directory. E quando cerca di essere "su" tutto ciò che ottiene è la posizione della directory di lavoro. Puoi rimuovere l'alias in seguito utilizzando il comando "unalias" come spiegato sopra.

29. Comando: df

Segnala gli utilizzi del disco del file system. Utile sia per gli utenti che per gli amministratori di sistema per tenere traccia dei propri utilizzi del disco. ‘df‘ funziona esaminando le voci della directory, che generalmente vengono aggiornate solo quando un file viene chiuso.

root@tecmint:~# df

Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1       47929224 7811908  37675948  18% /
none                   4       0         4   0% /sys/fs/cgroup
udev             1005916       4   1005912   1% /dev
tmpfs             202824     816    202008   1% /run
none                5120       0      5120   0% /run/lock
none             1014120     628   1013492   1% /run/shm
none              102400      44    102356   1% /run/user
/dev/sda5         184307   79852     94727  46% /boot
/dev/sda7       95989516   61104  91045676   1% /data
/dev/sda8       91953192   57032  87218528   1% /personal

Per ulteriori esempi di comando "df", leggi l'articolo 12 Esempi di comandi df in Linux.

30. Comando: du

Stima dell'utilizzo dello spazio file. Visualizza il riepilogo degli utilizzi del disco per ogni file in modo gerarchico, ovvero in modo ricorsivo.

root@tecmint:~# du

8       ./Daily Pics/wp-polls/images/default_gradient
8       ./Daily Pics/wp-polls/images/default
32      ./Daily Pics/wp-polls/images
8       ./Daily Pics/wp-polls/tinymce/plugins/polls/langs
8       ./Daily Pics/wp-polls/tinymce/plugins/polls/img
28      ./Daily Pics/wp-polls/tinymce/plugins/polls
32      ./Daily Pics/wp-polls/tinymce/plugins
36      ./Daily Pics/wp-polls/tinymce
580     ./Daily Pics/wp-polls
1456    ./Daily Pics
36      ./Plugins/wordpress-author-box
16180   ./Plugins
12      ./May Articles 2013/Xtreme Download Manager
4632    ./May Articles 2013/XCache

Nota: "df" riporta solo le statistiche di utilizzo dei file system, mentre "du" misura invece il contenuto delle directory. Per ulteriori esempi e utilizzo dei comandi "du", leggi 10 comandi du (utilizzo del disco).

31. Comando: rm

Il comando "rm" sta per rimuovere. rm viene utilizzato per rimuovere file (s) e directory.

Rimozione di una directory

root@tecmint:~# rm PassportApplicationForm_Main_English_V1.0

rm: cannot remove `PassportApplicationForm_Main_English_V1.0': Is a directory

La directory non può essere rimossa semplicemente con il comando "rm", devi utilizzare l'opzione "-rf" insieme a "rm".

root@tecmint:~# rm -rf PassportApplicationForm_Main_English_V1.0

Attenzione: il comando “rm -rf” è un comando distruttivo se accidentalmente arrivi alla directory sbagliata. Una volta che si usa "rm -rf" una directory, tutti i file e la directory stessa vengono persi per sempre, all'improvviso. Usalo con cautela.

32. Comando: eco

echo come suggerisce il nome, fa eco a un testo sullo standard output. Non ha nulla a che fare con la shell, né la shell legge l'output del comando echo. Tuttavia, in uno script interattivo, echo passa il messaggio all'utente tramite il terminale. È uno dei comandi comunemente utilizzati negli script, negli script interattivi.

root@tecmint:~# echo "linux-console.net is a very good website" 

linux-console.net is a very good website
creando un piccolo script interattivo

1. crea un file denominato "interactive_shell.sh" sul desktop. (Ricorda che l'estensione ".sh" è obbligatoria).
2. copia e incolla lo script seguente, esattamente come di seguito.

#!/bin/bash 
echo "Please enter your name:" 
   read name 
   echo "Welcome to Linux $name"

Successivamente, imposta l'autorizzazione di esecuzione ed esegui lo script.

root@tecmint:~# chmod 777 interactive_shell.sh
root@tecmint:~# ./interactive_shell.sh

Please enter your name:
Ravi Saive
Welcome to Linux Ravi Saive

Nota: "#!/bin/bash" dice alla shell che si tratta di uno script ed è sempre una buona idea includerlo all'inizio dello script. "leggi" legge l'input fornito.

33. Comando: passwd

Questo è un comando importante utile per modificare la propria password nel terminale. Ovviamente è necessario conoscere la password attuale per motivi di sicurezza.

root@tecmint:~# passwd 

Changing password for tecmint. 
(current) UNIX password: ******** 
Enter new UNIX password: ********
Retype new UNIX password: ********
Password unchanged   [Here was passowrd remians unchanged, i.e., new password=old password]
Enter new UNIX password: #####
Retype new UNIX password:#####

34. Comando: lpr

Questo comando stampa i file indicati sulla riga di comando sulla stampante denominata.

root@tecmint:~# lpr -P deskjet-4620-series 1-final.pdf

Nota: il comando "lpq" consente di visualizzare lo stato di una stampante (se è accesa o meno) e i lavori (file) in attesa di essere stampati.

35. Comando: cmp

confronta due file di qualsiasi tipo e scrive i risultati sullo standard output. Per impostazione predefinita, "cmp" Restituisce 0 se i file sono uguali; se differiscono, viene riportato il byte e il numero di riga in cui si è verificata la prima differenza.

Per fornire esempi per questo comando, consideriamo due file:

file1.txt
root@tecmint:~# cat file1.txt

Hi My name is Tecmint
file2.txt
root@tecmint:~# cat file2.txt

Hi My name is tecmint [dot] com

Ora confrontiamo due file e vediamo l'output del comando.

root@tecmint:~# cmp file1.txt file2.txt 

file1.txt file2.txt differ: byte 15, line 1

36. Comando: wget

Wget è un'utilità gratuita per il download non interattivo (ovvero, che può funzionare in background) di file dal Web. Supporta i protocolli HTTP, HTTPS, FTP e proxy HTTP.

Scarica ffmpeg usando wget

root@tecmint:~# wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2

--2013-05-22 18:54:52--  http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://kaz.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2 [following]
--2013-05-22 18:54:54--  http://kaz.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
Resolving kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)... 92.46.53.163
Connecting to kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)|92.46.53.163|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 275557 (269K) [application/octet-stream]
Saving to: ‘ffmpeg-php-0.6.0.tbz2’

100%[===========================================================================>] 2,75,557    67.8KB/s   in 4.0s   

2013-05-22 18:55:00 (67.8 KB/s) - ‘ffmpeg-php-0.6.0.tbz2’ saved [275557/275557]

37. Comando: monta

Mount è un comando importante che viene utilizzato per montare un filesystem che non si monta da solo. È necessaria l'autorizzazione root per montare un dispositivo.

Per prima cosa esegui "lsblk" dopo aver collegato il tuo file system, identifica il tuo dispositivo e annota il nome assegnato al dispositivo.

root@tecmint:~# lsblk 

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT 
sda      8:0    0 931.5G  0 disk 
├─sda1   8:1    0 923.6G  0 part / 
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0   7.9G  0 part [SWAP] 
sr0     11:0    1  1024M  0 rom  
sdb      8:16   1   3.7G  0 disk 
└─sdb1   8:17   1   3.7G  0 part

Da questa schermata era chiaro che avevo collegato una pendrive da 4 GB quindi "sdb1" è il mio filesystem da montare. Diventa un root per eseguire questa operazione e passa alla directory /dev dove è montato tutto il file system.

root@tecmint:~# su
Password:
root@tecmint:~# cd /dev

Crea una directory denominata in qualsiasi modo ma dovrebbe essere pertinente come riferimento.

root@tecmint:~# mkdir usb

Ora monta il filesystem "sdb1" nella directory "usb".

root@tecmint:~# mount /dev/sdb1 /dev/usb

Ora puoi navigare verso /dev/usb dal terminale o dal sistema X-Windows e accedere al file dalla directory montata.

38. Comando: gcc

gcc è il compilatore integrato per il linguaggio "c" nell'ambiente Linux. Un semplice programma c, salvalo sul tuo desktop come Hello.c (ricorda che l'estensione ".c" è obbligatoria).

#include <stdio.h>
int main()
{
  printf("Hello world\n");
  return 0;
}
Compilarlo
root@tecmint:~# gcc Hello.c
Eseguirlo
root@tecmint:~# ./a.out 

Hello world

Nota: Durante la compilazione di un programma c l'output viene automaticamente generato in un nuovo file "a.out" e ogni volta che compili un c programma lo stesso file “a.out” viene modificato. Quindi è un buon consiglio definire un file di output durante la compilazione e quindi non c'è il rischio di sovrascrivere il file di output.

Compilalo in questo modo
root@tecmint:~# gcc -o Hello Hello.c

Qui "-o" invia l'output al file "Hello" e non a "a.out". Eseguilo di nuovo.

root@tecmint:~# ./Hello 

Hello world

39. Comando: g++

g++ è il compilatore integrato per "C++", il primo linguaggio di programmazione orientato agli oggetti. Un semplice programma c++, salvalo sul tuo desktop come Add.cpp (ricorda che l'estensione ".cpp" è obbligatoria).

#include <iostream>

using namespace std;

int main() 
    {
          int a;
          int b;
          cout<<"Enter first number:\n";
          cin >> a;
          cout <<"Enter the second number:\n";
          cin>> b;
          cin.ignore();
          int result = a + b;
          cout<<"Result is"<<"  "<<result<<endl;
          cin.get();
          return 0;
     }
Compilarlo
root@tecmint:~# g++ Add.cpp
Eseguirlo
root@tecmint:~# ./a.out

Enter first number: 
...
...

Nota: durante la compilazione di un programma c++, l'output viene automaticamente generato in un nuovo file "a.out" e ogni volta che compili un c++ lo stesso file “a.out” viene modificato. Quindi è un buon consiglio definire un file di output durante la compilazione e quindi non c'è il rischio di sovrascrivere il file di output.

Compilalo in questo modo
root@tecmint:~# g++ -o Add Add.cpp
Eseguirlo
root@tecmint:~# ./Add 

Enter first number: 
...
...

40. Comando: java

Java è uno dei linguaggi di programmazione più utilizzati al mondo ed è considerato veloce, sicuro e affidabile. La maggior parte dei servizi web odierni vengono eseguiti su Java.

Crea un semplice programma Java incollando il test seguente in un file denominato tecmint.java (ricorda che l'estensione ".java" è obbligatoria).

class tecmint {
  public static void main(String[] arguments) {
    System.out.println("Tecmint ");
  }
}
compilarlo utilizzando javac
root@tecmint:~# javac tecmint.java
Eseguirlo
root@tecmint:~# java tecmint

Nota: quasi tutte le distribuzioni sono dotate del compilatore gcc, la maggior parte delle distribuzioni hanno g++ e compilatore Java integrati, mentre alcuni potrebbero non averlo. Puoi apt o yum il pacchetto richiesto.

Non dimenticare di menzionare il tuo prezioso commento e il tipo di articolo che desideri vedere qui. Tornerò presto con un argomento interessante sui fatti meno conosciuti su Linux.