intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

nhập môn Linux phần 2

Chia sẻ: Thái Duy Ái Ngọc | Ngày: | Loại File: PDF | Số trang:11

126
lượt xem
51
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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ủ đề:
Lưu

Nội dung Text: nhập môn Linux phần 2

  1. Chương 3 S d ng các câu l nh c a Linux 3.1 Gi i thi u ls Bây gi , chúng ta s xem qua câu l nh ls. R t có th là b n đã làm quen v i ls và bi t r ng ch gõ câu l nh này (không có tham s ) li t kê n i dung c a thư m c hi n th i: $ cd /usr $ ls bin doc games include info lib local sbin share src X11R6 1 B ng vi c ch rõ tùy ch n -a, b n có th th y t t c t p tin c a m t thư m c, bao g m các t p tin đư c che gi u (hiđen files): nh ng cái mà b t đ u v i .. Như b n có th th y trong ví d sau, ls -a đưa ra c các thư m c liên k t đ c bi t . và .. : $ 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 cũng có th ch rõ m t hay nhi u t p tin hay thư m c trên dòng l nh ls. N u b n ch rõ m t t p tin, ls s ch hi n th ra có t p tin đó mà thôi. N u b n 1 chú thích c a ngư i d ch: trong ví d này và m t s phía dư i, k t qu thu đư c là trên Debian Linux, k t qu trong nguyên b n có khác 13
  2. CHƯƠNG 3. S D NG CÁC CÂU L NH C A LINUX 14 ch rõ m t thư m c, ls s hi n th ra n i dung c a thư m c. Tùy ch n -l r t thu n ti n khi b n c n xem các thông tin như quy n h n (permissions), s h u (ownership), th i gian s a đ i (modification time), và kích thư c (size) trong danh sách thư m c. 3.3 Danh sách thư m c lo i dài, ti p theo Trong ví d dư i đây, chúng ta s d ng tùy ch n -l đ hi n th danh dách đ y đ c a thư m c /usr. $ ls -l /usr total 122 drwxr-xr-x 2 root root 53104 2004-08-29 02:17 bin drwxr-xr-x 2 root root 2336 2004-06-22 19:51 doc drwxr-xr-x 2 root root 3088 2004-06-01 15:44 games drwxr-xr-x 46 root root 5528 2004-06-13 16:33 include lrwxrwxrwx 1 root root 10 2004-05-31 22:29 info -> share/info drwxr-xr-x 138 root root 43384 2004-08-29 00:28 lib drwxrwsr-x 11 root staff 272 2004-06-05 04:06 local drwxr-xr-x 2 root root 6760 2004-08-29 00:28 sbin drwxr-xr-x 236 root root 6360 2004-06-22 19:31 share drwxrwsr-x 5 teppi82 src 136 2004-08-28 21:58 src drwxr-xr-x 6 root root 144 2004-05-31 22:53 X11R6 C t th nh t hi n th thông tin quy n h n cho t ng m c trong danh sách. M t chút n a tôi s gi i thích cách d ch thông tin này. C t ti p theo hi n th s liên k t (links) cho m i m c c a h th ng t p tin, chúng ta s t m th i c t l i nhưng s tr l i sau. C t th ba và c t th tư, tương ng, ngư i s h u (owner) và nhóm (group). C t th năm li t kê kích thư c. C t th sáu là "th i gian s a đ i g n nh t" ("last modified" time) hay "mtime" c a các m c. C t cu i cùng là tên g i. N u t p tin là liên k t tư ng trưng (symbolic link), b n s th y d u -> và đư ng d n t i nơi mà liên k t ch đ n.2 . 2 chú thích c a ngư i d ch: trong ví d trên info là m t trư ng h p như v y
  3. 3.4. XEM THƯ M C 15 3.4 Xem thư m c Đôi khi b n ch mu n xem thư m c, không quan tâm n i dung trong. Cho nh ng trư ng h p này, b n có th ch rõ tùy ch n -d, đ nói v i ls xem b t kỳ 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 2 root root 53208 2004-09-02 18:21 /usr/bin drwxr-xr-x 2 root root 3984 2004-06-22 19:30 /usr/X11R6/bin 3.5 Danh sách inode và danh sách đ qui (recursive) Như v y b n có th s d ng -d đ xem thư m c, nhưng đ ng th i b n cũng có th dùng -R đ làm đi u ngư c l i: không ch xem n i dung thư m c, mà còn xem t t c các t p và thư m c bên trong c a thư m c đó (Xem toàn b )! Chúng tôi không đưa ra ví d nào cho tùy ch n này (vì nó thư ng to), nhưng b n có th mu n th m t vài l n câu l nh ls -R và ls -Rl đ bi t chúng làm vi c như th nào. Cu i cùng, tùy ch n -i c a ls có th s d ng đ hi n th trong danh sách s inode c a các v t th h th ng t p tin: $ ls -i /usr 685 bin 917 include 9352 local 920 src 915 doc 918 info 706 sbin 12522 X11R6 916 games 919 lib 708 share 3.6 Hãy hi u inode, Ph n 1 M i v t th trên m t h th ng t p tin đư c xác đ nh m t ch s (index) duy nh t, g i là ch s inode. Cái này có v t m thư ng, nhưng am hi u inode là c n thi t đ hi u nhi u thao tác v i h th ng t p tin. Ví d , xem xét các liên k t . và .. mà xu t hi n trong m i thư m c. Đ hi u đ y đ thư m c .. th c s là gì, đ u tiên chúng ta xem ch s inode c a /usr/local:
  4. CHƯƠNG 3. S D NG CÁC CÂU L NH C A LINUX 16 $ ls -id /usr/local 9352 /usr/local Thư m c /usr/local có ch s inode là 9352. Còn bây gi , hãy xem ch s inode c a mbox/usr/local/bin/..: $ ls -id /usr/local/bin/.. 9352 /usr/local/bin/.. 3.7 Hãy hi u inode, ph n 2 Như b n có th th y, /usr/local/bin/.. có cùng ch s inode v i /usr/local! đây là cách chúng ta ti n t i s hi u th u v i khám phá gây "s c" này. Trư c đây, chúng ta xem xét /usr/local t nó là thư m c. Bây gi , chúng ta khám phá ra inode 9352 trên th c t là thư m c, và tìm th y hai m c (g i là "liên k t") ch t i inode này. C /usr/local và /usr/local/bin/.. đ u liên k t t i inode 9352. M c dù inode 9352 ch t n t i m t nơi trên đĩa, nhi u cái có th liên k t t i nó. Inode 9352 là m c th t s trên đĩa. 3.8 Hãy hi u inode, Ph n 3 Trên th c t , chúng ta có th th y t ng s l n mà inode 9352 đư c 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, chúng ta s th y r ng thư m c /usr/local (inode 9352) đư c liên k t đ n mư i m t l n. Đây là các đư ng d n khác nhau, liên k t đ n inode này trên h đi u hành c a tôi: /usr/local /usr/local/. /usr/local/bin/.. /usr/local/games/.. /usr/local/lib/.. /usr/local/sbin/..
  5. 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 có th s d ng đ t o thư m c m i. Ví d dư i đây t o 3 thư m c m i, co, ca, ro, t t c dư i /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; toàn b đư ng d n t ph n t ti p theo đ n ph n t cu i cùng ph i t n t i. Vì v y, n u b n mu n t o các thư m c co/gai/dep, b n c n đưa ra 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 r t thu n ti n, thông báo cho mkdir t o b t kỳ thư m c m nào n u chưa có, như b n có th 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 v câu l nh mkdir, gõ man mkdir và đ c trang hư ng d n s d ng (manual page). Cách này cũng làm vi c v i g n như t t c các câu l nh bao hàm đây (ví d , man ls ), tr cd, vì cd g n li n (built-in) vào bash.
  6. CHƯƠNG 3. S D NG CÁC CÂU L NH C A LINUX 18 3.11 touch Bây gi , chúng ta s xem xét nhanh các câu l nh cp và mv, s d ng đ sao chép, đ i tên, và di chuy n t p tin, thư m c. Đ b t đ u cái t ng quan này, th nh t chúng ta s s d ng câu l nh touch đ t o m t t p tin trong /tmp: $ cd /tmp $ touch saochepem Câu l nh touch c p nh t "mtime" c a m t t p tin n u t p tin đó đã có (nh c l i c t th sáu trong k t qu c a ls -l ). N t t p tin không t n t i, thì m t t p tin m i, r ng s đư c t o ra. Bây gi b n đã có t p tin /tmp/saochepem v i kích thư c b ng không. 3.12 echo Bây gi khi đã có t p tin, hãy thêm vào đó m t s d li u. Chúng ta có th làm đi u này, s d ng câu l nh echo, l nh l y đ i s và in chúng thi t b ra tiêu chu n3 (standard output). Đ u tiên, ch m t mình l nh echo: $ echo "tepdautien" tepdautien 3.13 echo và s chuy n hư ng Bây gi , v n câu l nh echo v i s chuy n hư ng k t qu (output redirection): $ echo "tepdautien" > saochepem D u l n hơn nói v i v shell vi t k t qu c a echo vào t p tin saochepem. T p tin này s đư c t o ra n u chưa có, và s b vi t đè lên n u đã có. B ng cách gõ ls -l, chúng ta có th th y t p tin saochepem "dài" 11 byte, vì nó ch a t tepdautien và ký t dòng m i: $ ls -l saochepem -rw-r–r– 1 teppi82 thang 11 2004-09-02 18:56 saochepem 3 chú thích c a ngư i d ch: thông thư ng là màn hình
  7. 3.14. CAT VÀ CP 19 3.14 cat và cp Đ hi n th n i dung t p tin trên thi t b đ u cu i (terminal), s d ng câu l nh cat : $ cat saochepem tepdautien Bây gi , chúng ta có th s d ng "câu th n chú" cơ b n c a l nh cp đ t o t p tin embansao t t p tin g c saochepem: $ cp saochepem embansao D a trên s nghiên c u, chúng ta th y đây là nh ng t p tin th t s riêng r ; ch s inode c a chúng khác nhau: $ ls -i saochepem embansao 471627 embansao 471620 saochepem 3.15 mv Bây gi , hãy s d ng câu l nh mv đ đ i tên "embansao" thành "em- bichuyen". S inode c a chúng s v n không thay đ i; tuy nhiên, tên t p tin ch đ n inode đó s khác. $ mv embansao embichuyen $ ls -i embichuyen 471627 embichuyen S inode c a t p tin b chuy n s v n không thay đ i đ ng th i t p tin thu đư c n m trên cùng h th ng t p tin như t p tin ngu n. Chúng ta s có cái nhìn g n hơn v h th ng t p tin t i Ph n 3 c a chu i sách hư ng d n này. Trong khi đang nói v mv, hãy xem cách s d ng khác c a câu l nh này. mv, ngoài s cho phép chúng ta thay đ i tên t p tin, còn cho phép di chuy n m t hay nhi u t p tin t i v trí khác trong h đ ng c p các thư m c. Ví d , đ chuy n /var/tmp/teptin.txt t i /home/teppi82 (t p tin nhà c a tôi ;) tôi gõ:
  8. CHƯƠNG 3. S D NG CÁC CÂU L NH C A LINUX 20 $ mv /var/tmp/teptin.txt /home/teppi82 Sau khi gõ câu l nh này, teptin.txt s b chuy n đ n /home/teppi82/teptin.txt. Và n u /home/teppi82 n m trên h th ng t p tin khác v i /var/tmp, thì câu l nh mv s sao chép teptin.txt t i h th ng t p tin m i và xóa cái trên h th ng cũ. Như b n có th đoán đư c, khi teptin.txt b di chuy n gi a các h th ng t p tin, teptin.txt t i v trí m i s có s inode m i. Đó là vì m i h th ng t p tin có b các s inode đ c l p c a riêng mình. Chúng ta cũng có th s d ng câu l nh mv đ di chuy n nhi u t p tin t i m t thư m c đích. Ví d , đ di chuy n teptin1.txt và baibao3.txt t i /home/teppi82, tôi c n gõ: $ mv /var/tmp/teptin1.txt /var/tmp/baibao3.txt /home/teppi82
  9. Chương 4 T o liên k t và 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" khi nói đ n quan h gi a hai thư m c (tên chúng ta gõ) và inode (ch s trên h th ng t p tin mà ta thư ng hay b qua). Th c t , có hai ki u liên k t trên Linux. Ki u mà chúng ta đã th o lu n g i là liên k t c ng. M i inode có th có s liên k t c ng b t kỳ, và inode s v n còn trên h th ng t p tin cho đ n khi t t c liên k t c ng bi n m t. Khi liên k t c ng cu i cùng bi n m t và không có chương trình nào m t p đó, Linux s t đ ng xóa t p tin. Liên k t c ng m i có th t o b ng 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, ti p theo Như b n có th th y, liên k t c ng làm vi c trên c p đ inode đ ch t i m t t p tin nói riêng. Trên h đi u hành Linux, liên k t c ng có m t vài h n ch . Th nh t, b n ch có th t o liên k t c ng t i t p tin, t i thư m c thì không. Đi u này đúng; th m chí . và .. là các liên k t c ng h th ng t o ra, b n (dù là ngư i dùng "root") không có quy n t o m t cái cho riêng mình. Gi i h n 21
  10. CHƯƠNG 4. T O LIÊN K T VÀ XÓA T P TIN 22 th hai c a liên k t c ng là chúng không th n i h th ng t p tin. Có nghĩa là b n không th t o m t liên k t t /usr/bin/bash t i /bin/bash n u các thư m c / và /usr c a b n n m trên các 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 ) đư c s d ng thư ng xuyên hơn liên k t c ng. Liên k t tư ng trưng là lo i m t t p tin đ c bi t, mà đó liên k t ch t i t p tin khác b ng, tên ch không tr c ti p t i inode. Liên k t tư ng trưng không ngăn ng a m t t p tin trư c s xóa b ; n u t p tin đích bi n m t, thì liên k t tư ng trưng s không có giá tr s d ng, ho c b h ng. 4.4 Liên k t tư ng trưng, ti p theo Liên k t tư ng trưng có th t o b ng cách đưa tùy ch n -s t i ln. $ ln -s lienkethai lienketba $ ls -l lienketdau lienkethai lienketba lrwxrwxrwx 1 teppi82 thang 10 2004-09-02 23:04 lienketba -> lienkethai -rw-r–r– 2 teppi82 thang 0 2004-09-02 19:19 lienketdau -rw-r–r– 2 teppi82 thang 0 2004-09-02 19:19 lienkethai Trong k t qu c a ls -l, có th phân bi t liên k t tư ng trưng v i các t p tin bình thư ng b ng 3 cách. Th nh t, c t đ u tiên ch a ký t l đ báo hi u liên k t tư ng trưng. Th hai, kích thư c c a liên k t tư ng trưng là s ký t c a đích (lienkethai, trong trư ng h p này). Th ba, c t cu i cùng hi n th tên t p tin đích có d u mũi tên -> đi trư c. 4.5 Sâu hơn v liên k t tư ng trưng, ph n 1 Liên k t tư ng trưng nói chung linh ho t hơn liên k t c ng. B n có th t o liên k t tư ng trưng t i b t kỳ lo i v t th nào c a h th ng t p tin, bao g m thư m c. Và b i vì liên k t tư ng trưng th c thi trên cơ s đư ng d n (không ph i inode), có th t o m t cách hoàn h o liên k t tư ng trưng mà ch đ n v t th trên m t h th ng t p tin v t lý khác. Tuy nhiên, th c t này làm cho vi c hi u liên k t tư ng trưng thêm ph c t p.
  11. 4.6. SÂU HƠN V LIÊN K T TƯ NG TRƯNG, PH N 2 23 4.6 Sâu hơn v liên k t tư ng trưng, ph n 2 Xem xét trư ng h p khi chúng ta mu n t o m t liên k t trong /tmp mà ch đ n /usr/local/bin. Chúng ta c n gõ như sau: $ ln -s /usr/local/bin bin1 $ ls -l bin1 lrwxrwxrwx 1 teppi82 thang Hay m t cách tương đương: $ ln -s ../usr/local/bin bin2 $ ls -l bin2 lrwxrwxrwx 1 teppi82 thang 16 2004-09-02 23:05 bin2 -> ../usr/local/bin 4.7 Sâu hơn v liên k t tư ng trưng, ph n 3 Như b n có th th y, c hai liên k t tư ng trưng cùng ch t i m t thư m c. Tuy nhiên, n u liên k t tư ng trưng th hai c a chúng ta b chuy n t i thư m c khác, nó s b "v " 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, chúng ta không th chuy n t i thư m c bin2; nói cách khác, bin2 b v . 4.8 Sâu hơn v liên k t tư ng trưng, ph n 4 Vì lý do 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 là m t ý 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 m t ví d khi b n mu n t o tên th hai tương đương cho m t chương trình trong /usr/bin: # ls -l /usr/bin/unicode_start -rwxr-xr-x 1 root root 1061 2004-04-22 22:30 /usr/bin/unicode_start
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2