Zoeken op website

20 geavanceerde opdrachten voor Linux-gebruikers op gemiddeld niveau


Misschien vond je het eerste artikel erg nuttig, dit artikel is een uitbreiding van de 20 nuttige opdrachten voor Linux-nieuwkomers. Het eerste artikel was bedoeld voor nieuwelingen en dit artikel is voor Middle-Level-User en Advanced Users. Hier vindt u hoe u de zoekopdracht kunt aanpassen, hoe u de processen kunt doorlopen om ze te beëindigen, hoe u uw Linux-terminal productief kunt maken (een belangrijk aspect) en hoe u c, c++, java programma's in nix.

21. Commando: Vind

Zoek naar bestanden in de opgegeven map, hiërarchisch beginnend bij de bovenliggende map en naar submappen.

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

Opmerking: de optie `-naam‘ maakt de zoekactie gevoelig. Je kunt de optie `-iname‘ gebruiken om iets te vinden, ongeacht het hoofdlettergebruik. (* is een jokerteken en doorzoekt het hele bestand met de extensie ‘.sh’. U kunt de bestandsnaam of een deel van de bestandsnaam gebruiken om de uitvoer aan te passen).

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

Opmerking: De bovenstaande opdracht zoekt naar alle bestanden met de extensie ‘tar.gz’ in de hoofdmap en alle submappen, inclusief gekoppelde apparaten.

Lees meer voorbeelden van de Linux ‘find’ opdracht op 35 Vind opdrachtvoorbeelden in Linux

22. Commando: grep

Het ‘grep’ commando doorzoekt het gegeven bestand naar regels die een overeenkomst bevatten met de gegeven strings of woorden. Zoek ‘/etc/passwd‘ naar ‘tecmint‘ gebruiker.

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

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

Negeer hoofdletters en alle andere combinaties met de optie ‘-i’.

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

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

Zoek recursief (-r) d.w.z. lees alle bestanden onder elke map op zoek naar de tekenreeks “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

Opmerking: je kunt deze volgende opties samen met grep gebruiken.

  1. -w voor woord (bijvoorbeeld -w ‘woord1|woord2‘/pad/naar/bestand).
  2. -c voor aantal (d.w.z. het totale aantal keren dat het patroon overeenkwam) (grep -c ‘woord‘ /pad/naar/bestand).
  3. –color voor gekleurde uitvoer (grep –color server /etc/passwd).

23. Commando: man

De ‘man’ is de handmatige pager van het systeem. Man biedt online documentatie voor alle mogelijke opties met een opdracht en het gebruik ervan. Bijna alle opdrachten worden geleverd met de bijbehorende handleidingpagina's. Bijvoorbeeld,

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]

Handleidingpagina voor de manpagina zelf, vergelijkbaar met ‘man cat’ (Handmatige pagina voor cat-commando) en ‘man ls‘ (Handmatige pagina voor commando ls).

Opmerking: de manpagina is bedoeld voor commandoreferentie en om te leren.

24. Commando: ps

ps (Proces) geeft de status van actieve processen weer met een unieke Id genaamd PID.

root@tecmint:~# ps

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

Om de status van alle processen samen met proces id en PID weer te geven, gebruikt u de optie ‘-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
....

Opmerking: deze opdracht is erg handig als u wilt weten welke processen actief zijn of soms PID nodig hebben om het proces te beëindigen. Je kunt het gebruiken met de opdracht ‘grep’ om aangepaste uitvoer te vinden. Bijvoorbeeld,

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

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

Hier wordt ‘ps’ gepipelined met de opdracht ‘grep’ om aangepaste en relevante output van onze behoefte te vinden.

25. Commando: doden

Oké, je hebt misschien begrepen waar dit commando voor is, aan de hand van de naam van het commando. Dit commando wordt gebruikt om een proces te beëindigen dat nu niet relevant is of niet reageert. Het is een zeer nuttig commando, eerder een heel erg nuttig commando. Je bent misschien bekend met het veelvuldig herstarten van Windows vanwege het feit dat een lopend proces meestal niet kan worden gedood, en als het wordt gedood, heeft het Windows nodig om opnieuw op te starten, zodat de wijzigingen van kracht kunnen worden, maar in de wereld van Linux, zulke dingen bestaan niet. Hier kunt u een proces beëindigen en starten zonder het hele systeem opnieuw op te starten.

Je hebt de pid (ps) van een proces nodig om het te beëindigen.

Stel dat u het programma ‘apache2‘ wilt afsluiten dat mogelijk niet reageert. Voer ‘ps -A‘ uit samen met de opdracht grep.

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

1285 ?        00:00:00 apache2

Zoek proces ‘apache2‘, noteer de pid ervan en dood het. In mijn geval is ‘apache2‘ pid bijvoorbeeld ‘1285‘.

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

Opmerking: elke keer dat u een proces opnieuw uitvoert of een systeem start, wordt voor elk proces een nieuwe pid gegenereerd en kunt u meer te weten komen over de huidige lopende processen en de >pid met behulp van het commando 'ps'.

Een andere manier om hetzelfde proces te beëindigen is.

root@tecmint:~# pkill apache2

Opmerking: Kill vereist taak-ID/proces-ID voor het verzenden van signalen, waarbij je, net als bij pkill, een optie hebt van het gebruik van een patroon, het specificeren van de proceseigenaar, enz.

26. Commando: waar is

Het ‘whereis’ commando wordt gebruikt om de Binaire, Bronnen en Handmatige Pagina's van het commando te lokaliseren. Als u bijvoorbeeld de Binaire, Bronnen en Handmatige pagina's van de opdracht 'ls' en 'doden'.

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

Opmerking: dit is handig om te weten waar de binaire bestanden zijn geïnstalleerd, zodat ze soms handmatig kunnen worden bewerkt.

27. Commando: dienst

Met het commando 'service' regelt u het Starten, Stoppen of Herstarten van een 'service >'. Met deze opdracht kunt u een service starten, herstarten of stoppen zonder het systeem opnieuw op te starten, zodat de wijzigingen van kracht worden.

Een apache2-server starten op 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 ]

Een apache2-server opnieuw opstarten op 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 ]

Een apache2-server op Ubuntu stoppen

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 ]

Opmerking: het hele processcript bevindt zich in '/etc/init.d', en het pad moet mogelijk op bepaalde systemen worden opgenomen, d.w.z. ondanks het uitvoeren van “ service apache2 start ” wordt u gevraagd om “/etc/init.d/apache2 start” uit te voeren.

28. Commando: alias

alias is een ingebouwde shell-opdracht waarmee u een naam kunt toewijzen aan een lange opdracht of veelgebruikte opdracht.

Ik gebruik regelmatig de opdracht ‘ls -l’, die 5 tekens bevat, inclusief spatie. Daarom heb ik hiervoor een alias gemaakt: ‘l‘.

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

controleer of het werkt of niet.

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

Om de alias ‘l‘ te verwijderen, gebruikt u de volgende opdracht ‘unalias‘.

root@tecmint:~# unalias l

controleer of ‘l‘ nog steeds een alias is of niet.

root@tecmint:~# l

bash: l: command not found

Maak van deze opdracht een beetje plezier. Maak een alias van een bepaald belangrijk commando voor een ander belangrijk commando.

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

Als je vriend nu ‘cd‘ typt, bedenk dan eens hoe grappig het zou zijn als hij een directorylijst krijgt en niet de directory verandert. En als hij 'su' probeert te zijn, krijgt hij alleen de locatie van de werkmap. U kunt de alias later verwijderen met het commando ‘unalias’, zoals hierboven uitgelegd.

29. Commando: df

Rapporteer schijfgebruik van het bestandssysteem. Handig voor zowel gebruikers als systeembeheerders om hun schijfgebruik bij te houden. ‘df’ werkt door directory-items te onderzoeken, die doorgaans alleen worden bijgewerkt wanneer een bestand wordt gesloten.

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

Voor meer voorbeelden van de opdracht ‘df’ leest u het artikel 12 Voorbeelden van df-opdrachten in Linux.

30. Commando: du

Schat het gebruik van de bestandsruimte. Voer de samenvatting van het schijfgebruik per bestand hiërarchisch uit, d.w.z. op recursieve wijze.

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

Opmerking: ‘df’ rapporteert alleen gebruiksstatistieken over bestandssystemen, terwijl ‘du‘ daarentegen de inhoud van mappen meet. Voor meer ‘du’ commandovoorbeelden en gebruik, lees 10 du (Schijfgebruik) Commando's.

31. Commando: rm

Het commando ‘rm‘ staat voor verwijderen. rm wordt gebruikt om bestanden(en) en mappen te verwijderen.

Een map verwijderen

root@tecmint:~# rm PassportApplicationForm_Main_English_V1.0

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

De map kan niet eenvoudigweg worden verwijderd met het commando ‘rm’; u moet de schakelaar ‘-rf’ gebruiken samen met ‘rm‘.

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

Waarschuwing: het commando “rm -rf ” is een destructief commando als je per ongeluk in de verkeerde map terechtkomt. Zodra u een map 'rm -rf' gebruikt, zijn alle bestanden en de map zelf plotseling voor altijd verloren. Gebruik het met voorzichtigheid.

32. Commando: echo

echo, zoals de naam doet vermoeden, echoot een tekst in de standaarduitvoer. Het heeft niets met shell te maken, en shell leest ook niet de uitvoer van het echo-commando. In een interactief script geeft echo het bericht echter via de terminal door aan de gebruiker. Het is een van de commando's die vaak worden gebruikt bij scripting, interactieve scripting.

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

linux-console.net is a very good website
een klein interactief script maken

1. maak een bestand met de naam ‘interactive_shell.sh‘ op het bureaublad. (Houd er rekening mee dat de extensie ‘.sh‘ must is).
2. kopieer en plak het onderstaande script, precies hetzelfde, als hieronder.

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

Stel vervolgens de uitvoeringsrechten in en voer het script uit.

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

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

Opmerking: ‘#!/bin/bash‘ vertelt de shell dat het een script is en het is altijd een goed idee om dit bovenaan het script op te nemen. ‘lezen‘ leest de gegeven invoer.

33. Commando: passwd

Dit is een belangrijke opdracht die handig is voor het wijzigen van uw eigen wachtwoord in de terminal. Uiteraard moet u om veiligheidsredenen uw huidige wachtwoord weten.

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. Commando: lpr

Met deze opdracht worden bestanden met de naam op de opdrachtregel afgedrukt naar de genoemde printer.

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

Opmerking: Met de opdracht ‘lpq‘ kunt u de status van een printer bekijken (of deze nu aan staat of niet) en de taken (bestanden) die wachten om te worden afgedrukt.

35. Commando: cmp

vergelijk twee bestanden van welk type dan ook en schrijft de resultaten naar de standaarduitvoer. Standaard retourneert ‘cmp‘ 0 als de bestanden hetzelfde zijn; als ze verschillen, wordt het byte- en regelnummer gerapporteerd waarop het eerste verschil optrad.

Laten we, om voorbeelden van deze opdracht te geven, twee bestanden bekijken:

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

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

Hi My name is tecmint [dot] com

Laten we nu twee bestanden vergelijken en de uitvoer van de opdracht bekijken.

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

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

36. Commando: wget

Wget is een gratis hulpprogramma voor het niet-interactief downloaden (dat wil zeggen dat het op de achtergrond kan werken) van bestanden van internet. Het ondersteunt HTTP, HTTPS, FTP protocollen en HTTP proxy's.

Download ffmpeg met 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. Commando: mounten

Mount is een belangrijk commando dat wordt gebruikt om een bestandssysteem te mounten dat zichzelf niet mount. Je hebt root-toestemming nodig om een apparaat te koppelen.

Voer eerst ‘lsblk’ uit nadat u uw bestandssysteem hebt aangesloten, identificeer uw apparaat en noteer de toegewezen naam van het apparaat.

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

Op dit scherm was het duidelijk dat ik een pendrive van 4 GB had aangesloten, dus 'sdb1' is mijn bestandssysteem dat moet worden gemount. Word een root om deze bewerking uit te voeren en ga naar de map /dev waar het hele bestandssysteem is aangekoppeld.

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

Maak een map met de naam alles behalve relevant als referentie.

root@tecmint:~# mkdir usb

Mount nu het bestandssysteem ‘sdb1‘ in de map ‘usb‘.

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

Nu kunt u vanaf het terminal- of X-windows-systeem naar /dev/usb navigeren en toegang krijgen tot het bestand vanuit de aangekoppelde map.

38. Commando: gcc

gcc is de ingebouwde compiler voor de taal ‘c’ in de Linux-omgeving. Een eenvoudig c programma, sla het op uw bureaublad op als Hallo.c (onthoud dat de extensie '.c' verplicht is).

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

Hello world

Opmerking: bij het compileren van een c programma wordt de uitvoer automatisch gegenereerd naar een nieuw bestand “a.out ” en elke keer dat u een compileert c programma hetzelfde bestand “a.out ” wordt gewijzigd. Daarom is het een goed advies om tijdens het compileren een uitvoerbestand te definiëren en er is dus geen risico dat het uitvoerbestand wordt overschreven.

Stel het op deze manier samen
root@tecmint:~# gcc -o Hello Hello.c

Hier stuurt ‘-o’ de uitvoer naar het ‘Hallo’ bestand en niet naar ‘a.out’. Voer het opnieuw uit.

root@tecmint:~# ./Hello 

Hello world

39. Commando: g++

g++ is de ingebouwde compiler voor ‘C++‘ , de eerste objectgeoriënteerde programmeertaal. Een eenvoudig c++ programma, sla het op uw bureaublad op als Add.cpp (onthoud dat de extensie '.cpp' verplicht is).

#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;
     }
Compileer het
root@tecmint:~# g++ Add.cpp
Voer het uit
root@tecmint:~# ./a.out

Enter first number: 
...
...

Opmerking: bij het compileren van een c++ programma wordt de uitvoer automatisch gegenereerd naar een nieuw bestand “a.out ” en elke keer dat u een compileert c++ programma hetzelfde bestand “a.out ” wordt gewijzigd. Daarom is het een goed advies om tijdens het compileren een uitvoerbestand te definiëren en er is dus geen risico dat het uitvoerbestand wordt overschreven.

Stel het op deze manier samen
root@tecmint:~# g++ -o Add Add.cpp
Voer het uit
root@tecmint:~# ./Add 

Enter first number: 
...
...

40. Commando: java

Java is een van de meest gebruikte programmeertalen ter wereld en wordt als snel, veilig en betrouwbaar beschouwd. Het merendeel van de webgebaseerde diensten van vandaag draait op Java.

Maak een eenvoudig Java-programma door de onderstaande test in een bestand te plakken met de naam tecmint.java (onthoud dat de extensie '.java' must is).

class tecmint {
  public static void main(String[] arguments) {
    System.out.println("Tecmint ");
  }
}
compileer het met javac
root@tecmint:~# javac tecmint.java
Voer het uit
root@tecmint:~# java tecmint

Opmerking: bijna elke distributie wordt geleverd met een gcc-compiler, een groot aantal distributies heeft een ingebouwde g++ en java-compiler, terwijl sommigen dat misschien niet hebben gedaan. Je kunt het gewenste pakket aanpassen of yum.

Vergeet niet uw waardevolle reactie en het type artikel dat u wilt zien hier te vermelden. Ik kom binnenkort terug met een interessant onderwerp over de minder bekende feiten over Linux.