« Home « Kết quả tìm kiếm

Su dung Linux Shell


Tóm tắt Xem thử

- Linux Shell Chương I : Giới thiệu 1.
- Do hệ điều hành MS-DOS không khai thác đầy đủ các đặc tính của bộ xử lí 386 , Linus đã sử dụng một hệ điều hành thương mại khác là Minix .
- Hệ điều hành Minix là hệ điều hành Unix cỡ nhỏ .
- Do đối mặt với các hạn chế của hệ điều hành này , Linus bắt đầu viết lại một số một số của phần mềm để thêm chức năng và các điểm đặc trưng .
- Tuy nhiên , sự kiện các mã nguồn được truyền bá rộng rãi đã giúp phát triển hệ điều hành rất nhanh .
- World Wide Web đóng một vai trò quan trọng do nó hỗ trợ mở rộng nhanh hệ điều hành .
- Thực tế chúng ta có thể tưởng tượng rằng một nhà khai thác cài đặt Linux trên máy của mình , anh ta phát hiện lỗi , sữa chữa nó và gởi file nguồn đến Linus .
- Một vài ngày sau đó (đôi khi chỉ vài phút sau ) phần chính yếu được cải tiến có thể sẽ được truyền trên mạng .
- Ngày nay , Linux hoàn toàn là một hệ điều hành Unix .
- mà hiệu năng của nó còn có thể so sánh với một số hệ điều hành Unix thương mại và thậm chí còn có một số điểm ưu việt hơn .
- Do công suất và độ linh hoat của hệ điều hành này và tính miễn phí của nó mà hiện nay nó đang thu hút một số lượng các công ty ngày càng gia tăng .
- Trang 1 Linux Shell 2.
- CÁC CHỨC NĂNG CỦA LINUX Hệ điều hành Linux có rất nhiều chức năng và chúng khai thác khả năng của các hệ Unix hiện đại theo các cách sau : v Đa xử lí , các bộ đa xử lí : có thể thực hiện nhiều chương trình đồng thời bất kể sử dụng một hay nhiều bộ xử lí .
- v Cho phép nhiều người sử dụng : giống như tất cả các hệ Unix , Linux cho phép nhiều người sử dụng cùng làm việc trên một máy ở cùng thời điểm .
- v Hệ thống quản lí thiết bị đầu cuối tuân thủ theo tiêu chuẩn POSIX .
- v Hệ thống quản lí bộ nhớ trang yêu cầu .
- v Các thư viện động và dùng chung : Các thư viện động chỉ được tải khi chún thật sự cần thiết và mã của chúng được dùng chung nếu nhiều ứng dụng đang dùng chúng v Các hệ thống file có thể quản lí tốt và đồng đều các phân hoạch file Linux được sử dụng bởi filesystem làm các phân hoạch có các định dạng khác ( MS-DOS , ISO9660, vv.
- Nó có thể được ứng dụng dễ dàng .
- Ngoài ra sự sử dụng công cộng rộng rãi đang trợ giúp nó phát triển một cách nhanh chóng .
- GIỚI THIỆU CHUNG VỀ LINUX: Linux là hệ điều hành gần giống Unix , có thêí hoạt động độc lập với phần cứng , đa nhiệm , đa người dùng , bảo mật cao , tổ chức tập tin phân cấp , tốc độ cao , đáng tin cậy , có khả năng làm Server cho mạng Internet .
- Linux có điểm khá nổi bật đó là Tính ổn định .Thật khó mà làm cho Linux bị ngưng trệ và tê liệt ! Đã có nơi thử nghiệm nhiều hệ thống chạy Linux liên tục hằng năm trời mà không phải khởi động lại .
- Ngoài ra , Linux có thể chạy trên các máy tính thế hệ cũ vốn không thể chạy Windows 9x , thậm chí cả những máy 486 vứt trong kho .
- Ta có thể chia Linux thành 2 phần.
- Hệ lõi ) Xác lập nhiều chương trình cấp thấp và tương tác trực tiếp với CPU .
- Hệ lõi cung cấp 2 chức năng cho hệ điều hành : Nó cung cấp một hệ giao tiếp chung cho các phần cứng khác nhau từng cạc âm thanh với các chương trình người dùng .
- Trang 2 Linux Shell - Linux Shell : (Hệ vỏ ) Dùng để cung cấp cho người dùng một hệ giao tiếp được thi hành dễ dàng , giống như COMMAND.COM của DOS .
- Đồng thời nó cũng có nhiệm vụ bảo vệ hạt nhân của hệ điều hành khỏi tác động trực tiếp của người sử dụng bởi HĐH Linux được thiết kế để các Shell này độc lập với các thành phần chính của HĐH .
- Khi bạn sử dụng một chương trình Shell và gõ một lệnh nào đó , Shell sẽ thông dịch và thực hiện lệnh này ngay sau đó .
- Ngoài ra , người sử dụng có thể lập trình với Shell .
- Các chương trình này được gọi là Script ( ngôn ngữ kịch bản ) và chúng được thông dịch , thực hiện bởi các Shell .
- Để có thể truy cập vào hệ thống , trước hết bạn phải có quyền truy cập , biết được mật khẩu ( Hệ điều hành Unix luôn có sự phân biệt chữ hoa và chữ thường , chữ hoa chỉ dùng để viết tên riêng và mật khẩu.
- Khi bạn dã truy cập được vào hệ thống , các tiện ích và ứng dụng có sẵn sẽ xuất hiện theo một trong hai cách sau.
- Sử dụng hệ thống thực đơn : tạo cho người dùng sự tiện lợi khi sử dụng và đồng thời cung cấp cho người quản trị hệ thống một phạm vi bảo mật to lớn .
- Người quản trị hệ thống có thể sắp xếp lại hệ thống thực đơn của bạn để bạn có thể truy cập đến những ứng dụng và dịch vụ cần thiết.
- Môi trường Shell : Nó đòi hỏi bạn phải thành thạo với các lệnh và cấu trúc của Linux .
- Nếu bạn không có hệ thống thực đơn , môi trường Linux Shell sẽ được kích hoạt ngay sau khi bạn đăng nhập hệ thống .
- Để biết được bạn đang ở đâu và xem nội dung thư mục , bạn hãy gõ dòng lệnh : $pwd { print working directory } Để chuyển đổi thư mục làm việc bạn sử dụng lệnh cd cùng với tên thư mục mà bạn muốn chuyển tới .
- Chẳng hạn bạn muốn chuyển đến thư mục research thì bạn phải gõ : $cd research Để thoát khỏi hệ thống (loging out ) bạn gõ vào dòng lệnh : $exit hoặc $logout hoặc nhấn tổ hợp phím Ctrl - D Sau khi thoát thoát khỏi hệ thống trên màn hình xuất hiện dòng thông báo : Login.
- Để chấm dứt hoạt động của hệ thống ( phải chắc chắn rằng bạn đã thoát khỏi tất cả các ứng dụng và đóng tất cả các tệp đã sử dụng ) bạn gõ vào dòng lệnh.
- Trang 3 Linux Shell Chương II : Tìm hiểu & sử dụng Linux shell I- Các lệnh cơ bản trong Linux Shell : 1.
- Ví dụ , khi chúng ta gõ phím ^A tại dấu nhắc hệ vỏ con trỏ sẽ nhảy đến đầu dòng.
- Để thuận lợi , nhiều hệ vỏ gán sẵn cho người dùng các phím gán sau : ^A Dời con trỏ đến đầu dòng ^C Gửi một SIGINTR ( ngắt ) ra hệ vỏ ^D Hiển thị danh sách các tập tin ^E Dời đến cuối dòng ^K Triệt từ con trỏ đến cuối dòng ^N Dời xuống trong danh sách ^P Dời lên trong danh sách ^U Triệt nguyên cả dòng ^I Hoàn tất tập tin Trang 4 Linux Shell Trong trường hợp có nhiều tập tin bắt đầìu bằng các kí tự giống nhau , hệ vỏ sẽ đưa vào nhiều kí tự rồi phát tiếng kêu beep thông báo cho chúng ta biết có các khả năng khác .
- Ví dụ : >rmdir direct (^I) >rmdir directory_I_want_to_ Đến đây chúng ta có thể gõ lệnh K hoặc D , ^D để có một danh sách các tập tin trong thư mục hiện hành bắt đầìu bằng các kí tự đó .
- Đây chính là tính năng rất tiện dụng đối với các tập tin hay thư mục có tên dài .
- Chức năng của một số kí tự : Kí Chức năng tự.
- Kí tự đại diện hay theo mẫu.
- Chạy ứng dụng ở chế độ nền , trả lại dấu nhắc hệ thống cho các tác vụ khác.
- Dấu phân cách nhiều lệnh trên một dòng lệnh.
- Tắt tác dụng của những kí tự đặc biệt như.
- 1 user1 stagiar 6 Apr 5 14:06 file1 $cat file1 $chgrp animator file1 $ls -l file1 $cat file1 Chương III : LẬP TRÌNH VỚI SHELL Để lập trình với Shell , bạn phải biết về các biến và các cấu trúc điều khiển .
- Biến là một đối tượng mà tại bất cứ thời điểm nào bạn cũng có thể gán lại một giá trị khác cho chúng .
- Cấu trúc điều khiển cho phép bạn điều khiển sơ đồ thực thi của một script .
- Có 2 kiểu cấu trúc điều khiển : cấu trúc rẽ nhánh ( như cấu trúc if.
- then ...else fi và cấu trúc case ) và cấu trúc lặp ( như vòng lặp for hoặc while.
- Sử dụng echo : Bạn có thể sử dụng lệnh echo để hiển thị những gì xảy ra trong một scipt .
- Bạn cũng có thể định hướng lại kết quả của echo đến một file .
- Ví dụ : echo "Please stand by.
- Dòng lệnh sau sẽ đặt Please stand by.
- >messg Sử dụng chú thích : Dấu.
- là bắt đầu một chú thích của Shell .Shell sẽ bỏ qua mọi kí tự nằm sau dấu "#"cho đến cuối dòng .
- Tình trạng thoát : (Exit Status) Khi một lệnh Shell thi hành , nó có thể thành công hoặc không .
- Shell luôn trả về tình trạng kết thúc của một lệnh , chương trình hoặc Shell script .
- Giá trị trả về được gọi là tình trạng thoát (exit Trang 15 Linux Shell status) của lệnh và được đại diện bởi biến.
- có giá trị là 0 , lệnh thành công, còn ngược lại là không thành công .
- Bạn sẽ thấy giá trị của.
- Sử dụng biến trong chương trình Shell : Để sử dụng các biến , bạn phải biết cách đặt một giá trị vào một biến và cách truy cập giá trị cất trong biến đó .
- Có 4 cách đặt một giá trị vào một biến : ü Dùng phép gán trực tiếp ü Sử dụng lệnh read ü Sử dụng các tham số của dòng lệnh ü Thay thế đầu ra của một lệnh 1.
- Sử dụng phép gán trực tiếp : [email protected] Biểu thức trên đặy vào biến myemail giá trị là [email protected] .
- Nếu giá trị của biến có khoảng trống thì phải đặt nó trong dấu ngoặc kép .
- Ví dụ : myoffice="Room 21 , Suit C" Shell sẽ tìm lại được giá trị của biến bất cứ khi nào nó thấy dấu.
- Ví dụ : echo "My e-mail ađress is $mymail" Giả sử bạn cần copy file tên là current vào thư mục /corporate/ìno/public/sales , bạn nhập vào lệnh sau : cp current /corporate/ìno/public/sales Bạn có thể gán tên thư mục dài đó vào một biến như lệnh sau : corpsales=/corporate/ìno/public/sales rồi copy file current vào thư mục đó bằng lệnh sau : cp current $corpsales 2.
- Sử dụng lệnh read : Lệnh read tạm ngừng script và đợi người sử dụng nhập vào từ bàn phím rồi gán cho tên biến .
- Ví dụ sau nhắc người sử dụng nhập vào tên file được copy : corpsales=/corporate/ìno/public/sales echo "Enter name of file to copy " read filename cp $filename $corpsales 3.
- Sử dụng các tham số dòng lệnh : Các tham số dòng lệnh được phân cách bởi ít nhất một kí tự trống (Nếu trong đối số có khoảng trống thì phải đặt nó trong cặp ngoặc kép.
- Ta xem xét Shell script ví dụ sau có tên là shovars (show variables.
- Trang 16 Linux Shell # Name : shovars echo $0 echo $2 $4 echo $3 Giả sử ta nhập vào dòng lệnh sau : shovars -s hello "look at me " bart kết quả là : shovars hello bart look at me Shell script sau sẽ xóa một file nhưng trước đó file đã được copy vào thư mục /tmp.
- Name : safrm cp $1 /tmp rm $1 Bạn có thể đại diện mọi tham số trên dòng lệnh bằng.
- Thay thế đầìu ra của một lệnh : Bạn có thể gán cho một biến kết quả một lệnh được thi hành .
- Ví dụ : cwd='pwd.
- lưu tên thư mục hiện hành vào biến cwd Chú ý là pwd đặt trong cặp dấu nháy ngược.
- Các cấu trúc điều khiển : 1.
- Cấu trúc case : Cú pháp : case word in pattern) statement(s.
- và kết thúc cấu trúc case bằng từ khóa esac (viết ngược lại của từ case.
- Ví dụ.
- Name : Menu # Mục đích: cho phép người sử dụng in một file , xóa một file , hoặc thoát chương trình echo "Please choose either P, D or Q to.
- đại diện cho tất cả các kí tự không phải là D, d , P hoặc p .
- Ta có thể lấy số các đối số của dòng lệnh bằng cách dùng.
- Cấu trúc if : Cú pháp : if command1 then command2 else command3 fi Ví dụ.
- Tên : checkname # Mục đích: xác nhận nếu người đó đang đăng nhập hệ thống # Cách dùng : checkname login_name if who | grep $1 > /dev/null then echo "$1 đang đăng nhập hệ thống.
- Cấu trúc lặp for : Với vòng lặp for , bạn đặc tả một tập hợp các file hoặc các giá trị để sử dụng với một số lệnh .
- Để copy mọi file có tên tận cùng là .txt đến thư mục textdir ,bạn sử dụng vòng lặp for như sau : for i in *.txt do cp $i textdir/$i done Khi thông dịch Shell cho phép biến i nhận tên của bất cứ file nào trong thư mục hiện hành mà có tên kết thúc bằng .txt .
- Bạn có thể sử dụng biến $i với bất cứ câu lệnh nào nằm giữa từ khóa do và done .
- Kí tự.
- đại diện cho mọi tham số của dòng lệnh .
- do if lp -t $i -dlasers $i > /dev/null Trang 18 Linux Shell then Echo $i >>printed else Echo $i >>notprinted fi done 4.
- Cấu trúc while : Ta xem xét script sau : #Tên : checkmail #Mục đích : thông báo cho người dùng nếu hộp thư của họ có thay đổi #MAIL là biến đặc biệt cho biết hộp thư của người sử dụng # lấy kích thước của hộp thư để so sánh cp $MAIL omail while diff omail $MAIL > /dev/null # lệnh diff để so sánh 2 file do cp $MAIL omail sleep 30 # ngừng 30 giây done echo "New mail.
- Các lựa chọn để kiểm tra tệp : Lựa chọn Ýï nghĩa -f Thành công nếu file tồn tại và là file hợp lệ -d Thành công nếu file là một thư mục -r Thành công nếu file tồn tại và có thể đọc -s Thành công nếu file tồn tại và không rỗng -w Thành công nếu filetồn tại và có thể ghi -x Thành công nếu file tồn tại và có thể thực thi Ví dụ : test -r abc # Thành công nếu file tồn tại và chỉ đọc 2.
- Các lựa chọn để kiểm tra số : Lựa chọn Ý nghĩa -eq Bằng nhau (equal) -ne Không bằng nhau (Not equal ) -ge Lớn hơn hoặc bằng (Greater than or equal ) -gt Lớn hơn ( Greater than ) -le Nhỏ hơn hoặc bằng (Less than or equal ) -lt Nhỏ hơn (Less than ) Ví dụ.
- Tên script: chao Trang 19 Linux Shell hour=`date +%H.
- Kiểm tra xâu kí tự : Cú pháp : ["str1"="str2