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

Thực hành Unix, Linux
Download
1 / 88

  • 112 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: ntnguyen@cse.hcmut.edu.vn. Assignment 1: Các giải thuật định thời và lập trình multiprocess, multithread, IPC

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

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: ntnguyen@cse.hcmut.edu.vn

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

    • “@”linked 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