20 lệnh nâng cao Linux dành cho người dùng cấp trung

Lệnh: Find

Lệnh find được sử dụng để tìm kiếm các tệp tin trong thư mục đã cho theo cấu trúc thư mục, bắt đầu từ thư mục gốc và di chuyển đến các thư mục con. 

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

Lưu ý: Tùy chọn -name làm cho tìm kiếm phân biệt chữ hoa và chữ thường. Bạn có thể sử dụng tùy chọn -iname để tìm kiếm bất kể chữ hoa chữ thường. (* là ký tự đại diện và tìm kiếm tất cả các tệp tin có phần mở rộng '.sh' bạn có thể sử dụng tên tệp tin hoặc một phần của tên tệp tin để tùy chỉnh kết quả đầu ra).

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

Lưu ý: Lệnh trên tìm kiếm tất cả các tệp tin có phần mở rộng '.tar.gz' trong thư mục gốc và tất cả các thư mục con bao gồm các thiết bị được gắn kết.

Lệnh: grep

Lệnh grep được sử dụng để tìm kiếm các dòng trong tệp tin cho chứa các chuỗi hoặc từ khớp với các chuỗi đã cho. Tìm kiếm trong tệp tin '/etc/passwd' cho người dùng 'tecmint'. 

root@tecmint:~# grep tecmint /etc/passwd 
tecmint:x:1000:1000:Tecmint,,,:/home/tecmint:/bin/bash

Bỏ qua việc phân biệt chữ hoa chữ thường và tìm kiếm tất cả các kết hợp khác với tùy chọn '-i'. 

root@tecmint:~# grep -i TECMINT /etc/passwd 
tecmint:x:1000:1000:Tecmint,,,:/home/tecmint:/bin/bash

Tìm kiếm đệ quy (sử dụng tùy chọn -r), tức là đọc tất cả các tệp tin trong mỗi thư mục cho một chuỗi "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

Lưu ý: Bạn có thể sử dụng các tùy chọn sau cùng với lệnh grep.

  • -w để tìm từ (egrep -w 'word1|word2' /path/to/file).
  • -c để đếm (tổng số lần khớp mẫu) (grep -c 'word' /path/to/file).
  • –color để có đầu ra được tô màu (grep –color server /etc/passwd).

Lệnh: man

Lệnh man là trình trình bày tài liệu trực tuyến của hệ thống. Man cung cấp tài liệu trực tuyến cho tất cả các tùy chọn có thể đi kèm với một lệnh và cách sử dụng của nó. Hầu hết các lệnh đều đi kèm với các trang tài liệu tương ứng của chúng. Ví dụ, 

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]

Ghi chú: Trang tài liệu man được thiết kế để tham khảo lệnh và học cách sử dụng chúng.

Lệnh: ps

Lệnh ps (Process) cung cấp trạng thái của các quy trình đang chạy với một ID duy nhất được gọi là PID (Process ID). 

root@tecmint:~# ps

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

Để liệt kê trạng thái của tất cả các quy trình cùng với ID quy trình và PID, sử dụng tùy chọ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
....

Lưu ý: Lệnh này rất hữu ích khi bạn muốn biết quy trình nào đang chạy hoặc có thể cần PID đôi khi để kết thúc một quy trình. Bạn có thể sử dụng nó với lệnh 'grep' để tìm kiếm đầu ra tùy chỉnh. Ví dụ

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

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

Ở đây lệnh 'ps' được kết hợp với lệnh 'grep' để tìm kiếm đầu ra tùy chỉnh và phù hợp với yêu cầu của chúng ta.

Lệnh: kill

OK, bạn có thể đã hiểu rõ lệnh này là để làm gì từ tên của nó. Lệnh này được sử dụng để kết thúc một quy trình không còn liên quan hoặc không phản hồi. Đây là một lệnh rất hữu ích, thậm chí là rất rất hữu ích. Bạn có thể quen thuộc với việc khởi động lại Windows thường xuyên vì thực tế là hầu hết thời gian một quy trình đang chạy không thể bị kết thúc, và nếu bị kết thúc, cần khởi động lại Windows để áp dụng các thay đổi.

Nhưng trong thế giới Linux, không có những điều đó. Ở đây, bạn có thể kết thúc một quy trình và khởi động lại nó mà không cần khởi động lại toàn bộ hệ thống. Bạn cần có pid (Process ID) của một quy trình (ps) để kết thúc nó.

Hãy giả sử bạn muốn kết thúc chương trình 'apache2' mà có thể không phản hồi. Chạy 'ps -A' kết hợp với lệnh grep. 

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

Tìm quy trình 'apache2', ghi nhớ pid của nó và kết thúc nó. Ví dụ, trong trường hợp của tôi, pid của 'apache2' là '1285'. 

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

Lưu ý: Mỗi khi bạn chạy lại một quy trình hoặc khởi động một hệ thống, một pid mới được tạo cho mỗi quy trình và bạn có thể biết về các quy trình đang chạy hiện tại và pid của chúng bằng lệnh 'ps'. 

Một cách khác để kết thúc cùng một quy trình là sử dụng lệnh pkill. 

root@tecmint:~# pkill apache2

Lưu ý: Lệnh kill yêu cầu id công việc / id quy trình để gửi tín hiệu, trong khi trong pkill, bạn có tùy chọn sử dụng mẫu, chỉ định chủ sở hữu quy trình, v.v.

Lệnh: whereis

Lệnh 'whereis' được sử dụng để xác định Vị trí của các tệp nhị phân, Nguồn và Trang tài liệu của lệnh. Ví dụ, để xác định Vị trí của các tệp nhị phân, Nguồn và Trang tài liệu của các lệnh 'ls' và 'kill'.

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

Lưu ý: Điều này hữu ích để biết nơi các tệp nhị phân được cài đặt để chỉnh sửa thủ

Lệnh: service

Lệnh 'service' được sử dụng để điều khiển việc Khởi động, Dừng hoặc Khởi động lại một 'dịch vụ' trên hệ thống. Lệnh này cho phép bạn khởi động, khởi động lại hoặc dừng một dịch vụ mà không cần khởi động lại toàn bộ hệ thống để áp dụng các thay đổi. 

Khởi động máy chủ apache2 trên 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

Khởi động lại máy chủ apache2 trên 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 ]

Dừng máy chủ apache2 trên 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 ]

Lưu ý: Tất cả các tệp kịch bản của quá trình đặt tại '/etc/init.d', và đường dẫn có thể cần được bao gồm trên một số hệ thống, ví dụ: thay vì chạy "service apache2 start" bạn có thể được yêu cầu chạy "/etc/init.d/apache2 start".

Lệnh: alias

alias là một lệnh gốc trong shell cho phép bạn gán tên cho một lệnh dài hoặc lệnh thường được sử dụng. Tôi thường sử dụng lệnh 'ls -l', bao gồm 5 ký tự bao gồm khoảng trắng. Vì vậy, tôi đã tạo một bí danh cho nó là 'l'.

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

Hãy kiểm tra xem nó hoạt động hay không. 

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

Để xóa bí danh 'l', hãy sử dụng lệnh 'unalias' sau đây.

root@tecmint:~# unalias l

kiểm tra xem 'l' có còn là bí danh hay không

root@tecmint:~# l
bash: l: command not found

Có một chút vui khi sử dụng lệnh này. Tạo bí danh cho một số lệnh quan trọng thành một số lệnh quan trọng khác. 

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

Bây giờ khi bạn nhập 'cd', hãy tưởng tượng xem nó sẽ thú vị như thế nào khi bạn nhận được danh sách thư mục thay vì thay đổi thư mục. Và khi bạn cố gắng là 'su', bạn chỉ nhận được vị trí thư mục làm việc. Bạn có thể xóa bí danh sau đó bằng cách sử dụng lệnh 'unalias' như đã giải thích ở trên.

Lệnh: df

Báo cáo sử dụng đĩa của hệ thống tệp. Hữu ích cho người dùng cũng như Quản trị hệ thống để theo dõi việc sử dụng đĩa của họ. 'df' hoạt động bằng cách xem xét các mục thư mục, mà thông thường được cập nhật chỉ khi một tệp được đóng lại.

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

Lệnh: du

Ước tính sử dụng không gian của tệp. Hiển thị tóm tắt về việc sử dụng đĩa theo từng tệp theo cách phân cấp, tức là theo cách đệ quy.

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

Lệnh: rm

Lệnh 'rm' viết tắt của "remove" (xóa). 'rm' được sử dụng để xóa các tệp tin và thư mục. 

Xóa một thư mục

root@tecmint:~# rm PassportApplicationForm_Main_English_V1.0
rm: cannot remove `PassportApplicationForm_Main_English_V1.0': Is a directory

Không thể xóa thư mục chỉ bằng lệnh ‘rm‘, bạn phải sử dụng công tắc ‘-rf‘ cùng với ‘rm‘.

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

Lưu ý: Lệnh "rm -rf" là một lệnh phá hoại nếu bạn vô tình thực hiện nó trên thư mục sai. Khi bạn thực hiện 'rm -rf' trên một thư mục, tất cả các tệp tin và thư mục bên trong sẽ bị xóa một cách vĩnh viễn mà không cần xác nhận. Hãy sử dụng lệnh này cẩn thận.

Lệnh: echo

Lệnh 'echo' như tên gọi của nó, nó sẽ in ra một đoạn văn bản lên đầu ra tiêu chuẩn. Lệnh này không liên quan gì đến shell, cũng không có shell đọc đầu ra của lệnh 'echo'. Tuy nhiên, trong một kịch bản tương tác, 'echo' truyền thông điệp đến người dùng thông qua terminal. Đây là một trong những lệnh thường được sử dụng trong scripting và scripting tương tác. 

root@tecmint:~# echo "Tecmint.com is a very good website" 
Tecmint.com is a very good website

Tạo một tập lệnh tương tác nhỏ:

  1. tạo một tệp có tên ‘interactive_shell.sh‘ trên màn hình. (Hãy nhớ phần mở rộng '.sh' là bắt buộc). 
  2. sao chép và dán đoạn mã bên dưới, hoàn toàn giống như bên dưới.
#!/bin/bash 
echo "Please enter your name:" 
   read name 
   echo "Welcome to Linux $name"

Tiếp theo, đặt quyền thực thi và chạy tập lệnh.

root@tecmint:~# chmod 777 interactive_shell.sh

root@tecmint:~# ./interactive_shell.sh

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

Lưu ý: '#!/bin/bash' ở đầu mã cho biết đây là một kịch bản và việc bao gồm nó ở đầu là một ý tưởng tốt. 'read' dùng để đọc đầu vào được cung cấp.

Lệnh: passwd

Đây là một lệnh quan trọng được sử dụng để thay đổi mật khẩu trong terminal. Tất nhiên, bạn cần biết mật khẩu hiện tại của mình vì lý do bảo mật.

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:#####

Lệnh: lpr

Lệnh này được sử dụng để in các tệp tin được liệt kê trên dòng lệnh đến máy in được chỉ định. 

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

Lưu ý: Lệnh 'lpq' cho phép bạn xem trạng thái của máy in (có hoạt động hay không) và các công việc (tệp tin) đang chờ in.

Lệnh: cmp

So sánh hai tệp tin bất kỳ và ghi kết quả ra đầu ra tiêu chuẩn. Mặc định, 'cmp' trả về 0 nếu hai tệp tin giống nhau; nếu chúng khác nhau, nó sẽ báo cáo vị trí byte và số dòng mà sự khác biệt đầu tiên xuất hiện.

Để cung cấp các ví dụ cho lệnh này, hãy xem xét hai tệp:

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

Bây giờ, hãy so sánh hai tệp và xem đầu ra của lệnh.

root@tecmint:~# cmp file1.txt file2.txt 
file1.txt file2.txt differ: byte 15, line 1

Lệnh: wget

Wget là một tiện ích miễn phí để tải xuống các tệp tin từ web mà không cần tương tác người dùng (nghĩa là có thể hoạt động trong nền). Nó hỗ trợ giao thức HTTP, HTTPS, FTP và proxy HTTP.

Tải xuống ffmpeg bằng 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]

Lệnh: mount

Mount là một lệnh quan trọng được sử dụng để gắn kết một hệ thống tệp tin mà không tự gắn kết. Bạn cần quyền root để gắn kết một thiết bị.

Đầu tiên, chạy 'lsblk' sau khi cắm thiết bị tệp tin và xác định thiết bị của bạn và ghi lại tên thiết bị được gán. 

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

Từ màn hình này, có thể thấy rõ rằng tôi đã cắm vào một ổ đĩa USB dung lượng 4GB, do đó 'sdb1' là hệ thống tệp tin của tôi cần gắn kết. Trở thành người dùng root để thực hiện thao tác này và chuyển đến thư mục '/dev' nơi tất cả các hệ thống tệp tin được gắn kết. 

root@tecmint:~# su
Password:

root@tecmint:~# cd /dev

Tạo một thư mục có tên tùy ý nhưng có ý nghĩa để sử dụng làm tham chiếu. 

root@tecmint:~# mkdir usb

Bây giờ hãy gắn hệ thống tập tin 'sdb1' vào thư mục 'usb'.

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

Bây giờ bạn có thể điều hướng đến '/dev/usb' từ terminal hoặc hệ thống X-windows và truy cập vào tệp tin từ thư mục đã được gắn kết.

Lệnh: gcc

gcc là trình biên dịch tích hợp cho ngôn ngữ 'c' trong môi trường Linux. Dưới đây là một ví dụ về chương trình 'c' đơn giản, hãy lưu nó trên desktop với tên 'Hello.c' (lưu ý: phần mở rộng '.c' là bắt buộc). 

#include <stdio.h>
int main()
{
  printf("Hello world\n");
  return 0;
}

Biên dịch nó

root@tecmint:~# gcc Hello.c

Chạy nó

root@tecmint:~# ./a.out 
Hello world

Lưu ý: Khi biên dịch một chương trình 'c', đầu ra sẽ tự động được tạo thành một tệp tin mới có tên "a.out" và mỗi lần bạn biên dịch một chương trình 'c', tệp tin "a.out" cũng sẽ bị thay đổi. Do đó, nên xác định tên tệp tin đầu ra trong quá trình biên dịch để không có rủi ro ghi đè lên tệp tin đầu ra.

Biên dịch nó theo cách này

root@tecmint:~# gcc -o Hello Hello.c

Ở đây ‘-o‘ gửi đầu ra tới tệp ‘Hello‘ chứ không phải ‘a.out‘. Chạy nó một lần nữa.

root@tecmint:~# ./Hello 
Hello world

Lệnh: g++

g++ là trình biên dịch tích hợp cho ngôn ngữ 'C++', ngôn ngữ lập trình hướng đối tượng đầu tiên. Dưới đây là một ví dụ về chương trình 'C++' đơn giản, hãy lưu nó trên desktop với tên 'Add.cpp' (lưu ý: phần mở rộng '.cpp' là bắt buộc). 

#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;
     }

Biên dịch nó

root@tecmint:~# g++ Add.cpp

Chạy nó

root@tecmint:~# ./a.out

Enter first number: 
...
...

Lưu ý: Khi biên dịch một chương trình 'C++', đầu ra sẽ tự động được tạo thành một tệp tin mới có tên "a.out" và mỗi lần bạn biên dịch một chương trình 'C++', tệp tin "a.out" cũng sẽ bị thay đổi. Do đó, nên xác định tên tệp tin đầu ra trong quá trình biên dịch để không có rủi ro ghi đè lên tệp tin đầu ra.

Biên dịch nó theo cách này

root@tecmint:~# g++ -o Add Add.cpp

Chạy nó

root@tecmint:~# ./Add 

Enter first number: 
...
...

Lệnh: java

Java là một trong những ngôn ngữ lập trình được sử dụng rộng rãi trên thế giới và được coi là nhanh, an toàn và đáng tin cậy. Hầu hết các dịch vụ dựa trên web ngày nay chạy trên nền tảng Java.

Hãy tạo một chương trình Java đơn giản bằng cách sao chép đoạn mã dưới đây vào một tệp có tên là 'tecmint.java' trên desktop (lưu ý: phần mở rộng '.java' là bắt buộc). 

class tecmint {
  public static void main(String[] arguments) {
    System.out.println("Tecmint ")
  }
}

Biên dịch nó bằng javac

root@tecmint:~# javac tecmint.java

Chạy nó

root@tecmint:~# java tecmint

Lưu ý: Hầu hết các bản phân phối đi kèm với trình biên dịch gcc, số lượng lớn các bản phân phối cũng có trình biên dịch g++ và java tích hợp sẵn, trong khi một số có thể không có. Bạn có thể cài đặt gói cần thiết bằng apt hoặc yum (trình quản lý gói tương ứng).