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