Chương 1: TỔNG QUAN HỆ ĐIỀU HÀNH NHÚNG - 25 - tiêu chuẩn xác định cấu trúc thƣ mục cho các hệ điều hành dòng UNIX. Tiêu chuẩn này đƣợc gọi là FHS. /bin: Thƣ mục này gồm chủ yếu các chƣơng trình, phần lớn trong số chúng cần cho hệ thống trong thời gian khởi động (hoặc trong chế độ một ngƣời dùng khi bảo trì hệ thống). Ở đây có lƣu rất nhiều những câu lệnh thƣờng dùng của Linux.
/boot: Gồm các tập tin cố định cần cho khởi động hệ thống, trong đó có nhân (kernel). Tập tin trong thƣ mục này chỉ cần trong thời gian khởi động. /dev: Thƣ mục này chứa các file thiết bị. Trong thế giới Unix và Linux các thiết bị phần cứng đƣợc xem nhƣ làm một file.
Đĩa cứng và phân vùng là các file nhƣ hda1, hda2. Đĩa mềm là fd0… Các tập tin thiết bị này đặt trong thƣ mục /dev. /etc: Thƣ mục này chứa các file cấu hình toàn cục của hệ thống. Có thể có nhiều thƣ mục con của thƣ mục này nhƣng nhìn chung chúng chứa các file script để khởi động hay phục vụ cho mục đích cấu hình chƣơng trình trƣớc khi khởi động.
/home: Thƣ mục này chứa các thƣ mục con đại diện cho mỗi User khi đăng nhập. Nơi đây tựa nhƣ ngôi nhà của ngƣời dùng. Khi ngƣời quản trị tạo tài khoảng cho ngƣời dùng, họ cấp cho ngƣời dùng một thƣ mục con trong /home. Ngƣời sử dụng có thể sao chép, xóa file, tạo thƣ mục con trong thƣ mục /home mà không ảnh hƣởng đến các ngƣời dùng khác.
/lib: thƣ mục này chứa các file thƣ viện. Các thƣ viện C và các thƣ viện liên lết động cần cho chƣơng trình khi chạy và cần cho toàn hệ thống. Thƣ mục này tƣơng tự nhƣ thƣ mục SYSTEM32 của Windows. /lost + found: Thƣ mục này đƣợc đặt tên hơi lạ nhƣng đúng nghĩa của nó.
Khi hệ thống khởi động hoặc khi chạy chƣơng trình fsck, nếu tìm thấy một chuỗi dữ liệu nào đó bị thất lạc trên đĩa cứng không liên quan đến các tập tin, Linux sẽ gộp chúng lại và đặt trong thƣ mục này để nếu cần ngƣời dùng có thể đọc và giữ lại dữ liệu đã mất. /mnt: Thƣ mục này chứa các thƣ mục kết gán tạm thời đến các ổ đĩa hay thiết bị khác. /sbin: Thƣ mục này chứa các file hay chƣơng trình thực thi của hệ thống thƣờng chỉ cho phép sử dụng bởi ngƣời quản trị. Luan van Chương 1: TỔNG QUAN HỆ ĐIỀU HÀNH NHÚNG - 26 - /tmp: Đây là thƣ mục tạm dùng để chứa các file tạm mà chƣơng trình sử dụng chỉ trong quá trình chạy.
Các file trong thƣ mục này sẽ đƣợc hệ thống dọn dẹp nếu không còn dùng đến nữa. /usr: thƣ mục này chứa rất nhiều thƣ mục con nhƣ /usr/bin hay /usr/sbin. Một trong những thƣ mục quan trọng trong /usr là /usr/local. Bên trong thƣ mục local này bạn có đủ các thƣ mục con tƣơng tự ngoài thƣ mục gốc nhƣ sbin,lib, bin… Nếu bạn nâng cấp hệ thống thì các chƣơng trình cài đặt trong /usr/local vẫn giữ nguyên và không sợ bị mất mát.
Hầu hết các ứng dụng Linux đều thích cài đặt vào /usr/local. Thƣ mục này tƣơng tự nhƣ Program File trên Windows. /var: Thƣ mục này chứa các file biến thiên bất thƣờng nhƣ các file dữ liệu đột nhiên tăng kích thƣớc trong một thời gian ngắn sau đó lại giảm kích thƣớc xuống còn rất nhỏ. Điển hình là các file dùng làm hàng đợi chứa dữ liệu cần đƣa ra máy in hoặc các hàng đợi chứa mail.4 Các lệnh cơ bản trên Linux Hiển thị thông tin ngƣời dùng: Lệnh who am I, hay whoami Tạo tài khoản ngƣời: Lệnh useradd useradd [tên tài khoản] Lệnh cho phép tạo một tài khoản ngƣời dùng, ngƣời dùng có thể sử dụng tài khoản này để đăng nhập vào hệ thống ngay trên máy Linux hoặc từ các máy khác thông qua mạng.
Bạn chỉ khi đăng nhập vào hệ thống với tài khoản root bạn mới có thể tạo tài khoản ngƣời dùng, đăng nhập hệ thống với tài khoản root có thể đăng nhập trực tiếp trên máy hoặc thông qua một máy khác trên mạng. Luan van Chương 1: TỔNG QUAN HỆ ĐIỀU HÀNH NHÚNG - 27 - Sau khi tạo tài khoản thành công, thƣ mục có tên tài khoản vừa tạo sẽ đƣợc tạo ra trong thƣ mục /home /. Xóa tài khoản ngƣời dùng: Lệnh userdel userdel [tên tài khoản] Thay đổi mật khẩu đăng nhập: Lệnh passwd Trong hệ thống Linux, khi bạn nhập password thì các ký tự sẽ không đƣợc hiển thị ra màn hình dƣới dạng các ký tự * nhƣ trong hệ thống windows. Thay đổi tài khoản đăng nhập: Lệnh su Giả sử bạn đăng nhập với tài khoản là root.
Sau khi đăng nhập dấu nhắc hệ thống sẽ có dạng #. Giờ chúng ta tạo thêm một tài khoản user có tên là user01 sử dụng lệnh useradd nhƣ sau: useradd user01 Chuyển đăng nhập sang user01 nhƣ sau: su user01 Lúc này dấu nhắc hệ thống có dạng $ Thay đổi đăng nhập bằng tài khoảng root: Luan van Chương 1: TỔNG QUAN HỆ ĐIỀU HÀNH NHÚNG - 28 - Xem trợ giúp về lệnh: Lệnh man Cú pháp: man tên lệnh Lệnh man cho phép hệ thống hiển thị thông tin của lệnh đƣợc chỉ ra trong lệnh man, đây là một trình trợ giúp hiệu quả cho ngƣời sử dụng Linux. Một số phím chức năng trong lệnh man: :q Kết thúc :b Về trang trƣớc :f Về trang sau Thay đổi thƣ mục hiện hành: Lệnh cd (change directory) $ cd <pathname> pathname = đƣờng dẫn tƣơng đối (tính từ thƣ mục hiện hành) hoặc tuyệt đối (tính từ thƣ mục gốc) Thƣ mục đặc biệt: Thƣ mục hiện hành:. Thƣ mục cha:.
Thƣ mục home: ~ hoặc ~username $cd /tmp (chuyển tới thƣ mục /tmp) $cd ./home/a01 (chuyển tới thƣ mục /home/a01) $pwd /home/a01 Liệt kê nội dung thƣ mục: Lệnh ls (listing directory): ls [option] path_name Ví dụ: $ ls addr.h -a liệt kê các file ẩn Luan van Chương 1: TỔNG QUAN HỆ ĐIỀU HÀNH NHÚNG - 29 - -d chỉ liệt kê tên của thƣ mục, không liệt kê nội dung -F liệt kê các file và cho biết kiểu của file qua ký hiệu ở cuối Không có ký hiệu gì: file thƣờng „/‟ directories „*‟ executable files “@” linked files -i cho biết số inode của file -l liệt kê đầy đủ thông tin về file/thƣ mục -R liệt kê các thƣ mục con đệ quy -t sắp xếp theo thời gian cập nhật Tạo thƣ mục: Dùng lệnh mkdir mkdir path_name Ví dụ: $pwd /export/home/a01 $mkdir examples $ls –aF .bash_profile Desktop/ examples/ .wl Ví dụ cần tạo 3 thƣ mục a, b, c nhƣ sau a/b/c Dùng 3 lệnh mkdir $mkdir a $mkdir a/b $mkdir a/b/c Dùng một lệnh mkdir $mkdir –p a/b/c Luan van Chương 1: TỔNG QUAN HỆ ĐIỀU HÀNH NHÚNG - 30 - 1.5 Lệnh xóa file và thƣ mục Lệnh rm Xoá thƣ mục rỗng (không chứa thƣ mục con hay file) rmdir path_name(s) Xoá thƣ mục không rỗng rm –r path_name(s) Xoá file rm –option file_name(s) Lệnh Copy files: cp [-option] from(s) to Copy thƣ mục cp -r from(s) to Vídụ: $cp /etc/passwd.pas /tmp $cp /etc/sysconfig/network-sripts /tmp 1.6 Di chuyển file và thƣ mục Lệnh mv (move): mv [option] filename dest_file mv [option] directory dest_dir mv [option] filename dest_dir Ví dụ: $mv examples lab1 Tạo file và nhập vào nội dung cat > name_of_file Sau khi nhập nội dung, gõ <Enter> để xuống dòng. Ấn Ctrl-d để ghi nội dung soạn thảo vào file và kết thúc thao tác. Luan van Chương 1: TỔNG QUAN HỆ ĐIỀU HÀNH NHÚNG - 31 - Ví dụ $cat > test.txt <Enter> this is my file <Enter> Ctrl + D $ Tạo file rỗng (0 bytes) bằng lệnh touch touch new_file Tạo file có nội dung dài: Lệnh more: more filename Dấu nhắc --More--(nn%) xuất hiện bên dƣới màn hình. Có thể dùng các phím điều khiển trong lúc đang xem nội dung file space bar hiển thị trang kế tiếp <RETURN> hiển thị dòng kế tiếp q thoát khỏi lệnh more b về trang trƣớc.
h xem trợ giúp Hiển thị n dòng đầu tiên của một text file, dùng lệnh head head -n filename (nếu n=10, có thể bỏ option –n đi: head filename) Hiển thị nội dung file: Hiển thị n dòng sau cùng của một text file, dùng lệnh last last -n filename (nếu n=10, có thể bỏ option –n đi: last filename) 1.7 Tìm kiếm một file trong hệ thống file (file system) dùng lệnh find find pathname -name filename -print (Có thể dùng wildcard đặt trong dấu nháy kép) Luan van Chương 1: TỔNG QUAN HỆ ĐIỀU HÀNH NHÚNG - 32 - Ví dụ: $find / -name “*.cpp” -print Cũng có thể định vị một file bằng các lệnh which, whereis, locate (lƣu ý là các lệnh này chỉ tìm trong phạm vi biến môi trƣờng PATH hoặc xxxPATH) Ví dụ: $ which find $ locate ls Tìm trong nội dung của file: Tìm một chuỗi ký tự trong một text file bằng lệnh grep pattern filename(s) pattern: chuỗi ký tự cần tìm kiếm. Nếu chuỗi có ký tự đặc biệt thì phải đặt trong dấu nháy đơn. Ví dụ: $ grep UNIX /usr/man/man*/* $ grep -n '[dD]on\'t' notes $ grep a01 /etc/passwd Các quyền trên file và thƣ mục: Hệ thống *NIX bảo vệ các file và thƣ mục thông qua các quyền thiết lập trên đó. Có 3 quyền: r–read - đọc w–write –ghi x–execute -thực thi Các quyền đƣợc áp dụng trên 3 nhóm ngƣời dùng, kí hiệu bằng ba kí tự tƣơng ứng u, g, o u = owner user = chủ sở hữu g = group = những ngƣời cùng nhóm với chủ sở hữu o = others = tất cả những ngƣời khác Phân quyền: Luan van Chương 1: TỔNG QUAN HỆ ĐIỀU HÀNH NHÚNG - 33 - Các quyền áp dụng cho 3 nhóm ngƣời dùng kết hợp lại thành 9 bit nhƣ sau: rwx rwx rwx user group other Có thể xem thông tin về quyền truy cập bằng lệnh ls -l Ví dụ: $ls -l -rwxr-xr-x Với ví dụ trên: Chủ sở hữu có quyền r (đọc), w (ghi), và x (thực thi).
Các thành viên cùng nhóm với chủ sở hữu có quyền r và x. Những ngƣời khác có quyền r và x. Thay đổi quyền trên file và thƣ mục: Dùng lệnh chmod. chmod access_mode file(s) Quyền truy cập có thể thiết lập theo 2 dạng Dạng dùng ký hiệu (symbolic): [ugo][+ -=][rwx] Dạng dùng số bát phân (octal): [0-7][0-7][0-7] 1.8 Kết gán ổ đĩa và thƣ mục Lệnh mount Lệnh mount cho phép kết gán các phân vùng hay thiết bị vật lý nhƣ A, CD_ROM thành một thƣ mục trong cây thƣ mục thống nhất của hệ điều hành bắt đầu từ thƣ mục gốc /.
Lệnh mount đơn giản có cú pháp nhƣ sau: mount –t vfstype devicefile mdir devicefile là đƣờng dẫn đến file thiết bị (thƣờng lƣu trong thu mực /dev). Linux thƣờng quy định ổ đĩa A là file thiết bị /dev/fd0. Ổ đĩa CD-ROM là /dev/cdrom, các phân vùng là dev/hda1, dev/hda2….