1. Trang chủ
  2. » Công Nghệ Thông Tin

nhập môn Linux phần 2

11 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Tham khảo tài liệu ''nhập môn linux phần 2'', công nghệ thông tin, hệ điều hành phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chương Sử dụng câu lệnh Linux 3.1 Giới thiệu ls Bây giờ, xem qua câu lệnh ls Rất bạn làm quen với ls biết gõ câu lệnh (khơng có tham số) liệt kê nội dung thư mục thời: $ cd /usr $ ls bin doc games include info lib local sbin share src X11R6 Bằng việc rõ tùy chọn -a, bạn thấy tất tệp tin thư mục, bao gồm tệp tin che giấu (hiđen files): mà bắt đầu với Như bạn thấy ví dụ sau, ls -a đưa thư mục liên kết đặc biệt : $ ls -a bin doc games include info lib local sbin share src X11R6 3.2 Danh sách thư mục loại dài Bạn rõ hay nhiều tệp tin hay thư mục dòng lệnh ls Nếu bạn rõ tệp tin, ls hiển thị có tệp tin mà thơi Nếu bạn thích người dịch: ví dụ số phía dưới, kết thu Debian Linux, kết nguyên có khác 13 CHƯƠNG SỬ DỤNG CÁC CÂU LỆNH CỦA LINUX 14 rõ thư mục, ls hiển thị nội dung thư mục Tùy chọn -l thuận tiện bạn cần xem thông tin quyền hạn (permissions), sở hữu (ownership), thời gian sửa đổi (modification time), kích thước (size) danh sách thư mục 3.3 Danh sách thư mục loại dài, Trong ví dụ đây, sử dụng tùy chọn -l để hiển thị danh dách đầy đủ thư mục /usr $ ls -l /usr total 122 drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x lrwxrwxrwx drwxr-xr-x drwxrwsr-x drwxr-xr-x drwxr-xr-x drwxrwsr-x drwxr-xr-x root root 53104 2004-08-29 02:17 bin root root 2336 2004-06-22 19:51 doc root root 3088 2004-06-01 15:44 games 46 root root 5528 2004-06-13 16:33 include root root 10 2004-05-31 22:29 info -> share/info 138 root root 43384 2004-08-29 00:28 lib 11 root staff 272 2004-06-05 04:06 local root root 6760 2004-08-29 00:28 sbin 236 root root 6360 2004-06-22 19:31 share teppi82 src 136 2004-08-28 21:58 src root root 144 2004-05-31 22:53 X11R6 Cột thứ hiển thị thông tin quyền hạn cho mục danh sách Một chút giải thích cách dịch thơng tin Cột hiển thị số liên kết (links) cho mục hệ thống tệp tin, tạm thời cất lại trở lại sau Cột thứ ba cột thứ tư, tương ứng, người sở hữu (owner) nhóm (group) Cột thứ năm liệt kê kích thước Cột thứ sáu "thời gian sửa đổi gần nhất" ("last modified" time) hay "mtime" mục Cột cuối tên gọi Nếu tệp tin liên kết tượng trưng (symbolic link), bạn thấy dấu -> đường dẫn tới nơi mà liên kết đến.2 thích người dịch: ví dụ info trường hợp 3.4 XEM THƯ MỤC 3.4 15 Xem thư mục Đôi bạn muốn xem thư mục, không quan tâm nội dung Cho trường hợp này, bạn rõ tùy chọn -d, để nói với ls xem thư mục nào: $ ls -dl /usr /usr/bin /usr/X11R6/bin /share drwxr-xr-x 241 root root 6488 2004-09-02 18:21 /share drwxr-xr-x 12 root root 312 2004-05-31 22:29 /usr drwxr-xr-x root root 53208 2004-09-02 18:21 /usr/bin drwxr-xr-x root root 3984 2004-06-22 19:30 /usr/X11R6/bin 3.5 Danh sách inode danh sách đệ qui (recursive) Như bạn sử dụng -d để xem thư mục, đồng thời bạn dùng -R để làm điều ngược lại: không xem nội dung thư mục, mà xem tất tệp thư mục bên thư mục (Xem tồn bộ)! Chúng tơi khơng đưa ví dụ cho tùy chọn (vì thường to), bạn muốn thử vài lần câu lệnh ls -R ls -Rl để biết chúng làm việc Cuối cùng, tùy chọn -i ls sử dụng để hiển thị danh sách số inode vật thể hệ thống tập tin: $ ls 685 915 916 -i /usr bin 917 include 9352 local 920 src doc 918 info 706 sbin 12522 X11R6 games 919 lib 708 share 3.6 Hãy hiểu inode, Phần Mọi vật thể hệ thống tập tin xác định số (index) nhất, gọi số inode Cái tầm thường, am hiểu inode cần thiết để hiểu nhiều thao tác với hệ thống tập tin Ví dụ, xem xét liên kết mà xuất thư mục Để hiểu đầy đủ thư mục thực gì, xem số inode /usr/local: 16 CHƯƠNG SỬ DỤNG CÁC CÂU LỆNH CỦA LINUX $ ls -id /usr/local 9352 /usr/local Thư mục /usr/local có số inode 9352 Còn bây giờ, xem số inode mbox/usr/local/bin/ : $ ls -id /usr/local/bin/ 9352 /usr/local/bin/ 3.7 Hãy hiểu inode, phần Như bạn thấy, /usr/local/bin/ có số inode với /usr/local! Ở cách tiến tới hiểu thấu với khám phá gây "sốc" Trước đây, xem xét /usr/local tự thư mục Bây giờ, khám phá inode 9352 thực tế thư mục, tìm thấy hai mục (gọi "liên kết") tới inode Cả /usr/local /usr/local/bin/ liên kết tới inode 9352 Mặc dù inode 9352 tồn nơi đĩa, nhiều liên kết tới Inode 9352 mục thật đĩa 3.8 Hãy hiểu inode, Phần Trên thực tế, thấy tổng số lần mà inode 9352 liên kết đến, dùng câu lệnh ls -dl : $ ls -dl /usr/local drwxrwsr-x 11 root staff 272 2004-06-05 04:06 /usr/local Nếu nhìn vào cột thứ hai từ bên trái, thấy thư mục /usr/local (inode 9352) liên kết đến mười lần Đây đường dẫn khác nhau, liên kết đến inode hệ điều hành tôi: /usr/local /usr/local/ /usr/local/bin/ /usr/local/games/ /usr/local/lib/ /usr/local/sbin/ 3.9 MKDIR 17 /usr/local/share/ /usr/local/src/ /usr/local/j2sdk1.4.2/ /usr/local/man/ /usr/local/include/ 3.9 mkdir Hãy xem xét nhanh câu lệnh mkdir, lệnh sử dụng để tạo thư mục Ví dụ tạo thư mục mới, co, ca, ro, tất /tmp: $ cd /tmp $ mkdir co ca ro Theo mặc định, câu lệnh mkdir khơng tạo thư mục mẹ cho bạn; tồn đường dẫn từ phần tử đến phần tử cuối phải tồn Vì vậy, bạn muốn tạo thư mục co/gai/dep, bạn cần đưa ba câu lệnh mkdir riêng biệt: $ mkdir co/gai/dep mkdir: cannot create directory ‘co/gai/dep’: Not a directory $ mkdir co $ mkdir co/gai $ mkdir co/gai/dep 3.10 mkdir -p Tuy nhiên, mkdir có tùy chọn -p thuận tiện, thơng báo cho mkdir tạo thư mục mẹ chưa có, bạn thấy đây: $ mkdir -p de/nhu/an/chao/ga Nói chung, khơng phức tạp đẹp mắt Để học thêm câu lệnh mkdir, gõ man mkdir đọc trang hướng dẫn sử dụng (manual page) Cách làm việc với gần tất câu lệnh bao hàm (ví dụ, man ls), trừ cd, cd gắn liền (built-in) vào bash CHƯƠNG SỬ DỤNG CÁC CÂU LỆNH CỦA LINUX 18 3.11 touch Bây giờ, xem xét nhanh câu lệnh cp mv, sử dụng để chép, đổi tên, di chuyển tệp tin, thư mục Để bắt đầu tổng quan này, thứ sử dụng câu lệnh touch để tạo tệp tin /tmp: $ cd /tmp $ touch saochepem Câu lệnh touch cập nhật "mtime" tệp tin tệp tin có (nhắc lại cột thứ sáu kết ls -l ) Nết tệp tin không tồn tại, tệp tin mới, rỗng tạo Bây bạn có tệp tin /tmp/saochepem với kích thước khơng 3.12 echo Bây có tệp tin, thêm vào số liệu Chúng ta làm điều này, sử dụng câu lệnh echo, lệnh lấy đối số in chúng thiết bị tiêu chuẩn3 (standard output) Đầu tiên, lệnh echo: $ echo "tepdautien" tepdautien 3.13 echo chuyển hướng Bây giờ, câu lệnh echo với chuyển hướng kết (output redirection): $ echo "tepdautien" > saochepem Dấu lớn nói với vỏ shell viết kết echo vào tệp tin saochepem Tệp tin tạo chưa có, bị viết đè lên có Bằng cách gõ ls -l, thấy tệp tin saochepem "dài" 11 byte, chứa từ tepdautien ký tự dòng mới: $ ls -l saochepem -rw-r–r– teppi82 thang 11 2004-09-02 18:56 saochepem thích người dịch: thơng thường hình 3.14 CAT VÀ CP 3.14 19 cat cp Để hiển thị nội dung tệp tin thiết bị đầu cuối (terminal), sử dụng câu lệnh cat : $ cat saochepem tepdautien Bây giờ, sử dụng "câu thần chú" lệnh cp để tạo tệp tin embansao từ tệp tin gốc saochepem: $ cp saochepem embansao Dựa nghiên cứu, thấy tệp tin thật riêng rẽ; số inode chúng khác nhau: $ ls -i saochepem embansao 471627 embansao 471620 saochepem 3.15 mv Bây giờ, sử dụng câu lệnh mv để đổi tên "embansao" thành "embichuyen" Số inode chúng không thay đổi; nhiên, tên tệp tin đến inode khác $ mv embansao embichuyen $ ls -i embichuyen 471627 embichuyen Số inode tệp tin bị chuyển không thay đổi đồng thời tệp tin thu nằm hệ thống tập tin tệp tin nguồn Chúng ta có nhìn gần hệ thống tập tin Phần chuỗi sách hướng dẫn Trong nói mv, xem cách sử dụng khác câu lệnh mv, cho phép thay đổi tên tệp tin, cho phép di chuyển hay nhiều tệp tin tới vị trí khác hệ đẳng cấp thư mục Ví dụ, để chuyển /var/tmp/teptin.txt tới /home/teppi82 (tệp tin nhà ;) gõ: 20 CHƯƠNG SỬ DỤNG CÁC CÂU LỆNH CỦA LINUX $ mv /var/tmp/teptin.txt /home/teppi82 Sau gõ câu lệnh này, teptin.txt bị chuyển đến /home/teppi82/teptin.txt Và /home/teppi82 nằm hệ thống tập tin khác với /var/tmp, câu lệnh mv chép teptin.txt tới hệ thống tập tin xóa hệ thống cũ Như bạn đốn được, teptin.txt bị di chuyển hệ thống tập tin, teptin.txt vị trí có số inode Đó hệ thống tập tin có số inode độc lập riêng Chúng ta sử dụng câu lệnh mv để di chuyển nhiều tệp tin tới thư mục đích Ví dụ, để di chuyển teptin1.txt baibao3.txt tới /home/teppi82, cần gõ: $ mv /var/tmp/teptin1.txt /var/tmp/baibao3.txt /home/teppi82 Chương Tạo liên kết xóa tệp tin 4.1 Liên kết cứng Chúng ta đề cập thuật ngữ "liên kết" nói đến quan hệ hai thư mục (tên gõ) inode (chỉ số hệ thống tập tin mà ta thường hay bỏ qua) Thực tế, có hai kiểu liên kết Linux Kiểu mà thảo luận gọi liên kết cứng Mỗi inode có số liên kết cứng bất kỳ, inode hệ thống tập tin tất liên kết cứng biến Khi liên kết cứng cuối biến chương trình mở tệp đó, Linux tự động xóa tệp tin Liên kết cứng tạo câu lệnh ln: $ cd /tmp $ touch lienketdau $ ln lienketdau lienkethai $ ls -i lienketdau lienkethai 10662 lienketdau 10662 lienkethai 4.2 Liên kết cứng, Như bạn thấy, liên kết cứng làm việc cấp độ inode để tới tệp tin nói riêng Trên hệ điều hành Linux, liên kết cứng có vài hạn chế Thứ nhất, bạn tạo liên kết cứng tới tệp tin, tới thư mục khơng Điều đúng; chí liên kết cứng hệ thống tạo ra, bạn (dù người dùng "root") khơng có quyền tạo cho riêng Giới hạn 21 22 CHƯƠNG TẠO LIÊN KẾT VÀ XÓA TỆP TIN thứ hai liên kết cứng chúng nối hệ thống tập tin Có nghĩa bạn khơng thể tạo liên kết từ /usr/bin/bash tới /bin/bash thư mục / /usr bạn nằm hệ thống tập tin riêng biệt 4.3 Liên kết tượng trưng Trên thực tiễn, liên kết tượng trưng (hay symlink ) sử dụng thường xuyên liên kết cứng Liên kết tượng trưng loại tệp tin đặc biệt, mà liên kết tới tệp tin khác bằng, tên không trực tiếp tới inode Liên kết tượng trưng khơng ngăn ngừa tệp tin trước xóa bỏ; tệp tin đích biến mất, liên kết tượng trưng khơng có giá trị sử dụng, bị hỏng 4.4 Liên kết tượng trưng, Liên kết tượng trưng tạo cách đưa tùy chọn -s tới ln $ ln -s lienkethai lienketba $ ls -l lienketdau lienkethai lienketba lrwxrwxrwx teppi82 thang 10 2004-09-02 23:04 lienketba -> lienkethai -rw-r–r– teppi82 thang 2004-09-02 19:19 lienketdau -rw-r–r– teppi82 thang 2004-09-02 19:19 lienkethai Trong kết ls -l, phân biệt liên kết tượng trưng với tệp tin bình thường cách Thứ nhất, cột chứa ký tự l để báo hiệu liên kết tượng trưng Thứ hai, kích thước liên kết tượng trưng số ký tự đích (lienkethai, trường hợp này) Thứ ba, cột cuối hiển thị tên tệp tin đích có dấu mũi tên -> trước 4.5 Sâu liên kết tượng trưng, phần Liên kết tượng trưng nói chung linh hoạt liên kết cứng Bạn tạo liên kết tượng trưng tới loại vật thể hệ thống tập tin, bao gồm thư mục Và liên kết tượng trưng thực thi sở đường dẫn (không phải inode), tạo cách hồn hảo liên kết tượng trưng mà đến vật thể hệ thống tập tin vật lý khác Tuy nhiên, thực tế làm cho việc hiểu liên kết tượng trưng thêm phức tạp 4.6 SÂU HƠN VỀ LIÊN KẾT TƯỢNG TRƯNG, PHẦN 4.6 23 Sâu liên kết tượng trưng, phần Xem xét trường hợp muốn tạo liên kết /tmp mà đến /usr/local/bin Chúng ta cần gõ sau: $ ln -s /usr/local/bin bin1 $ ls -l bin1 lrwxrwxrwx teppi82 thang Hay cách tương đương: $ ln -s /usr/local/bin bin2 $ ls -l bin2 lrwxrwxrwx teppi82 thang 16 2004-09-02 23:05 bin2 -> /usr/local/bin 4.7 Sâu liên kết tượng trưng, phần Như bạn thấy, hai liên kết tượng trưng tới thư mục Tuy nhiên, liên kết tượng trưng thứ hai bị chuyển tới thư mục khác, bị "vỡ" đường dẫn tương đối: $ mkdir thumucmoi $ mv bin2 thumucmoi $ cd thumucmoi $ cd bin2 bash: cd: bin2: No such file or director Vì thư mục /tmp/usr/local/bin không tồn tại, chuyển tới thư mục bin2; nói cách khác, bin2 bị vỡ 4.8 Sâu liên kết tượng trưng, phần Vì lý này, đơi lúc tránh việc tạo liên kết tượng trưng với đường dẫn tương đối ý kiến hay Tuy nhiên, có nhiều trường hợp liên kết tượng trưng với đường dẫn tương đối lại thuận tiện Xem xét ví dụ bạn muốn tạo tên thứ hai tương đương cho chương trình /usr/bin: # ls -l /usr/bin/unicode_start -rwxr-xr-x root root 1061 2004-04-22 22:30 /usr/bin/unicode_start ... drwxr-xr-x 24 1 root root 6488 20 04-09- 02 18 :21 /share drwxr-xr-x 12 root root 3 12 2004-05-31 22 :29 /usr drwxr-xr-x root root 5 320 8 20 04-09- 02 18 :21 /usr/bin drwxr-xr-x root root 3984 20 04-06 -22 19:30... 20 04-06-05 04:06 local root root 6760 20 04-08 -29 00 :28 sbin 23 6 root root 6360 20 04-06 -22 19:31 share teppi 82 src 136 20 04-08 -28 21 :58 src root root 144 20 04-05-31 22 :53 X11R6 Cột thứ hiển thị thông... root 3088 20 04-06-01 15:44 games 46 root root 5 528 20 04-06-13 16:33 include root root 10 20 04-05-31 22 :29 info -> share/info 138 root root 43384 20 04-08 -29 00 :28 lib 11 root staff 27 2 20 04-06-05

Ngày đăng: 11/05/2021, 03:40

Xem thêm:

w