Búsqueda de sitios web

20 comandos avanzados para usuarios de Linux de nivel medio


Es posible que el primer artículo le haya resultado muy útil; este artículo es una extensión de los 20 comandos útiles para principiantes de Linux. El primer artículo estaba destinado a principiantes y este artículo es para usuarios de nivel medio y usuarios avanzados. Aquí encontrarás cómo personalizar la búsqueda, conocer los procesos en ejecución, guía para matarlos, cómo hacer productivo tu terminal Linux es un aspecto importante y cómo compilar c, < programasc++, java en nix.

21. Comando: Buscar

Busque archivos en el directorio dado, comenzando jerárquicamente en el directorio principal y pasando a los subdirectorios.

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: La opción `-name‘ hace que la búsqueda distinga entre mayúsculas y minúsculas. Puede utilizar la opción `-iname‘ para buscar algo independientemente del caso. (* es un comodín y busca todos los archivos que tengan la extensión '.sh'; puede usar el nombre del archivo o una parte del nombre del archivo para personalizar la salida).

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: El comando anterior busca todos los archivos que tengan la extensión 'tar.gz' en el directorio raíz y todos los subdirectorios, incluidos los dispositivos montados.

Lea más ejemplos del comando 'buscar' de Linux en 35 Ejemplos de búsqueda de comandos en Linux

22. Comando: grep

El comando 'grep' busca en el archivo dado líneas que contengan una coincidencia con las cadenas o palabras dadas. Busque '/etc/passwd' para el usuario 'tecmint'.

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

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

Ignore las mayúsculas y minúsculas y todas las demás combinaciones con la opción '-i'.

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

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

Busque recursivamente (-r) es decir, lea todos los archivos en cada directorio en busca de una cadena "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: Puede utilizar las siguientes opciones junto con grep.

  1. -w para palabra (egrep -w ‘palabra1|palabra2‘ /ruta/al/archivo).
  2. -c para recuento (es decir, número total de veces que el patrón coincidió) (grep -c 'palabra' /ruta/al/archivo).
  3. –color para salida en color (grep –color servidor /etc/passwd).

23. Comando: hombre

El 'man' es el buscapersonas manual del sistema. Man proporciona documentación en línea para todas las opciones posibles con un comando y sus usos. Casi todos los mandos vienen con sus correspondientes páginas de manual. Por ejemplo,

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]

Página de manual para la página de manual en sí, de manera similar 'man cat' (página de manual para el comando cat) y 'man ls' (página de manual para el comando ls).

Nota: la página de manual está diseñada para referencia y aprendizaje de comandos.

24. Comando: ps

ps (Proceso) proporciona el estado de los procesos en ejecución con un Id único llamado PID.

root@tecmint:~# ps

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

Para enumerar el estado de todos los procesos junto con el id y el PID del proceso, utilice la opción '-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: Este comando es muy útil cuando desea saber qué procesos se están ejecutando o pueden necesitar PID a veces para finalizar el proceso. Puede usarlo con el comando 'grep' para buscar resultados personalizados. Por ejemplo,

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

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

Aquí 'ps' se canaliza con el comando 'grep' para encontrar resultados personalizados y relevantes de nuestra necesidad.

25. Comando: matar

Bien, es posible que hayas entendido para qué sirve este comando, por el nombre del comando. Este comando se utiliza para finalizar procesos que no son relevantes ahora o que no responden. Es un comando muy útil, más bien un comando muy, muy útil. Es posible que esté familiarizado con los reinicios frecuentes de Windows debido al hecho de que la mayoría de las veces un proceso en ejecución no se puede finalizar y, si se cancela, es necesario que Windows se reinicie para que los cambios puedan entrar en vigor, pero en el mundo de Linux, no existen tales cosas. Aquí puede finalizar un proceso e iniciarlo sin reiniciar todo el sistema.

Necesitas el pid (ps) de un proceso para eliminarlo.

Supongamos que desea eliminar el programa "apache2" que podría no responder. Ejecute 'ps -A' junto con el comando grep.

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

1285 ?        00:00:00 apache2

Busque el proceso 'apache2', observe su pid y elimine. Por ejemplo, en mi caso 'apache2' el pid es '1285'.

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

Nota: cada vez que vuelve a ejecutar un proceso o inicia un sistema, se genera un nuevo pid para cada proceso y puede conocer los procesos en ejecución actuales y su >pid usando el comando 'ps'.

Otra forma de finalizar el mismo proceso es.

root@tecmint:~# pkill apache2

Nota: Kill requiere ID de trabajo/ID de proceso para enviar señales, mientras que en pkill, tienes una opción. de usar patrones, especificar el propietario del proceso, etc.

26. Comando: ¿dónde está?

El comando 'whereis' se utiliza para localizar el Binario, las Fuentes y las Páginas de Manual del comando. Por ejemplo, para localizar el Binario, Fuentes y las Páginas de Manual del comando 'ls' y 'matar'.

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 veces, esto es útil para saber dónde están instalados los archivos binarios para editarlos manualmente.

27. Comando: servicio

El comando 'servicio' controla el Inicio, Detención o Reinicio de un 'servicio >'. Este comando permite iniciar, reiniciar o detener un servicio sin reiniciar el sistema, para que los cambios entren en vigor.

Iniciando un servidor apache2 en 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 ]

Reiniciar un servidor apache2 en 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 ]

Detener un servidor apache2 en 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: Todo el script del proceso se encuentra en '/etc/init.d', y es posible que sea necesario incluir la ruta en determinado sistema, es decir, a pesar de ejecutar " servicio apache2 start ” se le pedirá que ejecute “/etc/init.d/apache2 start ”.

28. Comando: alias

alias es un comando de shell integrado que le permite asignar un nombre a un comando largo o a un comando de uso frecuente.

Utilizo el comando 'ls -l' con frecuencia, que incluye 5 caracteres, incluido el espacio. Por lo tanto, creé un alias para esto para 'l'.

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

comprobar si funciona 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

Para eliminar el alias 'l', utilice el siguiente comando 'unalias'.

root@tecmint:~# unalias l

compruebe si 'l' todavía es un alias o no.

root@tecmint:~# l

bash: l: command not found

Hacer un poco de diversión con este comando. Convierta un alias de cierto comando importante en otro 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)
....

Ahora, cuando tu amigo escriba 'cd', piense en lo divertido que sería si obtuviera una lista del directorio y no cambiara el directorio. Y cuando intenta ser "su" lo único que obtiene es la ubicación del directorio de trabajo. Puede eliminar el alias más adelante usando el comando 'unalias' como se explicó anteriormente.

29. Comando: df

Informar los usos del disco del sistema de archivos. Útil tanto para el usuario como para el administrador del sistema para realizar un seguimiento del uso del disco. 'df' funciona examinando las entradas del directorio, que generalmente se actualizan sólo cuando se cierra un archivo.

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

Para obtener más ejemplos del comando 'df', lea el artículo 12 ejemplos de comandos df en Linux.

30. Comando: du

Calcule el uso del espacio de archivos. Genere el resumen de los usos del disco por archivo de forma jerárquica, es decir, de manera recursiva.

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' solo informa estadísticas de uso en sistemas de archivos, mientras que 'du', por otro lado, mide el contenido del directorio. Para obtener más ejemplos y usos del comando 'du', lea 10 comandos du (uso del disco).

31. Comando: rm

El comando 'rm' significa eliminar. rm se utiliza para eliminar archivos y directorios.

Eliminar un directorio

root@tecmint:~# rm PassportApplicationForm_Main_English_V1.0

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

El directorio no se puede eliminar simplemente con el comando 'rm', debe usar el interruptor '-rf' junto con 'rm'.

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

Advertencia: el comando “rm -rf” es un comando destructivo si accidentalmente llega al directorio equivocado. Una vez que 'rm -rf' un directorio, todos los archivos y el directorio en sí se pierden para siempre, de repente. Úselo con precaución.

32. Comando: eco

echo, como sugiere el nombre, hace eco de un texto en la salida estándar. No tiene nada que ver con Shell, ni Shell lee la salida del comando echo. Sin embargo, en un script interactivo, echo pasa el mensaje al usuario a través de la terminal. Es uno de los comandos que se usa comúnmente en secuencias de comandos, secuencias de comandos interactivas.

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

linux-console.net is a very good website
creando un pequeño guión interactivo

1. cree un archivo llamado 'interactive_shell.sh' en el escritorio. (Recuerde que la extensión '.sh' es obligatoria).
2. Copie y pegue el siguiente script, exactamente igual que a continuación.

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

A continuación, establezca el permiso de ejecución y ejecute el 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' le dice al shell que es un script y siempre es una buena idea incluirlo en la parte superior del script. 'read' lee la entrada dada.

33. Comando: contraseña

Este es un comando importante que resulta útil para cambiar su propia contraseña en la terminal. Obviamente necesita saber su contraseña actual por razones de seguridad.

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

Este comando imprime archivos nombrados en la línea de comando, en la impresora nombrada.

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

Nota: El comando 'lpq' le permite ver el estado de una impresora (si está activa o no) y los trabajos (archivos) en espera de imprimirse.

35. Comando: cmp

compara dos archivos de cualquier tipo y escribe los resultados en la salida estándar. De forma predeterminada, 'cmp' devuelve 0 si los archivos son iguales; si difieren, se informa el byte y el número de línea en el que se produjo la primera diferencia.

Para proporcionar ejemplos de este comando, consideremos dos archivos:

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

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

Hi My name is tecmint [dot] com

Ahora, comparemos dos archivos y veamos el resultado del comando.

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

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

36. Comando: wget

Wget es una utilidad gratuita para la descarga no interactiva (es decir, que puede funcionar en segundo plano) de archivos de la Web. Admite protocolos HTTP, HTTPS, FTP y proxies HTTP.

Descargar 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: montar

Montar es un comando importante que se utiliza para montar un sistema de archivos que no se monta solo. Necesita permiso de root para montar un dispositivo.

Primero ejecute 'lsblk' después de conectar su sistema de archivos, identifique su dispositivo y anote el nombre asignado a su 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

En esta pantalla quedó claro que conecté un pendrive de 4 GB, por lo que 'sdb1' es mi sistema de archivos a montar. Conviértase en root para realizar esta operación y cambie al directorio /dev donde está montado todo el sistema de archivos.

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

Cree un directorio con cualquier nombre que no sea relevante como referencia.

root@tecmint:~# mkdir usb

Ahora monte el sistema de archivos 'sdb1' en el directorio 'usb'.

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

Ahora puede navegar a /dev/usb desde la terminal o el sistema X-windows y acceder al archivo desde el directorio montado.

38. Comando: gcc

gcc es el compilador incorporado para el lenguaje 'c' en el entorno Linux. Un programa c simple, guárdelo en su escritorio como Hello.c (recuerde que la extensión '.c' es imprescindible).

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

Hello world

Nota: Al compilar un programa c, la salida se genera automáticamente en un nuevo archivo “a.out” y cada vez que compilas un c programa el mismo archivo “a.out” que se modifica. Por lo tanto, es un buen consejo definir un archivo de salida durante la compilación y así no hay riesgo de sobrescribirlo.

compilalo de esta manera
root@tecmint:~# gcc -o Hello Hello.c

Aquí '-o' envía la salida al archivo 'Hello' y no a 'a.out'. Ejecútalo de nuevo.

root@tecmint:~# ./Hello 

Hello world

39. Comando: g++

g++ es el compilador incorporado para 'C++', el primer lenguaje de programación orientado a objetos. Un programa simple en c++, guárdelo en su escritorio como Add.cpp (recuerde que la extensión '.cpp' es imprescindible).

#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
Ejecutarlo
root@tecmint:~# ./a.out

Enter first number: 
...
...

Nota: Al compilar un programa c++, la salida se genera automáticamente en un nuevo archivo “a.out” y cada vez que compilas un El mismo archivo “a.out” del programa c++ se modifica. Por lo tanto, es un buen consejo definir un archivo de salida durante la compilación y así no hay riesgo de sobrescribirlo.

compilalo de esta manera
root@tecmint:~# g++ -o Add Add.cpp
Ejecutarlo
root@tecmint:~# ./Add 

Enter first number: 
...
...

40. Comando: java

Java es uno de los lenguajes de programación más utilizados en el mundo y se considera rápido, seguro y confiable. La mayor parte de los servicios basados en web actuales se ejecutan en Java.

Cree un programa Java simple pegando la siguiente prueba en un archivo llamado tecmint.java (recuerde que la extensión '.java' es obligatoria).

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

Nota: Casi todas las distribuciones vienen con el compilador gcc, la mayoría de las distribuciones tienen g++ y un compilador java incorporados. mientras que algunos pueden no tenerlo. Puede apt o yum el paquete requerido.

No olvides mencionar tu valioso comentario y el tipo de artículo que deseas ver aquí. Pronto volveré con un tema interesante sobre los hechos menos conocidos sobre Linux.