Thực hành hệ điều hành UIT – Tài liệu text
Thực hành hệ điều hành UIT
Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (8.07 MB, 120 trang )
Bạn đang đọc: Thực hành hệ điều hành UIT – Tài liệu text
Trường Đại học Công nghệ thông tin (UIT)
LAB 1 : HƯỚNG DẪN CÀI ĐẶT UBUNTU VÀ CÁC LỆNH CƠ
BẢN CỦA SHELL
Hình 1 : Thực thi lệnh -ls ( ls viết tắt của List )
1
Hình 2 : Thực thi lệnh : ls -help
Hình 3 : Thực thi câu lệnh -cd
2
cd: Viết tắt của từ change directory, Lệnh này có thể được sử dụng để thay đổi thư mục mà
bạn đang làm việc. Có rất nhiều lệnh cd có thể được sử dụng để đưa bạn đến các tệp hoặc thư
mục cụ thể.
cd /: Một thay thế cho một lệnh cơ bản cd, cd / lệnh có thể được sử dụng để đưa bạn đến thư
mục gốc.
cd .. : Lệnh này có thể được sử dụng để đưa bạn lên một cấp thư mục.
cd – : Lệnh này có thể được sử dụng để điều hướng đến một thư mục trước.
Hình 4 : Đường dẫn tuyệt đối
3
Hình 5 : Đường dẫn tương đối
Hình 6 : Thực hiện lệnh pwd ( Trả về thư muc hiện thời đang ở )
4
Hình 7 :Thực hiện lệnh -touch ( Tạo một tệp tin mới )
5
Hình 8 : Thực hiện lệnh – vi and -nano ( Lệnh đọc và chỉnh sửa văn bản )
6
Hình 9 : Lệnh -mkdir (Tạo thư mục)
Hình 10 : Lệnh -chmod ( mẫu lệnh dùng để thiết lập quyền (xem, sửa và thực thi) trên các tệp
tin và thư mục )
7
Hình 11 : Lệnh -rm ( Lệnh dung để xóa dữ liệu )
Hình 12 : Lệnh -cp ( Sao chép dữ liệu )
8
Hình 13 : Lệnh -mv ( Lệnh dùng để di chuyển vè đổi tên cho thư mục )
Hình 14 : Lệnh -echo ( trả cho ta một giá trị ra màn hình hoặc vào tệp tin )
9
Hình 15 : Lệnh -cat ( in ra màn hình hoặc vào tệp tin những dữ liệu từ một tệp tin )
Hình 16 : Các lệnh về quản lý user trên Linux
10
Hình 17 : Các lệnh về network
11
Hình 18 : Lênh -man
12
Bài tập ôn tâp
Bài tập 1
13
Bài tập 2
Bài tập 3
Bài tập 4
14
Bài tập 5
Bài tập 6
15
Bài tập 7
16
LAB 2 : LẬP TRÌNH TRONG MƠI TRƯỜNG SHELL
CHUẨN BỊ THỰC HÀNH LAB 2 HỆ ĐIỀU HÀNH
Yêu cầu : Viết lại các đoạn code theo hướng dẫn.
2.1. Điều khiển shell từ dịng lệnh
Truy tìm và hiển thị nội dung của các tệp nguồn chứa chuỗi main()
$ for file in *
do
if grep -l ‘main( ) ‘ $file
then
more $fỉle
fi
done
Nhấn phím Up/Down thì shell có thể trả lại khối lệnh như sau:
$ for file in * ; do ; if grep -1 ‘main( )’ $file;
17
then ; more $file; fi; done
Thực thi nhiều lệnh cùng lúc ngay trên dòng lệnh :
$ mkdir myfolđer; cd myfolder;
2.2 Điều khiển shell bằng tập tin kịch bản (script file)
Soạn nội dung tập tin first.sh :
# ! /bin/ sh
# first.sh
# Script nay se tìm trong thư mục hiện hành các chuỗi mang nội dung
# main( ), nội dung của fìle sẽ được hiển thị ra màn hình nếu tìm thấy.
for file in *
do
if grep -l ‘main( ) ‘ $file
then
more $fỉle
fi
18
done
exit 0
Chú thích : #!/bin/sh
2.3. Thực thi script
Triệu gọi trình shell với tên tập tin script làm đối số :
$ /bin/ sh first.sh
Chuyển thuộc tính thực thi (x) cho tập tin script bằng lệnh chmod :
$ chmod +x first.sh hoặc $ first.sh
Khắc phuucj khi có lỗi khơng tìm thấy lệnh :
$ PATH=$PATH:
Tạo thói quen đặt dấu ./ trước một tập tin để ám chỉ truy xuất ở thư mục hiện hành.
Để ngăn script bị sửa đổi bởi người dùng khác :
#cp first.sh /usr/1ocal/bin
#chown root /usr/local/bin/first.sh
#chgrp root /usr/1ocal/bin/first.sh
#chmod u=rwx go=rx /usr/1ocal/bin/firsc.sh
3. Cú Pháp Ngôn Ngữ SHELL
3.1. Sử dụng biến
Gán nội dung và hiển thị biến :
xinchao=Hello
echo $xinchao
Kết quả in ra màn hình: Hello
xinchao=”I am here”
echo $xinchao
Kết quả in ra màn hình: I am here
19
xinchao=12+l
echo $xinchao
Kết quả in ra màn hình: 12+1
Sử dụng lệnh read để đọc nhập liệu do người dùng đưa vào và giữ lại trong biến để sử dụng :
3.1.1.. Các kí tự đặc biệt (Metalcharacters của Shell)
3.1.1.1. Chuyển hướng vào/ra
Ký hiệu
>
>>
<
<< word
2>
2>>
Ý nghĩa (… tượng trưng cho đích đổi hướng)
Đầu ra hướng tới …
Nối vào nội dung của …
Lấy đầu vào từ < …
Đầu vào là ở đây …
Đầu ra báo lỗi sẽ hướng vào …
Đầu ra báo lỗi hướng và ghi thêm vào …
Một vài vd :
$date > login.time
$cat < file1
$cat < file1 > file2
20
$cat file1 < file2
$date < login.time
$cat < badfile 2> errfile
Ví dụ :
$cat << EOF
# dấu hiệu đánh dấu chọn ở đây là EOF
> Xin chao
>…
> EOF
(và gõ ENTER)
Ngay lập tức trên màn hình sẽ là:
Xin chao
…
Ở đây EOF là dấu hiệu đánh dấu, hay còn gọi là thẻ bài (token). Điều đáng lưu ý là:
1. Cùng một dòng dữ liệu, phải được kết thúc
2. Token phải đứng ngay ở đầu dịng.
3.1.1.2. Các kí tự đặc biệt kiểm sốt tiến trình
1.
& (Ampersand):
Ví dụ:
$sort huge.file > sorted.file & // huge.file là một file thật lớn
$
Bằng lệnh ps sẽ thấy lệnh sort đang chạy kèm với só ID của tiến tình đó.
Bằng lệnh
$ jobs
[1]
sẽ thấy số hiệu của lệnh đang chạy ngầm.
Để kết thúc thực thi, dùng
$ kill 1234 #1234 là ID của tiến trình sort
21
Để quay lại chế độ tương tác:
Xem thêm: Mã lỗi Valorant 29 Giải pháp vấn đề
$ fg 1
2.
Ngoặc đơn ( ; ) Dùng để nhóm một số lệnh lại, phân cách bởi ;
Ví dụ:
$ (date ; who) > system.status
$ cat system.status
(Hãy xem kết xuất trên màn hình)
3.
Dấu nháy ` ` (backquotes) (là dấu ở phím đi cùng với dấu ~)
Ví dụ:
$ echo Logged in `datè > login.time
echo Logged in Fri May 12:52:25 UTC 2004 > login.time
Tức là: 1. thực hiện date với kết quả Fri May 12:52:25 UTC 2004 khơng hiện ra stdout (màn
hình), nhưng sẽ là đầu vào của echo;
2. sau đó lệnh echo sẽ echo Logged in Fri May 12:52:25 UTC 2004, nhưng khơng đưa
ra màn hình (stdout) mà đổi hướng vào tệp login.time.
Nếu gõ $ cat login.time, ta có kết xuất từ tệp này ra màn hình:
Logged in Fri May 12:52:25 UTC 2004
22
4.
Ống dẫn (Pipelines)
Ví dụ:
$who | ls –l
Đầu ra (stdout) của who (đáng lẽ sẽ ra màn hình), sẽ là đầu vào (stdin) của ls –l.
Ví dụ:
$ (date ; who) | ls -l
Tóm tắt:
cmd &
đặt lệnh cmd chạy nền (background)
cmd1 ; cmd2 chạy cmd1 trước, sau đó chạy cmd2
(cmd)
thực hiện cmd trong một shell con (subshell)
`cmd`
đầu ra của cmd sẽ thay cho đàu ra của lệnh trong dòng lệnh
cmd1 | cmd2 nối đầu ra của cmd1 vào đầu vào của cmd2
23
3.1.1.3 Dấu bọc chuỗi (quoting)
1.
Backslash ( \ )
Ví dụ 3-1: variables.sh
#!/bin/sh
myvar=”Hi there”
echo $myvar
echo “message : $myvar”
echo ‘message : $myvar’
echo “messgae : \$myvar”
echo Enter some text
24
read myvar
echo ‘$myvar’ now equals $myvar
exit 0
Kết xuất khi thực thi script:
Hi there
message : Hi there
message : $myvar
message : $myvar
25
Hình 7 : Thực hiện lệnh – touch ( Tạo một tệp tin mới ) Hình 8 : Thực hiện lệnh – vi and – nano ( Lệnh đọc và chỉnh sửa văn bản ) Hình 9 : Lệnh – mkdir ( Tạo thư mục ) Hình 10 : Lệnh – chmod ( mẫu lệnh dùng để thiết lập quyền ( xem, sửa và thực thi ) trên những tệptin và thư mục ) Hình 11 : Lệnh – rm ( Lệnh dung để xóa dữ liệu ) Hình 12 : Lệnh – cp ( Sao chép tài liệu ) Hình 13 : Lệnh – mv ( Lệnh dùng để vận động và di chuyển vè đổi tên cho thư mục ) Hình 14 : Lệnh – echo ( trả cho ta một giá trị ra màn hình hiển thị hoặc vào tệp tin ) Hình 15 : Lệnh – cat ( in ra màn hình hiển thị hoặc vào tệp tin những tài liệu từ một tệp tin ) Hình 16 : Các lệnh về quản trị user trên Linux10Hình 17 : Các lệnh về network11Hình 18 : Lênh – man12Bài tập ôn tâpBài tập 113B ài tập 2B ài tập 3B ài tập 414B ài tập 5B ài tập 615B ài tập 716LAB 2 : LẬP TRÌNH TRONG MƠI TRƯỜNG SHELLCHUẨN BỊ THỰC HÀNH LAB 2 HỆ ĐIỀU HÀNHYêu cầu : Viết lại những đoạn code theo hướng dẫn. 2.1. Điều khiển shell từ dịng lệnhTruy tìm và hiển thị nội dung của những tệp nguồn chứa chuỗi main ( ) USD for file in * doif grep – l ‘ main ( ) ‘ $ filethenmore USD fỉlefidoneNhấn phím Up / Down thì shell hoàn toàn có thể trả lại khối lệnh như sau : USD for file in * ; do ; if grep – 1 ‘ main ( ) ’ $ file ; 17 then ; more USD file ; fi ; doneThực thi nhiều lệnh cùng lúc ngay trên dòng lệnh : USD mkdir myfolđer ; cd myfolder ; 2.2 Điều khiển shell bằng tập tin ngữ cảnh ( script file ) Soạn nội dung tập tin first.sh : # ! / bin / sh # first.sh # Script nay se tìm trong thư mục hiện hành những chuỗi mang nội dung # main ( ), nội dung của fìle sẽ được hiển thị ra màn hình hiển thị nếu tìm thấy. for file in * doif grep – l ‘ main ( ) ‘ $ filethenmore USD fỉlefi18doneexit 0C hú thích : # ! / bin / sh2. 3. Thực thi scriptTriệu gọi trình shell với tên tập tin script làm đối số : USD / bin / sh first. shChuyển thuộc tính thực thi ( x ) cho tập tin script bằng lệnh chmod : USD chmod + x first.sh hoặc USD first. shKhắc phuucj khi có lỗi khơng tìm thấy lệnh : USD PATH = USD PATH : Tạo thói quen đặt dấu. / trước một tập tin để ám chỉ truy xuất ở thư mục hiện hành. Để ngăn script bị sửa đổi bởi người dùng khác : # cp first.sh / usr / 1 ocal / bin # chown root / usr / local / bin / first.sh # chgrp root / usr / 1 ocal / bin / first.sh # chmod u = rwx go = rx / usr / 1 ocal / bin / firsc. sh3. Cú Pháp Ngôn Ngữ SHELL3. 1. Sử dụng biếnGán nội dung và hiển thị biến : xinchao = Helloecho $ xinchao Kết quả in ra màn hình hiển thị : Helloxinchao = ” I am here ” echo USD xinchaoKết quả in ra màn hình hiển thị : I am here19xinchao = 12 + lecho USD xinchao Kết quả in ra màn hình hiển thị : 12 + 1S ử dụng lệnh read để đọc nhập liệu do người dùng đưa vào và giữ lại trong biến để sử dụng : 3.1.1 .. Các kí tự đặc biệt quan trọng ( Metalcharacters của Shell ) 3.1.1. 1. Chuyển hướng vào / raKý hiệu >> < < word2 > 2 >> Ý nghĩa ( … tượng trưng cho đích đổi hướng ) Đầu ra hướng tới … Nối vào nội dung của … Lấy đầu vào từ < … Đầu vào là ở đây … Đầu ra báo lỗi sẽ hướng vào … Đầu ra báo lỗi hướng và ghi thêm vào … Một vài vd : USD date > login.time USD cat < file1 USD cat < file1 > file220 USD cat file1 < file2 USD date < login.time USD cat < badfile 2 > errfileVí dụ : USD cat < < EOF # tín hiệu ghi lại chọn ở đây là EOF > Xin chao > … > EOF ( và gõ ENTER ) Ngay lập tức trên màn hình hiển thị sẽ là : Xin chaoỞ đây EOF là tín hiệu lưu lại, hay còn gọi là thẻ bài ( token ). Điều đáng quan tâm là : 1. Cùng một dòng tài liệu, phải được kết thúc2. Token phải đứng ngay ở đầu dịng. 3.1.1. 2. Các kí tự đặc biệt quan trọng kiểm sốt tiến trình1. và ( Ampersand ) : Ví dụ : USD sort huge.file > sorted.file và / / huge.file là một file thật lớnBằng lệnh ps sẽ thấy lệnh sort đang chạy kèm với só ID của tiến tình đó. Bằng lệnh USD jobs [ 1 ] sẽ thấy số hiệu của lệnh đang chạy ngầm. Để kết thúc thực thi, dùng $ kill 1234 # 1234 là ID của tiến trình sort21Để quay lại chính sách tương tác : USD fg 12. Ngoặc đơn ( ; ) Dùng để nhóm một số ít lệnh lại, phân làn bởi ; Ví dụ : USD ( date ; who ) > system.status USD cat system.status ( Hãy xem kết xuất trên màn hình hiển thị ) 3. Dấu nháy ` ` ( backquotes ) ( là dấu ở phím đi cùng với dấu ~ ) Ví dụ : USD echo Logged in ` datè > login.timeecho Logged in Fri May 12:52:25 UTC 2004 > login. timeTức là : 1. triển khai date với hiệu quả Fri May 12:52:25 UTC 2004 khơng hiện ra stdout ( mànhình ), nhưng sẽ là nguồn vào của echo ; 2. sau đó lệnh echo sẽ echo Logged in Fri May 12:52:25 UTC 2004, nhưng khơng đưara màn hình hiển thị ( stdout ) mà đổi hướng vào tệp login.time. Nếu gõ USD cat login.time, ta có kết xuất từ tệp này ra màn hình hiển thị : Logged in Fri May 12:52:25 UTC 2004224. Ống dẫn ( Pipelines ) Ví dụ : USD who | ls – lĐầu ra ( stdout ) của who ( đáng lẽ sẽ ra màn hình hiển thị ), sẽ là nguồn vào ( stdin ) của ls – l. Ví dụ : USD ( date ; who ) | ls – lTóm tắt : cmd và đặt lệnh cmd chạy nền ( background ) cmd1 ; cmd2 chạy cmd1 trước, sau đó chạy cmd2 ( cmd ) thực thi cmd trong một shell con ( subshell ) ` cmd ` đầu ra của cmd sẽ thay cho đàu ra của lệnh trong dòng lệnhcmd1 | cmd2 nối đầu ra của cmd1 vào nguồn vào của cmd2233. 1.1.3 Dấu bọc chuỗi ( quoting ) 1. Backslash ( \ ) Ví dụ 3-1 : variables.sh # ! / bin / shmyvar = ” Hi there ” echo $ myvarecho ” message : USD myvar ” echo ‘ message : USD myvar’echo ” messgae : \ $ myvar ” echo Enter some text24read myvarecho ‘ $ myvar ‘ now equals USD myvarexit 0K ết xuất khi thực thi script : Hi theremessage : Hi theremessage : USD myvarmessage : USD myvar25
Source: https://laodongdongnai.vn
Category: Chia Sẻ Kiến Thức






