Professional Documents
Culture Documents
L
L
Unix là một hệ điều hành máy tính mà có khả năng thực hiện nhiều hoạt động bởi nhiều
người trong cùng một thời gian.
Hệ điều hành Unix là tập hợp các chương trình mà thực hiện vai trò như một đường link
giữa máy tính và người sử dụng.
Các chương trình máy tính phân cấp các nguồn hệ thống và phối hợp tất cả các phần bên
trong của máy tính được gọi là Hệ điều hành hoặc kernel (hạt nhân).
Những người sử dụng giao tiếp với kernel thông qua một chương trình mà được biết như
là shell. Shell là một bộ biên dịch dòng lệnh, nó biên dịch các lệnh được nhập bởi người sử
dụng và chuyển đổi chúng thành một ngôn ngữ mà kernel có thể hiểu.
Unix/Linux được phát triển lần đầu tiên bởi một nhóm các nhân viên AT&T tại phòng thí
nghiệm Bell Labs, gồm có Ken Thompson, Dennis Ritchie, Douglas Mclloy và Joe Ossanna.
Có rất nhiều phiên bản Unix khác nhau trên thị trường. Solaris Unix, AIX, HP Unix và BSD
là một số ví dụ. Linux cũng là một phiên bản của Unix mà là miễn phí.
Nhiều người có thể sử dụng một máy tính Unix cùng một lúc; vì thế Unix được gọi là hệ
thống đa người dùng.
Một người sử dụng có thể chạy nhiều chương trình cùng một lúc; vì thế Unix được gọi là đa
nhiệm.
Khái niệm chính mà được thống nhất trong tất cả các phiên bản Unix gồm 4 cơ sở sau:
Kernel: Kernel là trái tim của hệ điều hành. Nó tương tác với phần cứng và hầu hết nhiệm
vụ như quản lý bộ nhớ, quản lý file, lên chương trình nhiệm vụ.
Shell: Shell là một tiện ích mà xử lý các yêu cầu của bạn. Khi bạn gõ một lệnh tại terminal
của bạn, shell biên dịch lệnh đó và gọi chương trình mà bạn muốn. Shell sử dụng cú pháp
chuẩn cho tất cả các lệnh. C Shell, Bourne Shell và Korn Shell là những shell được biết đến
nhiều nhất và có sẵn trong hầu hết các phiên bản Unix.
Các lệnh và các tiện ích: Có rất nhiều lệnh và tiện ích mà bạn có thể sử dụng trong công
việc hàng ngày. cp, mv, cat và grep … là một số ví dụ của lệnh và tiện ích. Có trên 250 lệnh
tiêu chuẩn cộng với một số lệnh khác được cung cấp bởi phần mềm thứ 3. Tất cả các lệnh
này đi cùng với các tùy chọn (chức năng) của nó.
File và thư mục: Tất cả dữ liệu trong Unix được tổ chức trong các file. Tất cả các file được
tổ chức vào trong các thư mục. Những thư mục này được tổ chức trong một cấu trúc dạng
cây được gọi như là hệ thống file.
Quản lý File
Tất cả dữ liệu trong Unix được tổ chức trong các file. Tất cả các file được tổ chức trong các
thư mục. Những thư mục này được tổ chức trong một cấu trúc cây mà được gọi là hệ
thống file.
1. Ordinary File: File thường, là một file trên hệ thống mà lưu trữ dữ liệu, văn bản, hoặc
chỉ dẫn chương trình. Trong chương này, bạn sẽ được hướng dẫn cách làm việc với
những file này.
2. Directory: Thư mục, lưu giữ cả các file thường và đặc biệt. Tương tự với các thư
mục trong Windown, Mac OS, thư mục trong Unix là các folder.
3. Special File: File đặc biệt, một số file đặc biệt cung cấp quyền truy cập vào phần
cứng như các ổ cứng, CD-ROM, modem và các đầu đọc Ethernet. Một số file đặc
biệt khác là tương tự như các phím tắt và khiến bạn có thể truy cập vào một file riêng
nào đó bằng cách sử dụng các tên khác nhau.
Để liệt kê file $ls (list). Lệnh $ls –l cho kết quả nhiều thông tin hơn các file được liệt kê.
Các siêu ký tự có ý nghĩa quan trọng trong Unix. Ví dụ * và ? là siêu ký tự. Chúng ta sử
dụng * để so khớp 0 hoặc nhiều ký tự, sử dụng ? để kết nối với một ký tự đơn.
Ví dụ:
$ls ch*.doc
Hiển thị tất cả các file mà tên bắt đầu với cặp ký tự ch và kết thúc với .doc.
ch01-2.doc ch02-1.doc c
Dưới đây ký tự * thực hiện so khớp với bất kỳ ký tự nào. Nếu bạn muốn hiển thị tất cả các
file kết thúc với .doc, thì khi đó bạn sử dụng lệnh sau:
$ls *.doc
$ vi filename
Lệnh trên sẽ mở một file với tên đã cung cấp. Bạn sẽ cần nhấn phím i để tiến vào chế độ
chỉnh sửa. Một khi bạn trong chế độ chỉnh sửa, bạn có thể bắt đầu ghi nội dung vào file như
hình dưới:
Khi đã thực hiện xong, bạn làm theo các bước sau:
$ vi filename
Một khi file này được mở, bạn có thể tiến vào chế độ chỉnh sửa bằng cách nhấn phím i và
sau đó bạn có thể chỉnh sửa nội dung như bạn thích. Nếu bạn muốn di chuyển tại nơi này
hoặc nơi khác bên trong file, khi đó đầu tiên bạn cần thoát khỏi chế độ chỉnh sửa bằng cách
nhấn phím esc, sau đó bạn có thể sử dụng các phím sau để di chuyển bên trong một file:
$ cat filename
Bạn có thể hiển thị số lượng dòng bằng cách sử dụng tùy chọn -b cùng với lệnh cat như
sau:
$ cat -b filename
$ wc filename
2 19 103 filename
3. Cột 3: đại diện cho tổng dung lượng byte mà file chiếm. Đây là kích thước thực của
file.
$ cp source_file destination_file
Trong đó, source_file là file chứa thông tin bạn cần sao chép đến destination_file. Dưới
đây là ví dụ để tạo một bản sao của filename đang tồn tại:
$ cp filename copyfile
Bây giờ bạn sẽ tìm thấy một copyfile trong thư mục hiện tại của bạn. File này sẽ giống hoàn
toàn filename.
Dưới đây là một ví dụ mà đặt lại filename đang tồn tại thành newfile:
$ mv filename newfile
Lệnh mv sẽ di chuyển tất cả file đang tồn tại vào trong file mới. Vì thế trong tình huống này
bạn sẽ chỉ tìm thấy một newfile duy nhất trong thư mục hiện tại.
$ rm filename
Chú ý: Có thể rất nguy hiểm khi xóa một file bởi vì nó chứa thông tin hữu ích. Vì thế bạn
cần phải cẩn thận trong khi thực hiện lệnh này. Nó đề nghị tùy chọn -i song song với lệnh rm.
$ rm filename
Bạn có thể gỡ bỏ nhiều file tại cùng một lớp như sau:
1. stdin: Nó như là một đầu vào tiêu chuẩn (standard input) và phần tử mô tả file liên
kết là 0. Nó cũng được biểu diễn như là STDIN. Chương trình Unix sẽ đọc đầu vào
mặc định từ STDIN.
2. stdout: Nó như là một đầu ra tiêu chuẩn (standard output) và phần tử mô tả file liên
kết là 1. Nó cũng được biểu diễn như là STDOUT. Chương trình Unix sẽ ghi đầu ra
mặc định tại STDOUT.
3. stderr: Nó như là một lỗi tiêu chuẩn (standard error) và phần tử mô tả file liên kết là
2. Nó cũng được biểu diễn như là STDERR. Chương trình Unix sẽ ghi toàn bộ thông
tin lỗi tại STDERR.
1. Nêu sự khác biệt cơ bản giữa UNIX và Linux
Linux là hệ điều hành nguồn mở, trong khi đó UNIX lại là hệ điều hành độc quyền. Bạn
có thể sử dụng các distro của Linux hoàn toàn miễn phí, trong khi đó, phải trả tiền để
sử dụng UNIX.
2. Làm thế nào để xác định được các kết nối trong trạng thái active thông qua
Terminal?
Với lệnh này, ta có thể hiển thị lên Terminal các kết nối internet tới máy hiện tại trong
trạng thái active.
3. Để cài đặt Linux, cần tối thiểu bao nhiêu phân vùng?
Swap Partition
Root Directory
Mục đích của lệnh này là để lựa chọn các usert account khác nhau.
Bạn có thể gõ sudo su và nhập password để nhảy sang các account khác trong hệ điều
hành Linux.
5. Trình bày các cách để shutdown một máy tính cá nhân chạy linux trên giao
diện CLI?
Với tham số time, bạn sẽ thay nó bằng một số biểu thị số giây bạn muốn đếm ngược
trước khi hệ thống shutdown.
6. fork() là gì?
fork() là một system call. Nó được dùng để tạo một process (tiến trình) mới từ một
process đang hoạt động trong bộ nhớ hệ thống. Do đó, process đang hoạt động kia gọi
là process cha và process mới tạo gọi là process con.
Tham khảo các khóa học lập trình online, onlab, và thực tập lập trình tại TechMaster
Phần mềm nguồn mở tuân theo giấy phép bản quyền GPL (GPL License). Đại khái la
chúng ta có thể sử dụng miễn phí, xem source code, chỉnh sửa source code. Nhưng
không được bán lại phần mềm đó dưới bất kỳ hình thức nào.
9. Hãy liệt kê tất cả chương trình đang chạy trên hệ thống của bạn?
Với câu hỏi này, hãy dùng lệnh top trong terminal, nó sẽ trả về chi tiết của tất cả các
process đang chạy trong hệ thống.
DOS là viết tắt của Disk Operating System. DOS chạy trong các hệ thống Microsoft sử
dụng giao diện CLI.
Về mặt cú pháp, các lệnh DOS không phân biệt chữ hoa - thường trong khi lệnh BASH
thì có phân biệt.
11. Làm thể nào để xem được đầy đủ bộ nhớ Swap và RAM trong môi trường
LInux?
12. Sửa đổi mã nguồn của Linux Ubuntu có phải là một hành động hợp pháp
không?
Vì Linux tuân theo GNU GPL License nên chắc chắn đó là một hành động hợp pháp.
Thậm chí có cả một cộng đồng chuyên làm việc này.
Các thay đổi sẽ được review kỹ lưỡng bởi team phát triển và team phát triển sẽ căn cứ
vào đó để cài đặt chúng vào phiên bản kế tiếp.
13. Lệnh nào dùng để liệt kê các file và thư mục trong hệ thống?
Kernel là nhân của hệ điều hành. Nó là phần quan trọng nhất của một OS.
Kernel cung cấp các service cơ bản nhất và các tương tác với lệnh của người dùng.
Có rất nhiều bản thể của kernel nhưng tựu chung lại có 3 loại chính:
1. Monolithic kernel
2. Micro Kernel
3. Hybrid Kernel
16. Chương trình nào dùng để login một cách an toàn vào Linux?
SSH là một giao thức mạng được mã hóa. SSH được coi như người kế thừa xuất sắc
nhất của giao thức Telnet.
17. Phân vùng nào lưu trữ system configuration trong Linux?
1. Linux Mint
2. Ubuntu
3. Mandriva
4. Arch
5. Slackware
6. Debian
7. Fedora
20. Trong hệ điều hành Linux, Daemon nào điều khiển Printer Spooling process?
1. XFS
2. EXT3
3. NFS
4. RAMFS
5. EXT4
6. AUTOFS
7. NTFS
22. Tình bày hiểu biết của bạn về GNU GPL Lincese?
GNU GPL = GNU General Public License. Nó là một License cho các phần mềm miễn
phí. License này cho phép người dùng chia sẻ, sao chép và thay đổi source code của
phần mềm.
rmdir
24. Kích thước của Swap memory trong Linux nằm trong khoảng nào?
Thông thường, kích thước của Swap memory nên bằng hoặc gâp đôi RAM.
SE-Linux là viết tắt của Security Enhanced Linux. Nó được phát triển để ngăn chặn các
Daemon bất hợp pháp cũng như các Server Misconfiguration( các config server lỗi).
SE-Linux cũng cung cấp một cơ chế điều khiển truy nhập (access control), kéo theo đó
là hệ thống phân quyền cho các daemons và chương trình, quy định các file mà chúng
được phép truy cập.
26. Kể tên đối số truyền vào để giải nén file trong Linux Terminal.
Để giải nén file bằng Terminal bằng lệnh tar, bạn hãy thêm đối số -x .
Nó một tập hợp các phần mềm, liên quan trực tiếp tới các quá trình cập nhật, chỉnh
sửa, gỡ bỏ và cài mới các chương trình trong Linux. Package Manager còn được gọi là
Package Management System.
28. Tên của Bootloader được sử dụng trong Linux Ubuntu?
sudo được sử dụng để cho phép người dùng sử dụng hệ điều hành Linux với mức
phân quyền cao nhất.
Shell là một interface nằm giữa lệnh của người dùng với hệ điều hành.
Khi người dùng gõ lệnh hoặc nhập bất kỳ thứ gì vào cửa sổ Terminal, lệnh đó sẽ được
thông dịch bởi Shell và gửi qua cho Kernel hệ điều hành dưới dạng system call.
Trong Linux, các file sau được load khi hệ điều hành khởi động:
/etc/fstab
/etc/init.d/rc.d/rcN.d
/boot/grub/grub.conf
/etc/initab
32. Làm thế nào để xác định Linux đang chạy ở chế độ nào trong số 7 chế độ đã
biết ?
33. Để quản lý các port trong Linux, ta cần sử dụng lệnh nào?