Bài 01: Linux là gì? Hệ điều hành Linux

Trong bài này mình sẽ trả lời câu hỏi linux là gì thông qua việc tìm hiểu khái quát về lịch sử và các đặc trưng của hệ điều hành này. Tiếp theo là một số thao tác bắt đầu làm quen với môi trường linux.

1. Linux là gì ? 

Linux là một hệ điều hành máy tính dựa trên Unix được phát triển và phân phối qua mô hình phần mềm tự do mã nguồn mở. Thành phần cơ bản tạo nên Linux đó là nhân linux, một nhân hệ điều hành ra đời bản đầu tiên vào tháng 8 năm 1991 bởi Linus Torvalds. Nhiều người gọi Linux là GNU/Linux, lý do là bản thân linux chỉ là phần nhân hệ điều hành. Rất nhiều phần mềm, ứng dụng khác như hệ thống đồ họa, trình biên dịch, soạn thảo, các công cụ phát triển cũng cần được gắn vào nhân để tạo nên một HĐH hoàn chỉnh. Hầu hết những phần mềm này được phát triển bởi cộng đồng GNU.

Unix ban đầu được phát triển từ năm 1969 bởi một nhóm kỹ sư ở Bell Labs trực thuộc cty AT&T, gồm Ken Thompson, Dennis Ritchies, Douglas McllroyJoe Ossanna. Bản phát hành lần đầu ra mắt năm 1970. Có vài phiên bản Unix trên thị trường như Solaris Unix, AIX, HP Unix và BSD... Linux cũng là một bản của Unix được cung cấp miễn phí. Unix có khả năng đa người dùng (vài người có thể dùng máy tính chạy Unix tại cùng một thời điểm) và đa nhiệm (chạy nhiều chương trình một lúc). Được viết bằng ngôn ngữ C nên Unix có thể cài đặt trên nhiều loại máy tính khác nhau, đây là tính khả chuyển.

Linus Torvalds phát triển linux từ năm 1991 kế thừa nhiều đặc tính của Unix. Lúc đó dự án GNU đang cần một hạt nhân để hoàn thiện một hệ điều hành hoàn toàn miễn phí. Từ đó đến nay Linux đã được phát hành qua nhiều phiên bản, mới nhất hiện là bản 3.2.

Hình sau liệt kê lịch sử thời gian phát hành các phiên bản nhân linux: (cột đứng cho biết số lượng dòng mã được thêm)


Để hiểu rõ hơn về hệ điều hành linux, các bạn cần tìm hiểu qua một số khái niệm về hệ điều hành.

Hệ điều hành (HĐH): là phần mềm hệ thống làm cầu nối giữa người dùng và máy tính, nó giúp quản lý các tài nguyên phần cứng, cung cấp giao diện, tiện ích cho người dùng giao tiếp, sử dụng những tài nguyên đó. Những phần mềm thông thường các bạn hay dùng như trình duyệt, trình soạn thảo văn bản, nghe nhạc … được xếp vào loại phần mềm ứng dụng (Application Software) để phân biệt với System Software như HĐH, Antivirus, Disk Partition …

Thành phần cấu thành lên một HĐH hoàn chỉnh được mô tả trong hình sau:


Trong cùng là phần cứng máy tính, ba lớp ngoài lần lượt từ bên trong có kernel (hạt nhân), hệ vỏ (shell) và ngoài cùng là lớp ứng dụng (Application Software).

Phần nhân đảm nhiệm quản lý tài nguyên phần cứng, cung cấp giao diện cho các phần mềm lớp vỏ (shell) như vi (editor), bash (một loại shell) ... Sau đó đến lượt mình thì lớp shell sẽ cung cấp tiện ích và giao diện cho các phần mềm mức trên là các phần mềm ứng dụng: Mail, FTP … Trên thực tế là mọi thao tác trên Windows quen thuộc đều có thể dịch thành các lệnh, ví dụ như lệnh tạo shortcut (link file) có thể dùng lệnh sau:

C:\WINDOWS\EXPLORER.EXE /n,/e,c:\

Như vậy các bạn nên hiểu hệ điều hành Linux là sự kết hợp của hạt nhân linux với các phần mềm GNU. Hiện nay linux được cài đặt trên rất nhiều thiết bị từ máy tính đến máy chủ, điện thoại hay các hệ thống ảo hóa, hệ nhúng … Tính mềm dẻo của nó cho phép nó có thể tùy biến để chạy trên rất nhiều phần cứng, nó đã trở thành một nền tảng chứ không đơn thuần là một HĐH nữa. Các bản phân phối linux (distro) phổ biến nhất là Debian, Fedora, Ubuntu, Android ...

2 .Một số thao tác cơ bản trên hệ điều hành Linux

Thực ra thì các bạn không thể chạy các lệnh dưới đây được, lý do là chúng ta chưa học cách cài đặt Linux và chạy lệnh trên nó. Tuy nhiên mình vẫn đưa ra để các ban tham khảo sơ qua, các bạn đọc cho biết chứ không cần thực hành.

Cũng như các hệ điều hành khác, linux cũng có những thao tác cơ bản như khởi động hệ thống/ shutdown, đăng nhập/đăng xuất hay hiện file, xem thông tin người dùng … Phần này sẽ lần lượt giới thiệu sơ qua các thao tác trên.

Khởi động linux:

Sau khi bật máy lên, hệ thống khởi động xong sẽ hiện một màn hình cho phép đăng nhập vào hệ thống, mọi thao tác, hoạt động trên linux sẽ được hệ thống lưu giữ lại.

Hiện danh sách files, folders:

Mọi dữ liệu trên linux được tổ chức thành các file. Các file được đặt trong một thư mục (folder). Những thư mục này được tổ chức theo dạng cây phân cấp và được gọi là hệ thống file.

Bạn dùng lệnh ls để hiện ra tất cả file, folder trong một thư mục. Với thêm tham số -l thông tin hiện ra sẽ đầy đủ hơn như sau:

$ls -l
total 664
drwxrwxr-x 12 nickfarrow nickfarrow 4096 May 29 09:12 AndroidStudioProjects
drwxrwxr-x 3 nickfarrow nickfarrow 4096 Sep 16 2014 apktool
drwxr-xr-x 2 nickfarrow nickfarrow 4096 Jun 27 21:56 Audio
drwxrwxr-x 6 nickfarrow nickfarrow 4096 Jun 28 17:24 bin
drwxrwxr-x 3 nickfarrow nickfarrow 4096 Apr 17 08:22 build
drwxrwxr-x 3 nickfarrow nickfarrow 4096 Jun 26 2013 deja-dup
drwxr-xr-x 10 nickfarrow nickfarrow 4096 Jun 26 14:36 Desktop
drwxr-xr-x 21 nickfarrow nickfarrow 4096 Jun 24 15:20 Documents
drwxr-xr-x 10 nickfarrow nickfarrow 32768 Jun 29 22:13 Downloads

Thông tin người dùng trên linux:

Các chức năng cơ bản của một HĐH như login/logout, đổi mật khẩu, xem thông tin người dùng trên linux .

Xem bạn là ai?

Sau khi đăng nhập hệ thống linux, bạn muốn xem thông tin tên đăng nhập thì dùng lệnh whoami và tham số truyền vào là tên người dùng muốn xem.

$whoami nickfarrow<br>

Đổi mật khẩu:

Bạn nhập lệnh passwd và làm theo hướng dẫn.

$passwd

Changing password for evanclark.

(current) UNIX password:

Enter new UNIX password:

Retype new UNIX password: # New password must different with old password

Password unchanged

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

Còn khi chạy lệnh trên một máy tính khác thì nó sẽ hiện tên người đang đăng nhập vào hệ thống.

Xem ai đang login?

Có tới 3 lệnh để xem những ai đang đăng nhập hệ thống linux đó là: users, whow

$users

evanclark netreal nickfarrow nickfarrow nickfarrow nickfarrow nickfarrow nickfarrow

$who

evanclark tty4 2015-06-29 23:48

nickfarrow tty2 2015-06-29 23:46

netreal tty3 2015-06-29 23:45

nickfarrow tty7 2015-06-29 20:41

nickfarrow pts/1 2015-06-29 20:42 (:0.0)

nickfarrow pts/2 2015-06-29 20:42 (:0.0)

nickfarrow pts/3 2015-06-29 20:42 (:0.0)

nickfarrow pts/4 2015-06-29 20:42 (:0.0)

$w

23:49:11 up 3:08, 8 users, load average: 0.32, 0.19, 0.15

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

evanclar tty4 23:48 39.00s 0.06s 0.00s -sh

nickfarr tty2 23:46 1:03 0.46s 0.32s -bash

netreal tty3 23:45 3:43 0.05s 0.00s -sh

nickfarr tty7 20:41 3:07m 4:11 0.50s gnome-session --session=ubuntu

nickfarr pts/1 :0.0 20:42 2:49m 0.22s 0.22s bash

nickfarr pts/2 :0.0 20:42 31:03 0.26s 0.26s bash

nickfarr pts/3 :0.0 20:42 7.00s 0.85s 0.01s w

nickfarr pts/4 :0.0 20:42 25:35 0.25s 0.25s bash

Đăng xuất khỏi hệ thống:

Đơn giản ta chỉ cần gõ lệnh logout là hệ thống sẽ thoát dần các chương trình đang chạy rồi ngắt kết nối.

Shutdown, reboot trên linux:

Có vài lệnh để các bạn reboot, shutdown máy tính trên linux, chi tiết được mô tả trong bảng dưới đây:

Lệnh Ý nghĩa
halt Tắt hệ thống linux ngay lập tức (không hiện xác nhận có/không).
init 0 Tắt hệ thống theo trình tự chấm dứt dần các chương trình rồi mới shutdown
init 6 Khởi động lại hệ thống bắt đầu là tắt hoàn toàn hệ thống sau đó mới khởi động lại.
poweroff Tương tự halt : tắt nguồn hệ thống
reboot Như init 6 : khởi chạy lại hệ thống.
shutdown Tương tự halt và poweroff : tắt nguồn hệ thống

3. Lời kết

Bài này cho các bạn một cái nhìn đơn giản nhất về Linux và một số thao tác cơ bản khi làm việc trên đó. Linux không đơn giản là một hệ điều hành mà đã trở thành một nền tảng rất rộng, xuất hiện khắp mọi nơi từ máy tính, máy chủ đến siêu máy tính, mobile hay các hệ thống ảo, hệ thống nhúng … Tìm hiểu về linux giúp các bạn tiến tới sử dụng nó như một môi trường phát triển rất mạnh với tập hợp rất nhiều công cụ phát triển.

Dưới đây là một số link tài liệu về linux:

3 bài dưới đây viết khá chi tiết, bài trên ibm dịch không được "xuôi" lắm.

http://www.ibm.com/developerworks/vn/library/opensource/201301/l-linuxuniversal/

http://www.ibm.com/developerworks/library/l-linuxuniversal/

http://wikilinux.vn/linux-la-gi-lich-su-phat-trien-cua-linux/

Hai bài dưới đây giải thích khác biệt về quan niệm HĐH (OS) với nhân (kernel), đáng đọc cho các bạn muốn hiểu cặn kẽ về HĐH.

http://stackoverflow.com/questions/2013937/what-is-an-os-kernel-how-does-it-differ-from-an-operating-system

http://www.ibm.com/developerworks/linux/library/l-linux-kernel/

Bài này nói rất hay về lịch sử và khác biệt giữa UNIX và Windows

https://www.cs.odu.edu/~zeil/cs252/s15/Public/whyunix/

Hãy để lại link bài viết gốc khi chia sẻ bài viết này, mình sẽ report DMCA với những website lấy nội dung mà không để nguồn hoặc copy bài với số lượng lớn.

Nguồn: freetuts.net

Profile photo of adminTheHalfHeart

TheHalfHeart

Có sở thích viết tuts nên đã từng tham gia viết ở một số diễn đàn, đến năm 2014 mới có điều kiện sáng lập ra freetuts.net. Sinh năm 90 và có 1 vợ 2 con, thích ca hát và lập trình.

ĐĂNG BÌNH LUẬN: Đăng câu hỏi trên Group Facebook để được hỗ trợ nhanh nhất.