ham shell unix

Trong chương này, chúng ta sẽ thảo luận chi tiết về các hàm của shell. Các chức năng cho phép bạn chia chức năng tổng thể của một tập lệnh thành các tiểu mục nhỏ hơn, hợp lý, sau đó có thể được gọi để thực hiện các nhiệm vụ riêng lẻ của chúng khi cần thiết.

Sử dụng các hàm để thực hiện các tác vụ lặp đi lặp lại là một cách tuyệt vời để tạo tái sử dụng mã . Đây là một phần quan trọng của các nguyên tắc lập trình hướng đối tượng hiện đại.

Các hàm Shell tương tự như các chương trình con, thủ tục và hàm trong các ngôn ngữ lập trình khác.

To các chc năng

Để khai báo một hàm, chỉ cần sử dụng cú pháp sau:

function_name () {
list of commands
}

Tên của hàm của bạn là function_name và đó là những gì bạn sẽ sử dụng để gọi nó từ nơi khác trong tập lệnh của mình. Tên hàm phải được đặt sau dấu ngoặc đơn, theo sau là danh sách các lệnh được đặt trong dấu ngoặc nhọn.

Thí d

Ví dụ sau cho thấy việc sử dụng hàm:

#!/bin/sh

# Define your function here
Hello () {
   echo "Hello World"
}

# Invoke your function
Hello

Khi thực hiện, bạn sẽ nhận được kết quả sau:

$./test.sh
Hello World

Chuyn các tham s cho mt hàm

Bạn có thể xác định một hàm sẽ chấp nhận các tham số trong khi gọi hàm. Các tham số này sẽ được biểu thị bằng $ 1 , $ 2 , v.v.

Dưới đây là một ví dụ mà chúng ta truyền hai tham số Zara và Ali , sau đó chúng ta chụp và in các tham số này trong hàm.

#!/bin/sh

# Define your function here
Hello () {
   echo "Hello World $1 $2"
}

# Invoke your function
Hello Zara Ali

Khi thực hiện, bạn sẽ nhận được kết quả sau:

$./test.sh
Hello World Zara Ali

Tr li giá tr t các hàm

Nếu bạn thực hiện một lệnh thoát từ bên trong một hàm, tác dụng của nó không chỉ là chấm dứt việc thực thi hàm mà còn đối với chương trình shell được gọi là hàm.

Thay vào đó, nếu bạn chỉ muốn chấm dứt việc thực thi hàm, thì có cách để thoát ra khỏi một hàm đã xác định.

Dựa trên tình huống, bạn có thể trả về bất kỳ giá trị nào từ hàm của mình bằng cách sử dụng lệnh return có cú pháp như sau:

return code

Ở đây  có thể là bất kỳ thứ gì bạn chọn ở đây, nhưng rõ ràng bạn nên chọn thứ gì đó có ý nghĩa hoặc hữu ích trong bối cảnh toàn bộ tập lệnh của bạn.

Thí d

Hàm sau trả về giá trị 10 –

#!/bin/sh

# Define your function here
Hello () {
   echo "Hello World $1 $2"
   return 10
}

# Invoke your function
Hello Zara Ali

# Capture value returnd by last command
ret=$?

echo "Return value is $ret"

Khi thực hiện, bạn sẽ nhận được kết quả sau:

$./test.sh
Hello World Zara Ali
Return value is 10

Các hàm lng nhau

Một trong những tính năng thú vị hơn của các hàm là chúng có thể gọi chính chúng và các hàm khác. Một hàm gọi chính nó được gọi là một hàm đệ quy .

Ví dụ sau minh họa việc lồng hai hàm:

#!/bin/sh

# Calling one function from another
number_one () {
   echo "This is the first function speaking..."
   number_two
}

number_two () {
   echo "This is now the second function speaking..."
}

# Calling function one.
number_one

Khi thực hiện, bạn sẽ nhận được kết quả sau:

This is the first function speaking...
This is now the second function speaking...

Chc năng gi t li nhc

Bạn có thể đặt các định nghĩa cho các hàm thường được sử dụng bên trong .profile của mình . Các định nghĩa này sẽ có sẵn bất cứ khi nào bạn đăng nhập và bạn có thể sử dụng chúng tại dấu nhắc lệnh.

Ngoài ra, bạn có thể nhóm các định nghĩa trong một tệp, chẳng hạn như test.sh , rồi thực thi tệp trong trình bao hiện tại bằng cách nhập –

$. test.sh

Điều này có tác dụng làm cho các hàm được định nghĩa bên trong test.sh được đọc và xác định cho trình bao hiện tại như sau:

$ number_one
This is the first function speaking...
This is now the second function speaking...
$

Để xóa định nghĩa của một hàm khỏi trình bao, hãy sử dụng lệnh unset với tùy chọn .f . Lệnh này cũng được sử dụng để loại bỏ định nghĩa của một biến đối với trình bao. $ unset -f function_name

Unix / Linux – Shell Manpage Help

Tất cả các lệnh Unix đi kèm với một số tùy chọn bắt buộc và tùy chọn. Việc quên cú pháp hoàn chỉnh của các lệnh này là rất phổ biến.

Bởi vì không ai có thể nhớ mọi lệnh Unix và tất cả các tùy chọn của nó, chúng tôi có sẵn trợ giúp trực tuyến để giảm thiểu điều này ngay từ khi Unix còn ở giai đoạn phát triển.

Phiên bản tệp Trợ giúp của Unix được gọi là trang nam . Nếu có một tên lệnh và bạn không chắc chắn về cách sử dụng nó, thì Man Pages sẽ giúp bạn thực hiện từng bước.

Cú pháp

Đây là lệnh đơn giản giúp bạn có được chi tiết của bất kỳ lệnh Unix nào trong khi làm việc với hệ thống –

$man command

Thí d

Giả sử có một lệnh yêu cầu bạn nhận trợ giúp; giả sử rằng bạn muốn biết về pwd thì bạn chỉ cần sử dụng lệnh sau:

$man pwd

Lệnh trên giúp bạn cung cấp thông tin đầy đủ về lệnh pwd . Hãy tự mình thử nó tại dấu nhắc lệnh của bạn để biết thêm chi tiết.

Bạn có thể nhận được đầy đủ chi tiết về chính lệnh man bằng lệnh sau:

$man man

Phn Trang Người đàn ông

Trang người đàn ông thường được chia thành các phần, thường khác nhau tùy theo sở thích của tác giả trang người đàn ông. Bảng sau liệt kê một số phần phổ biến:

Sr.No.Phần & Mô tả
1TÊN Tên của lệnh
2TÓM TẮT Các tham số sử dụng chung của lệnh
3SỰ MÔ TẢ Mô tả chức năng của lệnh
4TÙY CHỌN Mô tả tất cả các đối số hoặc tùy chọn cho lệnh
5XEM THÊM Liệt kê các lệnh khác có liên quan trực tiếp đến lệnh trong man page hoặc gần giống với chức năng của nó
6BUGS Giải thích bất kỳ sự cố hoặc lỗi đã biết nào tồn tại với lệnh hoặc đầu ra của nó
7VÍ DỤ Các ví dụ sử dụng phổ biến cung cấp cho người đọc ý tưởng về cách có thể sử dụng lệnh
số 8CÁC TÁC GIẢ Tác giả của trang / lệnh người đàn ông

Tóm lại, các trang nam là một nguồn tài nguyên quan trọng và là con đường nghiên cứu đầu tiên khi bạn cần thông tin về các lệnh hoặc tệp trong hệ thống Unix.

Lnh Shell hu ích

Liên kết sau cung cấp cho bạn danh sách các lệnh Unix Shell quan trọng nhất và được sử dụng rất thường xuyên.

Nếu bạn không biết cách sử dụng bất kỳ lệnh nào, hãy sử dụng man page để biết chi tiết đầy đủ về lệnh.

Đây là danh sách Unix Shell – Các lệnh hữu ích

Hướng dẫn nhanh này liệt kê các lệnh, bao gồm cú pháp và mô tả ngắn gọn. Để biết thêm chi tiết, hãy sử dụng –

$man command

Tp và Thư mc

Các lệnh này cho phép bạn tạo thư mục và xử lý tệp.

Sr.No.Lệnh & Mô tả
1con mèo Hiển thị nội dung tệp
2đĩa CD Thay đổi Thư mục thành dirname
3chgrp Thay đổi nhóm tệp
4chmod Thay đổi quyền
5cp Sao chép tệp nguồn vào đích
6tập tin Xác định loại tệp
7tìm thấy Tìm tệp
số 8grep Tìm kiếm các tệp cho các biểu thức chính quy
9cái đầu Hiển thị một vài dòng đầu tiên của tệp
10ln Tạo liên kết mềm trên tên cũ
11ls Hiển thị thông tin về loại tệp
12mkdir Tạo một tên thư mục mới
13hơn Hiển thị dữ liệu ở dạng phân trang
14mv Chuyển (Đổi tên) tên cũ thành tên mới
15pwd In thư mục làm việc hiện tại
16rm Xóa (Xóa) tên tệp
17là rm Xóa một thư mục hiện có miễn là nó trống
18cái đuôi In vài dòng cuối cùng trong tệp
19chạm Cập nhật quyền truy cập và thời gian sửa đổi tệp

Thao tác d liu

Nội dung của các tệp có thể được so sánh và thay đổi bằng các lệnh sau.

Sr.No.Lệnh & Mô tả
1awk Ngôn ngữ xử lý và quét mẫu
2cmp So sánh nội dung của hai tệp
3dấu phẩy So sánh dữ liệu được sắp xếp
4cắt Cắt bỏ các trường đã chọn của mỗi dòng tệp
5khác biệt Trình so sánh tệp khác biệt
6mở rộng Mở rộng các tab thành khoảng trắng
7tham gia Tham gia các tệp trên một số trường phổ biến
số 8perl Ngôn ngữ thao tác dữ liệu
9quyến rũ Trình chỉnh sửa văn bản trực tuyến
10loại Sắp xếp dữ liệu tệp
11tách ra Tách tệp thành các tệp nhỏ hơn
12tr Dịch các ký tự
13độc nhất Báo cáo các dòng lặp lại trong một tệp
14wc Đếm từ, dòng và ký tự
15vi Mở trình soạn thảo văn bản
16khí lực Mở trình soạn thảo văn bản vim
17fmt Định dạng văn bản đơn giản
18Đánh vần Kiểm tra văn bản để tìm lỗi chính tả
19Tôi đánh vần Kiểm tra văn bản để tìm lỗi chính tả
20emacs Dự án GNU Emacs
21ví dụ, chỉnh sửa Trình chỉnh sửa dòng
22emacs Dự án GNU Emacs

Tp nén

Các tệp có thể được nén để tiết kiệm dung lượng. Các tệp nén có thể được tạo và kiểm tra.

Sr.No.Lệnh & Mô tả
1nén Nén tệp
2gunzip Giúp giải nén các tệp đã nén
3gzip Phương pháp nén thay thế GNU
4giải nén Giúp giải nén tệp
5giải nén Liệt kê, kiểm tra và giải nén các tệp nén trong kho lưu trữ ZIP
6zcat Cat một tệp nén
7zcmp So sánh các tệp nén
số 8zdiff So sánh các tệp nén
9anh ấy có thể Bộ lọc truy cập tệp để xem crt của văn bản nén

Nhn thông tin

Nhiều hướng dẫn sử dụng Unix và tài liệu có sẵn trên mạng. Các lệnh Shell sau cung cấp thông tin:

Sr.No.Lệnh & Mô tả
1apropos Định vị các lệnh bằng cách tra cứu từ khóa
2thông tin Hiển thị các trang thông tin lệnh trực tuyến
2Đàn ông Hiển thị các trang thủ công trực tuyến
3là gì Tìm kiếm cơ sở dữ liệu whatis để có các từ hoàn chỉnh
4kêu lên GNOME trợ giúp người xem

Truyn thông mng

Các lệnh sau được sử dụng để gửi và nhận tệp từ máy chủ Unix cục bộ đến máy chủ từ xa trên khắp thế giới.

Sr.No.Lệnh & Mô tả
1ftp Chương trình truyền tệp
2rcp Sao chép tệp từ xa
3rlogin Đăng nhập từ xa vào máy chủ Unix
4rsh Vỏ từ xa
5tftp Chương trình truyền tệp tầm thường
6telnet Tạo kết nối đầu cuối với một máy chủ khác
7ssh Bảo vệ thiết bị đầu cuối shell hoặc kết nối lệnh
số 8scp Sao chép tệp từ xa của shell Secures
9sftp Chương trình truyền tệp shell bảo mật

Một số lệnh này có thể bị hạn chế trên máy tính của bạn vì lý do bảo mật.

Tin nhn gia nhng người dùng

Hệ thống Unix hỗ trợ tin nhắn trên màn hình cho những người dùng khác và thư điện tử trên toàn thế giới –

Sr.No.Lệnh & Mô tả
1sự phát triển Công cụ xử lý thư GUI trên Linux
2thư Chương trình gửi hoặc đọc thư đơn giản
3thông điệp Cho phép hoặc từ chối tin nhắn
4Bưu kiện Gửi tệp cho người dùng khác
5cây thông Tiện ích thư dựa trên Vdu
6nói chuyện Nói chuyện với người dùng khác
7viết Viết tin nhắn cho người dùng khác

Tin ích lp trình

Các công cụ và ngôn ngữ lập trình sau đây có sẵn dựa trên những gì bạn đã cài đặt trên Unix của mình.

Dưới đây là danh sách các công cụ và ngôn ngữ trong Tiện ích lập trình.

Sr.No.Lệnh & Mô tả
1dbx Sun debugger
2gdb Trình gỡ lỗi GNU
3làm Duy trì các nhóm chương trình và biên dịch chương trình
4nm In danh sách tên của chương trình
5kích thước In kích thước của chương trình
6dải Loại bỏ bảng ký hiệu và các bit chuyển vị trí
7cb Trình làm đẹp chương trình C
số 8cc Trình biên dịch ANSI C cho hệ thống Suns SPARC
9ctrace Trình gỡ lỗi chương trình C
10gcc Trình biên dịch GNU ANSI C
11thụt vào Thụt lề và định dạng nguồn chương trình C
12bc Bộ xử lý ngôn ngữ số học tương tác
13gcl GNU Common Lisp
14perl Ngôn ngữ mục đích chung
15php Ngôn ngữ nhúng trang web
16py Trình thông dịch ngôn ngữ Python
17asp Ngôn ngữ nhúng trang web
18CC Trình biên dịch C ++ cho hệ thống Suns SPARC
19g ++ Trình biên dịch GNU C ++
20javac Trình biên dịch JAVA
21appletvieweir Trình xem applet JAVA
22netbeans Môi trường phát triển tích hợp Java trên Linux
23sqlplus Chạy trình thông dịch Oracle SQL
24sqlldr Chạy trình tải dữ liệu Oracle SQL
25mysql Chạy trình thông dịch SQL mysql

Lnh khác

Các lệnh này liệt kê hoặc thay đổi thông tin về hệ thống –

Dưới đây là danh sách các lệnh Misc trong Unix.

Lnh khác

Các lệnh này liệt kê hoặc thay đổi thông tin về hệ thống –

Dưới đây là danh sách các lệnh Misc trong Unix.

Sr.No.Lệnh & Mô tả
1chfn Thay đổi thông tin ngón tay của bạn
2chgrp Thay đổi quyền sở hữu nhóm của một tệp
3chown Thay đổi chủ sở hữu
4ngày In ngày tháng
5quyết định Tự động tìm loại thiết bị đầu cuối
6từ In lượng sử dụng đĩa
7tiếng vang Đưa ra các đối số cho các tùy chọn tiêu chuẩn
số 8lối ra Thoát khỏi hệ thống
9ngón tay In thông tin về người dùng đã đăng nhập
10groupadd Tạo một nhóm người dùng
11các nhóm Hiển thị tư cách thành viên nhóm
12định mức nhà Hiển thị hạn ngạch và sử dụng tệp
13iostat Báo cáo thống kê I / O
14giết chết Gửi tín hiệu cho một quá trình
15Cuối cùng Hiển thị thông tin đăng nhập cuối cùng của người dùng
16đăng xuất Đăng xuất khỏi Unix
17lun Liệt kê tên người dùng hoặc ID đăng nhập
18netstat Hiển thị trạng thái mạng
19passwd Thay đổi mật khẩu người dùng
20passwd Thay đổi mật khẩu đăng nhập của bạn
21printenv Hiển thị giá trị của một biến shell
22ps Hiển thị trạng thái của các quy trình hiện tại
23ps In thống kê trạng thái quy trình
24hạn ngạch -v Hiển thị mức sử dụng và giới hạn đĩa
25cài lại Đặt lại chế độ đầu cuối
26script Giữ tập lệnh của phiên đầu cuối
27script Lưu kết quả đầu ra của một lệnh hoặc quy trình
28setenv Đặt các biến môi trường
30stty Đặt tùy chọn thiết bị đầu cuối
31thời gian Giúp thời gian một lệnh
32đứng đầu Hiển thị tất cả các quy trình hệ thống
33tset Đặt chế độ đầu cuối
34tty In tên thiết bị đầu cuối hiện tại
35umask Hiển thị các quyền được cấp để xem tệp theo mặc định
36uname Hiển thị tên của hệ thống hiện tại
37thời gian hoạt động Tăng thời gian cho hệ thống
38useradd Tạo tài khoản người dùng
39người dùng In tên của người dùng đã đăng nhập
40vmstat Báo cáo thống kê bộ nhớ ảo
41w Hiển thị những gì người dùng đã đăng nhập đang làm
42ai Danh sách người dùng đã đăng nhập

Unix / Linux – Biểu thức chính quy với SED

Để lại một bình luận