Chương 7: Hệ điều hành Linux - Bash shell

32 432 0
Chương 7: Hệ điều hành Linux - Bash shell

Đ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

1 Hệ điều hành Linux Lê Đình Long longld@yahoo.com 2 Chương 7 BASH shell 3 Nội dung Linux Fundamentals  Gọi thực thi bash shell  Biến shell  Gán tắt (alias) lệnh  Tùy biến môi trường  Điều khiển tác vụ (job)  Lập trình shell  Tác vụ tự động HCMUNS 4 Gọi thực thi bash shell Linux Fundamentals bash [options] [file] -i: interactive -l: login shell sh: POSIX mode  Các file đặc biệt liên quan ● /etc/profile – file khởi động cho tất cả user, thực thi đối với login shell ● ~/.bash_profile – file khởi động cho từng user, thực thi đối với login shell ● ~/.bashrc – file khởi động cho từng interactive shell không phải là login shell ● ~/.bash_logout – file dọn dẹp khi thoát khỏi login shell HCMUNS 5 Biến shell Linux Fundamentals  Dùng trong lập trình shellđiều khiển môi trường thực thi (environment)  Gán giá trị cho biến: var_name=value  Truy xuất giá trị của biến: $var_name $ foo=”xin chao” $ echo $foo  set – liệt kê các biến shell đã được định nghĩa  unset – hủy biến shell  export – export biến cho môi trường thực thi của các lệnh sau đó HCMUNS 6 Biến môi trường Linux Fundamentals  Điều khiển môi trường thực thi lệnh  Một số biến môi trường thông dụng: ● HOME thư mục home ● SHELL chương trình shell hiện tại ● PATH đường dẫn để tìm các file thực thi ● USER tên user login ● TERM kiểu terminal hiện tại ● DISPLAY khai báo hiển thị cho X-Window ● PS1 dấu nhắc dòng lệnh ● LANG ngôn ngữ hiện tại HCMUNS 7 Gán tắt lệnh Linux Fundamentals  Thay thế một chuỗi dài bằng một từ ngắn  Tạo các lệnh với tuỳ chọn đơn giản, ngắn gọn, hữu dụng  alias tạo hoặc liệt kê các gán tắt (alias)  unalias loại bỏ một gán tắt $ alias cp='cp -i' $ alias ll='ls -l –-color=tty' $ alias la='ls -la -–color=tty' $ unalias la $ alias HCMUNS 8 Tuỳ biến môi trường Linux Fundamentals  Thiết lập các biến môi trường  Lưu trong file ~/.bash_profile, ~/.bashrc để sử dụng lại sau này $ export PATH=$PATH:/usr/local/bin:$HOME/bin:. $ source ~/.bash_profile $ cat ~/.bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:/usr/local/bin:$HOME/bin:. export PATH HCMUNS 9 Điều khiển tác vụ Linux Fundamentals  Một tác vụ (job) là một tiến trình đang thực thi Lệnh điều khiển tác vụ  ^C thoát ngang  ^Z tạm ngừng  jobs liệt kê các tác vụ đang thực thi  fg tiếp tục tác vụ ở foreground  bg,& tiếp tục tác vụ ở background HCMUNS 1 0 Ví dụ về điều khiển tác vụ Linux Fundamentals $ cat ^Z [1]+ Stopped cat $ tail & (chạy ở chế độ background) [2] 2038 $ jobs [1]- Stopped cat [2]+ Stopped tail $ bg %1 (tiếp tục job [1] ở background) $ fg $ fg %% (tiếp tục job cuối cùng ở foreground) $ fg %1 (tiếp tục job [1] ở foreground) $ kill %2 (kill job [2]) HCMUNS [...]... So sánh chuỗi: =, !=, -n, -z So sánh số: -eq, -ne, -lt, -le, -gt, -ge Kiểm tra file: -d, -f, -x, -e Toán tử luận lý: !, -o, -a [ string1 = string2 ] [ $num -lt 10 ] test ! -d mydir && mkdir mydir [ -f myfile -a -x myfile ] && /myfile Linux Fundamentals HCMUNS 19 Phát biểu điều kiện  Phát biểu IF if [ exp ]; then statements; elif [ expr ]; then statements; else statements; fi Linux Fundamentals  Ví...Lập trình shell       Shell script Biến Biểu thức số học Biểu thức so sánh Cấu trúc điều khiển Hàm Linux Fundamentals HCMUNS 11 Shell script     File văn bản text chứa các lệnh (lệnh shellchương trình) Được thông dịch bởi shell Có thể được gọi trong chính shell script khác Tham số được truyền trên dòng lệnh Linux Fundamentals HCMUNS 12 Chương trình “Hello” $ cat > hello.sh #!/bin /bash #... /usr/local/bin/organize_data */15 * * * * /usr/local/bin/get_email Linux Fundamentals HCMUNS 29 Thao tác file crontab crontab [-u user] file crontab [-u user] file {-l|-r|-e} -l: liệt kê nội dung crontab hiện tại -r: xóa crontab hiện tại -e: soạn thảo crontab hiện tại $ crontab -l 0 4 * * * $HOME/bin/daily_job >> $HOME/tmp/out Linux Fundamentals HCMUNS 30 Crontab hệ thống      /etc/crontab/ /etc/cron.daily/ /etc/cron.hourly/... #!/bin /bash # This is a comment: simple hello shell script echo "Enter your name:" read name echo "Hello $name, have a nice day!" ^D $ /hello.sh bash: /hello.sh: Permission denied $ chmod +x hello.sh $ /hello.sh Enter your name: Linux Fan Hello Linux Fan, have a nice day! Linux Fundamentals HCMUNS 13 Biến      Biến môi trường Biến nội (built-in) của bash Biến do người dùng định nghĩa Biến đơn có... myscript Linux Fundamentals HCMUNS 26 Tác vụ tự động      Giữ cho hệ thống chạy trơn tru Giám sát hệ thống Chạy định kỳ: hàng giờ, ngày, tuần, tháng Tự động chạy ở background không tương tác với người dùng Thường là các shell script thực hiện một nhóm công việc Linux Fundamentals HCMUNS 27 Hệ thống cron   Thực thi lệnh theo lịch định Thành phần: ● ● ● File crontab: /var/spool/cron/, file cấu hình định... hình định lịch thực thi crontab: lệnh sửa đổi, liệt kê file cấu hình crond: chương trình dịch vụ cron, đọc file cấu hình và thực hiện các tác vụ tương ứng Linux Fundamentals HCMUNS 28 Định dạng file crontab minute hour day month weekday command ● ● ● ● ● ● Minute: phút ( 0-5 9) Hour: giờ ( 0-2 3) Day: ngày ( 1-3 1) Month: tháng ( 1-1 2) Weekday: ngày trong tuần (Sun=0, Mon=1, , Sat=6) Command: lệnh sẽ được... hoặc shell script if [ $# -lt 2 ]; then echo “Usage: `basename $0` source dest” echo exit 1 fi Linux Fundamentals HCMUNS 24 Hàm  Khai báo hàm func_name() { statements; }  Gọi hàm func_name param1 param2  Truy xuất các tham số $1, $2, Linux Fundamentals HCMUNS 25 Gỡ rối  Kiểm tra cú pháp $ sh -n myscript  Hiển thị tên lệnh và các tham số khi thực thi $ sh -x myscript Linux Fundamentals HCMUNS... 15 Một số biến đặc biệt  $0 $$ $?  $!   tên của shell script /chương trình PID của shell hiện tại mã trả về (exit code) của lệnh foreground ngay trước đó mã trả về (exit code) của lệnh background ngay trước đó Linux Fundamentals HCMUNS 16 Thay thế lệnh   Thực thi lệnh và lấy kết quả xuất của lệnh đặt tại vị trí hiện tại Dùng nháy ngược (back-quote “` `”) hoặc $( ) $ date Mon Oct 14 10:48:04 ICT... 10:50:04 ICT 2003 $ ls -l `which tr` Linux Fundamentals HCMUNS 17 Biểu thức số học   Dùng let, expr hoặc $(( )) để gán trị Phép toán số học: ++, , +, -, *, /, %, ==, !=, >, /myscript $1 -> source $2 -> dest Linux Fundamentals HCMUNS 15 Một số biến . -n, -z  So sánh số: -eq, -ne, -lt, -le, -gt, -ge  Kiểm tra file: -d, -f, -x, -e  Toán tử luận lý: !, -o, -a [ string1 = string2 ] [ $num -lt 10 ] test ! -d mydir && mkdir mydir [ -f. với login shell ● ~/ .bash_ profile – file khởi động cho từng user, thực thi đối với login shell ● ~/.bashrc – file khởi động cho từng interactive shell không phải là login shell ● ~/ .bash_ logout. Long longld@yahoo.com 2 Chương 7 BASH shell 3 Nội dung Linux Fundamentals  Gọi thực thi bash shell  Biến shell  Gán tắt (alias) lệnh  Tùy biến môi trường  Điều khiển tác vụ (job)  Lập trình shell  Tác vụ

Ngày đăng: 09/05/2014, 11:11

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan