Thực hành Unix, Linux
This presentation is the property of its rightful owner.
Sponsored Links
1 / 88

Thực hành Unix, Linux Ngô Thanh Nguyên Bộ môn Hệ thống và Mạng máy tính PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on
  • Presentation posted in: General

Thực hành Unix, Linux Ngô Thanh Nguyên Bộ môn Hệ thống và Mạng máy tính Khoa Khoa học và kỹ thuật máy tính Email: [email protected] Assignment 1: Các giải thuật định thời và lập trình multiprocess, multithread, IPC

Download Presentation

Thực hành Unix, Linux Ngô Thanh Nguyên Bộ môn Hệ thống và Mạng máy tính

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Th c h nh unix linux ng thanh nguy n b m n h th ng v m ng m y t nh

Thực hành Unix, Linux

Ngô Thanh Nguyên

Bộ môn Hệ thống và Mạng máy tính

Khoa Khoa học và kỹ thuật máy tính

Email: [email protected]

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Th c h nh unix linux ng thanh nguy n b m n h th ng v m ng m y t nh

Assignment 1: Các giải thuật định thời và lập trình multiprocess, multithread, IPC

Assignment 2: Quản lí bộ nhớ và I/O

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


T i li u tham kh o

Tài liệu tham khảo

  • http://www.cse.hcmut.edu.vn/~c506001/

  • Nguyễn Phương Lan, Hoàng Đức Hải: “Lập trình Linux, tập 1”

  • Linux manual

  • Internet

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


N i dung

Nộidung

  • Giới thiệu

  • Khái niệm cơ bản về người dùng – account

  • Các lệnh cơ bản trong Linux

  • Hệ thống file, lệnh thao tác trên hệ thống file

  • Đổi hướng xuất nhập, pipe

  • Trình soạn thảo vi (visual interpreter)

  • Lập trình Shell

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


N i dung1

Nộidung

  • Giớithiệu

  • Kháiniệmcơbảnvềngườidùng – account

  • Cáclệnhcơbảntrong Linux

  • Hệthống file, lệnhthaotáctrênhệthống file

  • Đổihướngxuấtnhập, pipe

  • Trìnhsoạnthảo vi (visual interpreter)

  • Lậptrình Shell

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Gi i thi u

Giới thiệu

  • Thực hành trên hệ điều hành *nix

  • Cóthểlogin trực tiếp hay dùng chương trình telnet/ssh đểkết nối đến máy *nix

  • Mỗi người dùng phải cómột tài khoản (account) đểsửdụng hệthống. Mỗi tài khoản gồm có:

    • Tênsửdụng (username)

    • Mậtkhẩu (password)

    • Thưmụclàmviệc (home directory)

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Login v logout

Login và logout

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Ng nh p h th ng

Đăng nhập hệ thống

  • Linux

    • Tại dấu nhắc của hệ thống, gõ username và password

  • Windows

    • Dùng ssh để kết nối đến máy chủ Linux từ xa

    • PuTTY

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Th c h nh unix linux ng thanh nguy n b m n h th ng v m ng m y t nh

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Th c h nh unix linux ng thanh nguy n b m n h th ng v m ng m y t nh

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Ng xu t h th ng

Đăng xuất hệ thống

  • exit,Ctrl + Dhoặcđóng cửa sổ PuTTY

  • Tất cảcác quátrình đang chạy đều kết thúc (ngoại trừcác quátrình được thực hiện với lệnh nohup)

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


M t s ch

Một số chú ý

  • Hệthống *nix phân biệt chữhoa vàchữ thường.

  • Nếu đăng nhập từcác máy Windows, cần tắt các chương trình gõ tiếng Việt(Unikey,Vietkey…).

  • Đểxoáký tự trước đó, cóthểdùng phím Backspace trong một số trường hợp không dùng phím Delete được.

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


N i dung2

Nộidung

  • Giớithiệu

  • Kháiniệmcơbảnvềngườidùng – account

  • Cáclệnhcơbảntrong Linux

  • Hệthống file, lệnhthaotáctrênhệthống file

  • Đổihướngxuấtnhập, pipe

  • Trìnhsoạnthảo vi (visual interpreter)

  • Lậptrình Shell

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C c l nh c b n

Các lệnh cơ bản

  • Một lệnh *nix cơ bản có định dạng như sau

    <command_name> <options> <arguments>

  • Ví dụ:

    $ls –l /etc

    $cd /tmp(no option)

    $whoami(no option and argument)

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Danh nh id entifier

Danh định (identifier)

  • Mỗi người dùng cómột danh định duy nhất trong hệthống.Đối với người dùng, danh định chính làusername duy nhất trong hệthống.

  • Đối với hệthống, một danh định người dùng bao gồm:

    • UID (user identifier)

    • GID (group identifier)

  • Lệnhhiểnthịthông tin về UID và GID: id

  • Lệnh cho biết danh định: whoamihoặcwho am i

  • Vídụ

    $who am i

    a01 pts/1 Apr 2 14:38

    $whoami

    a01

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Th m c home th m c h i n h nh

Thư mục home,thư mục hiệnhành

  • Mỗi người dùng trong hệthống đều cómột thư mục home và người đócótoàn quyền trong đó

  • Thư mục home

    Dùng lệnhechođểhiển thịbiến môi trườngHOME:

    $echo $HOME

    /home/a01

  • Thư mục làm việc (hay thư mục hiện hành)

    $pwd

    /home/a01

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Hi n th ng i d ng c m t trong h th ng

Hiển thị người dùng có mặt trong hệ thống

  • Lệnh who

    $who

    root pts/1 Aug 17 15:02 (172.28.12.14)

    mpi pts/2 Aug 17 15:05 (172.28.10.143)

    a01 pts/8 Aug 17 14:25 (172.28.11.192)

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Thay i m t kh u

Thay đổi mật khẩu

  • Lúc đầu, người dùng log on vào hệthống cóthểkhông cần mật khẩu. Tuy nhiên, người dùng phải thay đổi sau đó.

  • Dùng lệnh passwd để thay đổi mật khẩu

    $ passwd

    Newpassword:

    Confirmnew password:

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C tr gi p

Để được trợ giúp

  • Dùng lệnhman(manual) đểxem trợgiúp cho một lệnh hay một hàm nào đó.

  • Một sốphím chức năng trong lệnh man

    -Kết thúc: q-Về trang trước:b-Vềtrang sau: f

  • Ví dụ

    $ man passwd

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


N i dung3

Nộidung

  • Giớithiệu

  • Kháiniệmcơbảnvềngườidùng – account

  • Cáclệnhcơbảntrong Linux

  • Hệthống file, lệnhthaotáctrênhệthống file

  • Đổihướngxuấtnhập, pipe

  • Trìnhsoạnthảo vi (visual interpreter)

  • Lậptrình Shell

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C u tr c h th ng file

Cấu trúc hệ thống file

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


M t s t h m c quan tr ng

Một số thư mục quan trọng

  • /

  • /bin

  • /boot

  • /dev

  • /etc

  • /home

  • /lib

  • /lost+found

  • /mnt

  • /sbin

  • /tmp

  • /usr

  • /var

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C c ki u file

Các kiểu file

  • Directory

    • là file đặc biệt, chứa thông tin của các file khác.

    • thựcchấtlà 1 file.

  • Ordinary file

    • làfile thông thường, chương trình hoặc dữliệu.

  • Special file

    • làfile đặc biệt, tương ứng với các thiết bị(devicefile)

  • Dùng lệnh file path_name đểbiết path_name làloại file gì.

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


D o ch i trong c y th m c

Dạo chơi trong cây thư mục

  • Dùng 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

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Th c h nh unix linux ng thanh nguy n b m n h th ng v m ng m y t nh

Ví dụ

$cd /tmp(move to /tmp directory)

$cd ../home/a01(then you are in your home)

$pwd

/home/a01

...

$cd(move back to your home)

...

$cd /etc/sysconfig/network-scripts

$pwd

/etc/sysconfig/network-scripts

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Li t k n i dung th m c

Liệt kê nội dung thư mục

  • Dùng lệnh ls (listing directory):

    ls [option] path_name

  • Ví dụ

    $ ls

    addr.c env.c fork.c lockf.c pipe1.c a.out exec1.c forkex.c lockf.h

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


M t s t y ch n c a l nh ls

Mộtsốtùychọncủalệnhls

  • -a/A liệt kê các file ẩn

  • -dchỉliệt kê tên của thư mục, không liệt kê nội dung

  • -F liệtkêcác file vàchobiếtkiểucủa file qua kýhiệu ở cuối

    • Không cóký hiệu gì:file thường

    • ‘/’ directories

    • ‘*’executable files

    • [email protected] files

  • -ichobiếtsốinodecủa file

  • -lliệt kê đầy đủthông tin về file/thư mục

  • -Rliệt kê các thư mục conđệquy

  • -t sắpxếptheothờigiancậpnhật

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Th c h nh unix linux ng thanh nguy n b m n h th ng v m ng m y t nh

Ví dụ

  • Hiển thị đầy đủthông tin:

    $ls –l

    total 8

    drwxr-xr-x 15 a01 student 512 Aug 10 2000 floppy

    -rw-r--r– 1 a01 student 58984 Mar 9 2000 arch.tar

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Th c h nh unix linux ng thanh nguy n b m n h th ng v m ng m y t nh

Ví dụ

$ ls -a

..libs .rhosts io.c

.. .login 1.c nohup.out

.cshrc.netscapedebugging.html

.desksetdefaults.profile fork.c

(Các file/thư mục ẩn cótên bắt đều bằng dấu chấm, vídụ: .lib, .rhosts,.login)

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Th c h nh unix linux ng thanh nguy n b m n h th ng v m ng m y t nh

Ví dụ

$ ls -R

.:

Desktop examples ex.tar

./Desktop:

Autostart kontrol-panel Linux Documentation Printer

./examples:

c cmd

./examples/c:

addr.c env.c fork.c lockf.c pipe1.c procinfo.c sig1.c

a.out exec1.c forkex.c lockf.h pipe2.c sema.c sig2.c

./examples/cmd:

1.txt case.sh

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Wildcards

Wildcards

  • Wildcardslàcác ký tựdùng đểthay thếcho các mẫu tương ứng với tên file hay thư mục.

  • Wildcards:

    * ?[…]

  • Vídụ:

    $ls p*.pas

    p10.pas p1.pas p2.pas p5.pas

    $ls p?.pas

    p1.pas p2.pas p5.pas

    $ls p[1-3].pas

    p1.pas p2.pas

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C c l nh tr n file v th m c

Các lệnhtrên file vàthư mục

  • Tạo thư mục: mkdir

  • Xoá file hay thư mục: rm

  • Copy: cp

  • Di chuyển: cd

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


T o th m c

Tạo thư mục

  • Dùnglệnhmkdir

    mkdirpath_name

  • Vídụ:

    $pwd

    /export/home/a01

    $mkdir examples

    $ls –aF

    ./ .bash_logout .bashrc .emacs ex.tar .screenrc

    ../ .bash_profile Desktop/ examples/ .kde/ .wl

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


T o c y th m c con

Tạo cây thư mục con

  • 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

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Xo file hay th m c

Xoá file hay thư mục

  • 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)

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Th c h nh unix linux ng thanh nguy n b m n h th ng v m ng m y t nh

Copy

  • Copy files:

    cp [-option] from(s) to

  • Copy thư mục

    cp -r from(s) to

  • Vídụ:

    $cp /etc/passwd .

    $cp p*.pas /tmp

    $cp /etc/sysconfig/network-sripts /tmp

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Di chuy n i t n file th m c

Di chuyển/đổi tên file/thư mục

  • Dùng lệnh mv (move):

    mv [option] filename dest_file

    mv [option] directory dest_dir

    mv [option] filename dest_dir

  • Ví dụ:

    $mv examples lab1

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


L m vi c tr n file

Làm việc trên file

  • Tạo files

  • Hiển thị nội dung files

  • Tìm kiếm file

  • Tìm kiếm trong nội dung của file

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


T o file

Tạo file

  • Tạo file vànhậpvàonộ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.

  • Vídụ

    $cat > test.txt <Enter>

    this is my file <Enter>

    Ctrl + D

    $

  • Tạo file rỗng (0 bytes) bằnglệnh touch

    touch new_file

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


T o file1

Tạo file

  • Dùnglệnhcat:

    cat filename

  • Với file cónội dung dài, dùnglệnhmore:

    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 barhiểnthịtrangkếtiếp

      • <RETURN> hiểnthịdòngkếtiếp

      • q thoátkhỏilệnh more

      • bvề trang trước.

      • h xemtrợgiúp.

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Hi n th n i dung file

Hiểnthịnội dung file

  • Hiển thịndòng đầu tiêncủa mộttext file,dùng lệnh head

    head -n filename

    (nếu n=10, cóthểbỏoption –n đi:head filename)

  • Hiển thị ndò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)

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


T m ki m m t file

Tìm kiếm một file

  • Tìmkiếmmột file tronghệthống file (file system), dùnglệnhfind

    find pathname -name filename -print

    (Cóthểdùng wildcard đặt trong dấu nháy kép)

  • 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

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


T m ki m trong n i dung c a file

Tìmkiếmtrongnộ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

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C c quy n tr n file v th m c

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ựcthi

  • 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

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Ph n quy n

Phânquyền

  • 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:

    rwxrwxrwx

    user group other

  • Cóthểxemthông tin vềquyềntruycậpbằnglệnhls -l

    Vídụ

    $ls -l

    -rwxr-xr-x

    Vớivídụtrên:

    • Chủsởhữu cóquyềnr(đọc),w(ghi),vàx(thực thi).

    • Cácthànhviêncùngnhómvớichủsởhữucóquyềnr và x.

    • Những người khác cóquyền rvàx.

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Thay i c c quy n tr n file v th m c

Thay đổi các 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]

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Ph n quy n1

Phân quyền

  • Dạngsốbátphân

    Octal Binary Permissions

    0 000 ---

    1 001 --x

    2 010 -w-

    3 011 -wx

    4 100 r--

    5 101 r-x

    6 110 rw-

    7 111 rwx

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Th c h nh unix linux ng thanh nguy n b m n h th ng v m ng m y t nh

Ví dụ

$mkdir perm

$touch test

$ls –l

total 110

drwxr-xr-x 15 a01 other 512 Aug 10 2001 perm

-rw-r--r-- 1 a01 other 0 Aug 10 2001 test

$chmod o-rx perm

$chmodg+w perm

$ls -al

total 1170

drwxrwx--- 15 a01other 512 Aug 10 2001 perm

-rw-r--r-- 1 a01other 0 Aug 10 2001 test

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Th c h nh unix linux ng thanh nguy n b m n h th ng v m ng m y t nh

Ví dụ

$chmod 750 perm

$chmod 700 test

$ls -al

total 1170

drwxr-x--- 15 a01 other 512 Aug 10 2001 perm

-rwx------ 1 a01 other 0 Aug 10 2001 test

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Thay i quy n m c nh

Thay đổi quyền mặc định

  • Khi một file/thư mục được tạo ra, nó được gán một quyền hạn đã được định nghĩa trước

  • Người dùng cóthểthay giátrịmặc định này bằng cách thay đổi mặt nạquyền(file-creationmode mask).

  • Hiển thị mặt nạ quyền:

    $umask

    022

  • Thay đổi mặt nạquyền:

    umask nnn

    ("n”:0..7)

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C c gi tr c a m t n quy n

Cácgiátrịcủamặtnạquyền

Octal number Access permissions given

0 rwx

1 rw

2 r-x

3 r--

4 -wx

5 -w

6 --x

7 ---

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Th c h nh unix linux ng thanh nguy n b m n h th ng v m ng m y t nh

Ví dụ

  • Thay đổi mặt nạ đểcác file được tạo ra sau đókhông cho những người ngoài chủsởhữu truy cập:

    $ umask 077

    $ touch newfile ; ls –l

  • Thay đổi mặt nạ đểcác file được tạo ra sau đókhông cho những người ngoài chủsởhữu thay đổi nội dung:

    $umask 022

    $ touch newfile2 ; ls –l

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C c ph n quy n tr n file th m c

Các phân quyền trên file/thư mục

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Qui tr nh ki m tra quy n h n

Qui trìnhkiểmtraquyềnhạn

  • Gọi UID1, GID1 làuid vàgid của một quátrình, còn UID2, GID2 làuid vàgid của file/thư mục màquátrình đótruy xuất

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


N i dung4

Nộidung

  • Giớithiệu

  • Kháiniệmcơbảnvềngườidùng – account

  • Cáclệnhcơbảntrong Linux

  • Hệthống file, lệnhthaotáctrênhệthống file

  • Đổihướngxuấtnhập, pipe

  • Trìnhsoạnthảo vi (visual interpreter)

  • Lậptrình Shell

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


I h ng xu t nh p

Đổi hướng xuất nhập

  • Mỗi quátrình trong UNIX gắn với 3 thiết bịchuẩn được đánh chỉsố (descriptor) tương ứng:

    • Thiếtbịnhậpchuẩn: bànphím(0)

    • Thiếtbịxuấtchuẩn: mànhình(1)

    • Thiếtbịbáolỗichuẩn: mànhình(2)

  • Các thiết bịchuẩn này cóthể được thay thếbằng các file thông thường.

  • Tái định hướng cho lệnh bằng cách dùng các ký hiệu:

    <Tái định hướng thiết bịnhập

    >Tái định hướng thiết bịxuất

    >>Nối vào file được tái định hướng (thay vìtạo mới)

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


I h ng nh p chu n

Đổi hướng nhập chuẩn

command < input_file

  • Ví dụ

    • Đổi hướng nhập chuẩn cho lệnh sort

      $sort < /etc/passwd

    • Đổi hướng nhập chuẩn cho lệnh wc

      $wc -l < /etc/passwd

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


I h ng x u t chu n

Đổi hướng xuất chuẩn

command > output_file

  • Ví dụ

    • Đổi hướng xuất cho lệnh ls

      $ls –al /usr > /tmp/usrlist

    • Đổi hướng xuất vànhập cho lệnh sort:

      $sort < /etc/passwd > /tmp/userlist

    • Đổi hướng xuất cho lệnh cat

      $cat file1 file2 > file

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


N i thi t b xu t chu n v o file

Nốithiếtbịxuấtchuẩnvào file

command >> output_file

  • Ví dụ

    $ls/ > dirlist

    $ls/etc >> dirlist

    $date > log

    $who >> log

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


K t n i c c l nh v i nhau

Kết nối các lệnh với nhau

  • UNIX chophépkếtnốinhậpxuấtcủacáclệnhvớinhauthông qua cácống (pipe).

  • Một pipe cónhiệm vụnhận dữliệu xuất từmột lệnh và đưa vào như dữliệu nhập cho lệnh kếtiếp theo dạng sau

    command1 | command2 | command3

    (Dấu sổ đứng| (vertical bar) dùng đểchỉ định cho một pipe)

  • Cóthểdùng pipe kết nối các lệnh với nhau đểthực hiện các thao tác phức tạp hơn.

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Th c h nh unix linux ng thanh nguy n b m n h th ng v m ng m y t nh

Ví dụ

  • $who | sort

    • (xem danh sách cósắp xếp các user đang trong hệthống)

  • $who | wc –l

    • (đếm số người dùng đang trong hệthống)

  • $ls -al /etc | more

    • (liệt kê từng trang nội dung thư mục /etc)

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Th c thi nhi u l nh tr n m t d ng

Thựcthinhiềulệnhtrênmộtdòng

  • *NIX cho phép dùng các dấu chấm phẩy (;), dấu ampersand (&) đểviết nhiều lệnh trên cùng một dòng.

  • Vídụ

    $ cd /etc ; ls

    $ date ; cal ; who

    $ mkdir abc && cd abc && mkdir def

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


N i dung5

Nộidung

  • Giớithiệu

  • Kháiniệmcơbảnvềngườidùng – account

  • Cáclệnhcơbảntrong Linux

  • Hệthống file, lệnhthaotáctrênhệthống file

  • Đổihướngxuấtnhập, pipe

  • Trìnhsoạnthảo vi (visual interpreter)

  • Lậptrình Shell

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Tr nh so n th o vi

Trình soạn thảo vi

  • vi (visual interpreter)

  • Cóhai chế độhoạt động

    • Chế độlệnh (command)

    • Chế độchèn (insert)

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Hai ch ho t ng

Hai chế độ hoạt động

  • Chế độlệnh:

    • Chế độlệnh bắt đầu khi vào chương trình vi. Cóthểthực hiện các thao tác di chuyển, thao tác trên các đối tượng text...

    • Muốn chuyển vềchế độlệnh, chỉcần ấn ESC

  • Chế độchèn:

    • Cho phép nhập văn bản vào buffer.Cónhiều lệnh đểchuyển vào chế độchèn như:a, A, i, I, o, O

    • Khi ởchế độchèn, cuối màn hình cóchuỗi INSERT

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


B t u vi

Bắt đầu vi

$vi test.txt

~

~

~

~

‘test.txt’[New file]

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C c thao t c n gi n

Các thao tác đơn giản

  • Ấn‘a’(append) đểvào chế độchèn.

  • Nhập vào văn bản

  • Sau khi nhập xong, chuyển sang chế độlệnh:ấnESC

  • Lưu dữliệu vào file vàthoát khỏivi

    • Lưu :w <Enter>

    • Thoát:q <Enter>

    • Vừa lưu vàthoát :wq <Enter>hoặc ZZ

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C c l nh di chuy n

Các lệnh di chuyển

hlùi 1 ký tự

jxuống 1 dòng

klên 1 dòng

lqua phải 1 ký tự

:ndi chuyển đến dòngn

Gdi chuyển đến cuối dòng

Tuy nhiên, trong Linux ta cóthểdùng các phím mũi tên đểdi chuyển.

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C c l nh ch n v n b n

Các lệnh chèn văn bản

ichèn trước cursor

Ichèn ở đầu dòng

achèn sau cursor

Anối vào cuối dòng

omởmột dòng trống phía dưới

Omở một dòng trống phía trên

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


T m ki m tr n v n b n

Tìm kiếm trên văn bản

  • Tìm xuôi (forward)

    :/pattern<Enter>

  • Tìm ngược (backward)

    :?pattern<Enter>

  • Lặp lại lần tìm trướcn

  • Lặp lại lần tìm trước chiều ngược lạiN

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C c l nh xo

Các lệnh xoá

XoáLệnh

KítựhiệnhànhDEL hoặc x

Xóatừhiệnhànhdw

Xóa từ trướcdb

Cảdòngdd

Xóa đến cuối dòngd$

Xóa đến đầu dòngd0

Xóa n dòngkếtiếpndd

Undop hoặc u

Paste p

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C c thao t c kh c

Các thao tác khác

  • Ghi ra file:w

  • Ghi ra file có tên ‘filename’:w filename

  • Thoátvi (khi nội dung file chưa đổi):q

  • Thoát và không ghi:q!

  • Ghi và thoát:x! hoặcZZ

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


N i dung6

Nộidung

  • Giới thiệu

  • Khái niệm cơ bản về người dùng – account

  • Các lệnh cơ bản trong Linux

  • Hệ thống file, lệnh thao tác trên hệ thống file

  • Đổi hướng xuất nhập, pipe

  • Trình soạn thảo vi (visual interpreter)

  • Lập trình Shell

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


L p tr nh shell

Lập trình Shell

  • Giới thiệu

  • Điều khiển shell

  • Cú pháp ngôn ngữ shell

    • Sử dụng biến

    • Cấu trúc điều khiển

    • Hàm

    • Các lệnh nội tại của shell

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Gi i thi u1

Giới thiệu

  • Dùngđểkếthợpnhiềulệnhlạivớinhauđểtạothànhmộtkịchbảncóchứcnăngmạnhmẽ.

  • Cácloại shell trên Linux

    • sh (Bourne)

    • csh, tcsh, zsh

    • bash (Bourne Again Shell)

    • rc

  • Ta cóthểdùnglệnh file đểxemkiểu file của bash hay sh

    $file /bin/bash

    $file /bin/sh

    Kếtluận??

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


I u khi n shell

Điều khiển Shell

  • Điều khiển shell từ dòng lệnh

    $for file in *

    >do

    > if grep –l ‘cp –v’ $file

    > then

    > more $file

    > fi

    >done

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


I u khi n shell1

Điều khiển Shell

  • Điều khiển shell bằng tập tin kịch bản (script file)

    File first.sh

    #!/bin/sh

    for file in *

    do

    if grep –l ‘cp –v’ $file

    then

    more $file

    fi

    done

    exit 0

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


Th c thi script

Thực thi script

  • Lấy tên file làm đối số của shell

    $/bin/sh first.sh

  • Gọi trực tiếp từ dòng lệnh

    $chmod +x first.sh

    $./first.sh

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C ph p ng n ng shell

Cú pháp ngôn ngữ shell

  • Sử dụng biến

    $xinchao=Hello

    $echo $xinchao

    Hello

    $xinchao=“I am here”

    $echo $xinchao

    I am here

    $xinchao=12+1

    $echo $xinchao

    12+1

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C ph p ng n ng shell1

Cú pháp ngôn ngữ shell

  • Cấu trúc điều khiển

    • if

    • for

    • while

    • until

    • case

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


L nh if

Lệnh if

  • Cúpháp

    if condition

    then

    statements

    else

    statements

    fi

  • Ví dụ

    #!/bin/sh

    if [ $HOME = “/home/a01” ]

    then

    echo “Hello a01”

    else

    echo “Guest”

    fi

    exit 0

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


L nh for

Lệnh for

  • Cúpháp

    for variable in values

    do

    statements

    done

  • Vídụ

    #!/bin/sh

    for user in a01 mpi grid

    do

    echo $user

    done

    exit 0

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


L nh while

Lệnh while

  • Cúpháp

    whilecondition

    do

    statements

    done

  • Vídụ

    #!/bin/sh

    foo=1

    while [ “$foo” –le 16 ]

    do

    echo “Here $foo”

    foo=$(($foo+1))

    done

    exit 0

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


L nh until

Lệnh until

  • Cúpháp

    until condition

    do

    statements

    done

  • Vídụ

    #!/bin/sh

    foo=1

    until [ “$foo” –eq 10 ]

    do

    echo “Here $foo”

    foo=$(($foo+1))

    done

    exit 0

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


L nh case

Lệnh case

  • Cú pháp

    case variable in

    pattern [ | pattern ] … ) statements;;

    pattern [ | pattern ] … ) statements;;

    esac

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


L nh case1

Lệnh case

  • Vídụ

    #!/bin/sh

    echo “Is it morning? Please answer yes or no”

    read timeofday

    case “$timeofday” in

    “yes” | “y” | “Yes” | “YES” )

    echo “Good Morning”

    ;;

    [nN]* )

    echo “Good Afternoon”

    ;;

    * )

    echo “Please answer yes or no”

    exit 1

    ;;

    esac

    exit 0

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C ph p ng n ng shell2

Cú pháp ngôn ngữ shell

  • Hàm

    #!/bin/sh

    foo() {

    echo “Function foo is executing”

    }

    echo “script is starting”

    foo

    echo “script ended”

    exit 0

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


C ph p ng n ng shell3

Cú pháp ngôn ngữ shell

  • Các lệnh nội tại của shell

    ==> Tự tìm hiểu

Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM


  • Login