ݺߣ

ݺߣShare a Scribd company logo
Đỗ Hoàng Kiên
Bài thực hành 1
Login vào hệ thống (cho đúng tên người dùng và mật khẩu). Thực hiện từng lệnh và
xem xét nội dung kết quả (giải thích ý nghĩa từng lệnh).
Chú ý tên file và tên thư mục có thể khác so với nội dung ở đây.
1. Hãy kiểm tra và cho biết xem LINUX đang dùng shell nào bằng cách gõ lệnh:
alias
2. $ who > temp
$
$ wc -l temp
(sẽ hiện ra thông tin về các đếm)
$
hoặc sử dụng kiểu đường ống
$ who | wc -l
(sẽ hiện ra)
$
3. Sử dụng lệnh đường ống
$ who|grep user | sort
(sẽ hiện ra)
4. Ghi nhận kết quả đã sắp xếp
$ who | sort > memo1
$
5. Hiện danh sách file (bao gồm cả file bị che)
$ ls -a
(sẽ hiện ra)
$
6. Đổi mode file temp
$ chmod 755 temp
$
Để xem lại thông tin sau khi đổi mode:
$ ls -l temp
(sẽ hiện ra và bắt đầu là -rwxr-xr-x .....)
7. Tạo thư mục games
$ mkdir games
$
8. Kiểm tra games có được tạo:
$ ls -l
(sẽ hiện ra)
$
9. Sao file cùng thư mục hiện tại
$ cp temp temp1
$ cp temp temp2
$
10. Sao các file vào thư mục khác
1
Đỗ Hoàng Kiên
2
$ cp temp temp2 games
$
Chuyển vào thư mục games
$ cd games
$ pwd
(sẽ hiện ra)
$ ls temp temp2
$
11. Chuyển về thư mục cha
$ cd ..
$
12. Xem lại đường dẫn thư mục hiện tại
$ pwd
(sẽ hiện ra)
$
13. Chuyển file từ thư mục này sang thư mục khác
$ mv temp1 games
$
14. Lại quay về games
$ cd games
$ pwd
$
15. Xoá hai file
$ rm -l temp1 temp2
(sẽ hiện ra)
16. Trở về thư mục riêng
$ cd
$
17. Xóa thư mục games
$ rmdir games
(sẽ hiện ra, giải thích)
18. Nối them một tên vào file đã tồn tại dùng lệnh
$ ln temp temp4
$
Sau đó dùng lệnh
$ ls -l
19. Tìm tên 1 file từ cây con thư mục hiện tại
$ find . -name temp -print
20. Xác định kiểu của file
$ file temp1 temp2
21. Hiện tình trạng mọi máy in gõ lệnh
$ lpstat -p
(sẽ hiện ra điều gì, giải thích)
Đỗ Hoàng Kiên
3
22. Bắt đầu tính toán gõ
$ bc
2+4
(sẽ hiện ra)
300+600
(sẽ hiện ra)
300*600
(sẽ hiện ra)
1+2*3
(sẽ hiện ra)
1/2
(sẽ hiện ra, giải thích)
scale = 4
1/2
(sẽ hiện ra, giải thích)
quit
$
23. Để đổi dấu mời là 'K44', gõ
$ PS1 = 'K44'
K44
K44 ls -l
K44
K44 PS1 = '$'
$
24. Gọi phần mềm Midnight Command bằng lệnh
mc
và sau đó làm việc với MC như đã làm với NC trong MS-DOS.
Bài thực hành 2. Truyền thông và chạy chương trình trên
UNIX-LINUX
A. Lệnh write: Truyền thông on-line
Tại máy người dùng gõ:
$ who
(sẽ hiện ra)
Trong các thông tin hiện ra giả sử các người dùng có tên là may1, may2, may3, ....,
may31; từng cặp người dùng may(2i-1) và may (2i) trao đổi với nhau theo lệnh write.
Ví dụ với người dùng ở may1 sẽ gui thu cho người dùng ở may2, viết
$write may2
Trên màn hình trạm cuối của may2 thấy hiện ra một số thông tin thông báo.
Sau khi may1 hiện thông báo là may2 sẵn sàng nhận thông báo, người dùnh ở may1 gõ
thông báo và nội dung này từ may1 sẽ hiện ra màn hình của may2 (Nội dung thông
báo là tùy chọn; chú ý, gõ Ctrl-d khi kết thúc).
Đỗ Hoàng Kiên
4
Sau khi đã nhận được thông báo từ may1, việc nhận đã kết thúc và tại may2,
dấu mời của shell xuất hiện:
$
Đến đây, người dùng ở may2 trả lời cho người dùng ở may1 qua việc gửi 1
thông báo tới may1:
$write may1
Chú ý: Dùng lệnh talk trong Linux.
B. Lệnh mail: Truyền thông off-line
Người dùng ở may1 gửi một thư tới người dùng ở may2:
$ mail may2
(Nội dung thư và kết thúc là Ctrl-d)
Người dùng ở may2 sẽ thấy thông báo trên màn hình:
mail for may2
Để xem chi tiết nội dung thư, người dùng ở may2 sử dụng lệnh
$ mail
Sử dụng các lệnh trong chế độ lệnh của mail, đọc được nội dung của thư mới
nhận được, sau đó muốn trả lời ngay (chú ý thư hiện tại đang là thư của người may1)
dùng:
?r
(sẽ hiện ra: mail may1)
Người dùng may2 gõ các dòng thư trả lời và kết thúc cũng là Ctrl-d.
Chú ý: 1. Có thể xem xét trường hợp khi người dùng may1 gửi mail cho người dùng ở
may2 thì may2 đang tắt. Sau khi người dùng ở may1 gửi thư xong thì may2 mới khởi
động để phân biệt rõ hai loại truyền thông.
2. Dùng lệnh ls để xem nội dung thư mục chứa mail của mỗi người dùng, các
file, các thư mục con của thư mục này và ý nghĩa của mỗi đối tượng trong đó.
3. Nếu điều kiện của phòng máy cho phép, có thể làm quen với một số nội
dung về internet.
C. Biên soạn chương trình bằng VIM
Gọi VIM để soạn thảo một file văn bản bất kỳ (nên định hướng file văn bản
chương trình trên C để thuận lợi cho các bước sau).
D. Chạy chương trình
Dịch chương trình bằng gcc (hoặc bcc)
Kết nối (link) chương trình đích
Chạy chương trình (chú ý mode chạy được).
Đỗ Hoàng Kiên
Bài thực hành 3. lập trình trên shell
Mục đích:
- Ôn lại soạn thảo văn bản vi và dùng vi để tạo File chương trình trên shell,
- Soạn thảo, dịch, chạy chương trình trên C trên UNIX,
- Tạo File chương trình trên shell theo một số yêu cầu nào đó
Nội dung:
1. Thực hiện chương trình trên C:
- Viết một chương trình C nhờ soạn thảo vi,
- Nhờ cc dịch chương trình nói trên,
- Đổi lại mode cho file .out để chạy được ở mức shell,
- Chay chương trình, đưa input và nhận output.
2. Thông qua lệnh đặt lại giá trị biến môi trường để thay đổi lại dấu mời hệ thống theo
nghĩa gồm tên người dùng và dấu $.
3. Lập chương trình shell có tác dụng:
- Nhận tên của người chạy chương trình,
- Hiện thông báo gồm các nội dung:
* Lời chào người dùng,
* Hiện lại thời gian, ngày tháng ( trong đó thứ trong tuần, tháng hiện thời hiện
theo tiếng Việt không dấu).
Đây là một chương trình ví dụ thực hiện các công việc sau:
- Nhận hai tham số dòng lệnh là hai giá trị số
- Hiện kết quả thực hiện lệnh date
- Hiện tiếng Việt không dấu thứ, ngày, tháng hiện tại
- Hiện kết quả tính tổng hai giá trị tham số dòng vào
tong=`expr $1 + $2`
set `date`
echo $*
case $1 in
T2) s="Thu Hai";;
T3) s="Thu Ba";;
T4) s="Thu Tu";;
esac
case $2 in
Thg01) s="$s, Thang Gieng, ";;
Thg02) s="$s, Thang Hai, ";;
Thg11) s="$s, Thang Muoi Mot, ";;
Thg12) s="$s, Thang Muoi Hai, ";;
esac
case $3 in
1) echo $s "Ngay Mot";;
2) echo $s "Ngay Hai";;
28) echo $s "Ngay Hai Muoi Tam";;
5
Đỗ Hoàng Kiên
6
29) echo $s "Ngay Hai Muoi Chin";;
esac
echo "Tong = $tong "
4. Lập chương trình shell có tính năng:
- Bao gồm tính năng của câu 3.
- Chạy chương trình kết quả của câu 1
- Thử nghiệm thay đổi file .profile
/* -------- */
#!/bin/sh
# Chuong trinh tinh tong cac file (regular file) trong 1 thu muc
# Minh hoa cach su dung if then fi, while do done
# va cac CT test, expr
if test $# -ne 1
then
echo Cu phap: $0 <Ten thu muc>
exit 1
fi
cd $1 # Chuyen vao thu muc can list
if test $? -ne 0 # Neu thu muc khong ton tai thi ra khoi CT
then
exit 1
fi
ls -lL |
# Liet ke ca cac thong tin cua symbolic link
# Su dung sub-shell de tu giai phong bien
{
sum=0
# Lenh read x y de bo di dong 'total 1234..' cua lenh ls -lL
read x y ; while read mode link user group size month day hour name
do
if [ -f $name ]
then
sum=`expr $sum + $size`
# echo $size $sum
fi
done
echo Tong so byte trong thu muc $1: $sum
}
/* -------- */
Đỗ Hoàng Kiên
7
#!/bin/sh
# Chuong trinh dem so dong cua 1 file
# Minh hoa cau truc: if then fi, while do done
# va cach su dung CT test, expr
if [ $# -ne 1 ]
then
echo Cu phap: $0 <Ten file>
exit 1
fi
{
n=0
while read dong
do
n=`expr $n + 1`
done
echo So dong cua $1: $n
} < $1
/* -------- */
#!/bin/sh
# CT dem so tu cua 1 file
# Minh hoa cach su dung cau truc for do done, while do done
if [ $# -ne 1 ]
then
echo Cu phap: $0 <Ten file>
exit 1
fi
{
n=0
tu=""
dong=""
while read dong
do
for name in $dong
do
n=`expr $n + 1`
done
done
echo Tong so tu doc vao la: $n
} < $1
Đỗ Hoàng Kiên
8
/* -------- */
#!/bin/sh
# Chuong trinh tim dong co do dai lon nhat trong 1 file
# Minh hoa cau truc: if then fi, while do done
# va cach su dung CT test, expr
if [ $# -ne 1 ]
then
echo Cu phap: $0 <Ten file>
exit 1
fi
max=0
dongmax=""
{
while read dong
do
n=`expr length "$dong"`
if [ $n -gt $max ]
then
dongmax="$dong"
max=$n
fi
done
echo $dongmax ($max)
} < $1
/* -------- */
#!/bin/sh
# Chuong trinh in ra cac so cua day Fibonaci nho hon 1 so n cho truoc
# Minh hoa cau truc: if then fi, util do done
# va cach su dung CT test, expr
if [ $# -ne 1 ]
then
echo Cu phap: $0 <So nguyen>
exit 1
fi
export tam
truoc=1
sau=1
echo -n $truoc $sau
until tam=`expr $truoc + $sau` ; [ $tam -ge $1 ]
do
truoc=$sau
sau=$tam
Đỗ Hoàng Kiên
9
echo -n " "$tam
done
echo
/* -------- */
#!/bin/sh
# Chuong trinh liet ke cac thu muc con cua 1 thu muc
# Minh hoa cach su dung if then fi, while do done
# va cac CT test, expr
if test $# -ne 1
then
echo Cu phap: $0 <Ten thu muc>
exit 1
fi
cd $1 # Chuyen vao thu muc can list
if test $? -ne 0 # Neu thu muc khong ton tai thi ra khoi CT
then
exit 1
fi
ls -lL |
# Liet ke ca cac thong tin cua symbolic link
# Su dung sub-shell de tu giai phong bien
{
sum=0
# Lenh read x y de bo di dong 'total 1234..' cua lenh ls -lL
read x y ; while read mode link user group size month day hour name
do
if [ -d $name ]
then
echo $name $size ($mode)
fi
done
}
/* -------- */
#!/bin/sh
# Chuong trinh liet ke cac file thuc hien duoc trong thu muc
# Minh hoa cach su dung if then fi, while do done
# va cac CT test, expr
if test ! $# -eq 1
then
echo Cu phap: $0 <Ten thu muc>
Đỗ Hoàng Kiên
10
exit 1
fi
cd $1 # Chuyen vao thu muc can list
if test $? -ne 0 # Neu thu muc khong ton tai thi ra khoi CT
then
exit 1
fi
ls -lL |
# Liet ke ca cac thong tin cua symbolic link
# Su dung sub-shell de tu giai phong bien
{
sum=0
# Lenh read x y de bo di dong 'total 1234..' cua lenh ls -lL
read x y ; while read mode link user group size month day hour name
do
if [ -x $name ] && [ ! -d $name ]
then
echo $name $size ($mode)
fi
done
}
/* -------- */
#!/bin/sh
# Chuong trinh minh hoa viec doc tu ban phim (read) va su dung case do esac
chon=0
until [ $chon = q ] || [ $chon = Q ]
do
clear
echo Lua chon che do lam viec:
echo 1. Soan thao
echo 2. Doi thu muc lam viec
echo 3. Xem thu muc
echo 4. Xem gio
echo q. Thoat
echo -n "Chon: "
read chon
case $chon in
1) echo -n "Ten file: " ; read file ; vi $file ;;
2) echo -n "Ten thu muc: " ; read dir ; cd $dir || echo "Thu muc khong hop le" ;;
3) echo -n "Ten thu muc: " ; read dir ; ls -l $dir || echo "Thu muc khong hop le";;
4) date ;;
Đỗ Hoàng Kiên
11
q|Q) continue;;
*) echo "Tuy chon khong hop le"; chon=0;;
esac
echo -n "Bam phim Enter de tiep tuc"; read cont
done
/* -------- */
#!/bin/sh
# Chuong trinh tinh giai thua cua mot so nguyen
# Minh hoa cau truc: if then fi, while do done
# va cach su dung CT test, expr
if [ $# -ne 1 ]
then
echo Cu phap: $0 <So nguyen>
exit 1
fi
gt=1
index=2
while [ $index -le $1 ]
do
gt=`expr $gt * $index`
index=`expr $index + 1`
done
echo $1! = $gt
/* -------- */
#!/bin/sh
# Chuong trinh in ra ngay thang bang tieng Viet
# Minh hoa cau truc: case do esac
date |
{
read thu thang ngay gio mui_gio nam
case $thu in
Mon) thu="Thu Hai" ;;
Tue) thu="Thu Ba" ;;
Wed) thu="Thu Tu" ;;
Thu) thu="Thu Nam" ;;
Fri) thu="Thu Sau" ;;
Sat) thu="Thu Bay" ;;
Sun) thu="Chu Nhat" ;;
esac
case $thang in
Đỗ Hoàng Kiên
12
Jan) thang="Thang Gieng" ;;
Feb) thang="Thang Hai" ;;
Mar) thang="Thang Ba" ;;
Apr) thang="Thang Tu" ;;
May) thang="Thang Nam" ;;
Jun) thang="Thang Sau" ;;
Jul) thang="Thang Bay" ;;
Aug) thang="Thang Tam" ;;
Sep) thang="Thang Chin" ;;
Oct) thang="Thang Muoi" ;;
Nov) thang="Thang Mot" ;;
Dec) thang="Thang Chap" ;;
esac
echo Hom nay $thu ngay $ngay $thang nam $nam ($gio - mui gio $mui_gio)
}
/* -------- */
#!/bin/sh
# Chuong trinh tinh tong cac so tu nhien tu 1 den n
# Minh hoa cau truc: if then fi, while do done
# va cach su dung CT test, expr
if [ $# -ne 1 ]
then
echo Cu phap: $0 <So nguyen>
exit 1
fi
gt=0
index=1
echo -n $index
while [ $index -le $1 ]
do
echo -n " + $index"
gt=`expr $gt + $index`
index=`expr $index + 1`
done
echo " = $gt"
/* ...*/
#!/bin/sh
# Chuong trinh tim mot xau trong mot van ban
# Minh hoa cau truc: if then fi, while do done
# va cach su dung CT test, expr (substr, length)
Đỗ Hoàng Kiên
13
if [ $# -ne 2 ]
then
echo Cu phap: $0 <Xau can tim> <Ten file>
exit 1
fi
{
wordlen=`expr length $1` # Do dai tu can tim
while read textline
do
textlen=`expr length "$textline"` # Do dai cua dong vua doc
loop=`expr $textlen - $wordlen + 1`
index=1
while [ $index -le $loop ]
do
tam=`expr substr "$textline" $index $wordlen`
if [ "$tam" = $1 ]
then
echo Tim thay $1-- $textline
break
fi
index=`expr $index + 1`
done
done
} < $2
Ad

Recommended

ShellProgramming
ShellProgramming
Hoàng Hải Nguyễn
php_nangcao [compatibility mode]
php_nangcao [compatibility mode]
vokhuyet187
PHP Security File inclusion
PHP Security File inclusion
Loc Nguyen
Project name
Project name
thom Tomu
Cấu trúc cơ bản
Cấu trúc cơ bản
Nguyen Bich Ngoc
Cac lenh linux_co_ban
Cac lenh linux_co_ban
Nguyen Anh
Php02 ngon nguphp
Php02 ngon nguphp
conglongit90
Dang baitapthuchanh monhdh_unix
Dang baitapthuchanh monhdh_unix
Bảo Bối
Speaker dang minh tuan javascript for php developer
Speaker dang minh tuan javascript for php developer
AiTi Education
Web301 slide 3
Web301 slide 3
tuanduongcntt
Quản lý tiến trình
Quản lý tiến trình
Hanh Nguyễn Văn
Flutter vs React Native 2018
Flutter vs React Native 2018
TechMaster Vietnam
Localizing globalization step_bystep
Localizing globalization step_bystep
Đại Nguyễn Duy
PHP Regular expressions
PHP Regular expressions
Phạm Tùng Lâm
linux_huongdanthuchanh
linux_huongdanthuchanh
huynhngochao
Lập trình Shell 1.pdf
Lập trình Shell 1.pdf
CuongLy23
8 filter
8 filter
vantinhkhuc
8 filter
8 filter
vantinhkhuc
Bảng tra cứu các lệnh cơ bản của unix và linux sưu tầm bởi www.vilinux.com
Bảng tra cứu các lệnh cơ bản của unix và linux sưu tầm bởi www.vilinux.com
Brand Xanh
Onthith hdh
Onthith hdh
robinvnxxx
Lpi01
Lpi01
Pham Viet
Co ban ve linuxshellscript
Co ban ve linuxshellscript
Integrated Circuit Design Research & Education Center (ICDREC)
Co ban ve linuxshellscript
Co ban ve linuxshellscript
sakurai1102
Nhapmon linux
Nhapmon linux
Lee Chan
Thuc hanh 13
Thuc hanh 13
Thuyet Nguyen
Làm thế nào để học linux trong 24h?
Làm thế nào để học linux trong 24h?
Công Nghệ - VTC Mobile
Lab1.pptxgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
Lab1.pptxgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
Dng02
Carte ref-ubuntu-vi
Carte ref-ubuntu-vi
Trần Quang Sang
So tay nho lenh linux
So tay nho lenh linux
Integrated Circuit Design Research & Education Center (ICDREC)
Cac bai thuc hanh linux
Cac bai thuc hanh linux
Integrated Circuit Design Research & Education Center (ICDREC)

More Related Content

What's hot (7)

Speaker dang minh tuan javascript for php developer
Speaker dang minh tuan javascript for php developer
AiTi Education
Web301 slide 3
Web301 slide 3
tuanduongcntt
Quản lý tiến trình
Quản lý tiến trình
Hanh Nguyễn Văn
Flutter vs React Native 2018
Flutter vs React Native 2018
TechMaster Vietnam
Localizing globalization step_bystep
Localizing globalization step_bystep
Đại Nguyễn Duy
PHP Regular expressions
PHP Regular expressions
Phạm Tùng Lâm
linux_huongdanthuchanh
linux_huongdanthuchanh
huynhngochao

Similar to Thuchanh unix moi (20)

Lập trình Shell 1.pdf
Lập trình Shell 1.pdf
CuongLy23
8 filter
8 filter
vantinhkhuc
8 filter
8 filter
vantinhkhuc
Bảng tra cứu các lệnh cơ bản của unix và linux sưu tầm bởi www.vilinux.com
Bảng tra cứu các lệnh cơ bản của unix và linux sưu tầm bởi www.vilinux.com
Brand Xanh
Onthith hdh
Onthith hdh
robinvnxxx
Lpi01
Lpi01
Pham Viet
Co ban ve linuxshellscript
Co ban ve linuxshellscript
Integrated Circuit Design Research & Education Center (ICDREC)
Co ban ve linuxshellscript
Co ban ve linuxshellscript
sakurai1102
Nhapmon linux
Nhapmon linux
Lee Chan
Thuc hanh 13
Thuc hanh 13
Thuyet Nguyen
Làm thế nào để học linux trong 24h?
Làm thế nào để học linux trong 24h?
Công Nghệ - VTC Mobile
Lab1.pptxgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
Lab1.pptxgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
Dng02
Carte ref-ubuntu-vi
Carte ref-ubuntu-vi
Trần Quang Sang
So tay nho lenh linux
So tay nho lenh linux
Integrated Circuit Design Research & Education Center (ICDREC)
Cac bai thuc hanh linux
Cac bai thuc hanh linux
Integrated Circuit Design Research & Education Center (ICDREC)
Lesson 3 - Linux File System
Lesson 3 - Linux File System
Thang Man
Linux và mã nguồn mở
Linux và mã nguồn mở
Nguyễn Anh
Hệ thống tệp Linux
Hệ thống tệp Linux
Hanh Nguyễn Văn
Linux2 lap trinhshellchohocvien
Linux2 lap trinhshellchohocvien
asakebigone
Linux04 hethongtaptin
Linux04 hethongtaptin
anhbinhminhpro
Ad

Recently uploaded (20)

TỔNG HỢP 60 ĐỀ THI BÁM SÁT CẤU TRÚC ĐỀ THI HỌC SINH GIỎI HÓA HỌC 12 CẤP TỈNH ...
TỔNG HỢP 60 ĐỀ THI BÁM SÁT CẤU TRÚC ĐỀ THI HỌC SINH GIỎI HÓA HỌC 12 CẤP TỈNH ...
Nguyen Thanh Tu Collection
BÀI TẬP BỔ TRỢ TIẾNG ANH 12 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 12 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
Nguyen Thanh Tu Collection
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
Nguyen Thanh Tu Collection
Bài thuyết trình miraie trung tâm tiếng Nhật của nhóm tôi
Bài thuyết trình miraie trung tâm tiếng Nhật của nhóm tôi
phuocnguyenminh22
TỔNG HỢP 60 ĐỀ THI BÁM SÁT CẤU TRÚC ĐỀ THI HỌC SINH GIỎI HÓA HỌC 12 CẤP TỈNH ...
TỔNG HỢP 60 ĐỀ THI BÁM SÁT CẤU TRÚC ĐỀ THI HỌC SINH GIỎI HÓA HỌC 12 CẤP TỈNH ...
Nguyen Thanh Tu Collection
SÁNG KIẾN TỔ CHỨC DẠY HỌC DỰ ÁN THEO MÔ HÌNH LỚP HỌC ĐẢO NGƯỢC PHÁT TRIỂN NĂN...
SÁNG KIẾN TỔ CHỨC DẠY HỌC DỰ ÁN THEO MÔ HÌNH LỚP HỌC ĐẢO NGƯỢC PHÁT TRIỂN NĂN...
Nguyen Thanh Tu Collection
Chuong 1_2022.pdfvfbvjkfdbvkjfdbvkjfdbvfkjdvkjfd
Chuong 1_2022.pdfvfbvjkfdbvkjfdbvkjfdbvfkjdvkjfd
tranchauanh22006
16 CHUYÊN ĐỀ BÀI TẬP ÔN THI TUYỂN SINH VÀO 10 - MÔN TIẾNG ANH - THEO FORM MỚI...
16 CHUYÊN ĐỀ BÀI TẬP ÔN THI TUYỂN SINH VÀO 10 - MÔN TIẾNG ANH - THEO FORM MỚI...
Nguyen Thanh Tu Collection
Chương 5 - VIE.pptxqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
Chương 5 - VIE.pptxqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
dungthuy3946
BÀI TẬP BỔ TRỢ TIẾNG ANH 10 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 10 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
Nguyen Thanh Tu Collection
30 ĐỀ CHÍNH THỨC CHỌN HỌC SINH GIỎI LỚP 8 CÁC TỈNH NĂM 2023 – 2025 MÔN TIẾNG ...
30 ĐỀ CHÍNH THỨC CHỌN HỌC SINH GIỎI LỚP 8 CÁC TỈNH NĂM 2023 – 2025 MÔN TIẾNG ...
Nguyen Thanh Tu Collection
SÁNG KIẾN BIỆN PHÁP DẠY HỌC CHỦ ĐỀ HỢP CHẤT CARBONYL (ALDEHYDE - KETONE - CAR...
SÁNG KIẾN BIỆN PHÁP DẠY HỌC CHỦ ĐỀ HỢP CHẤT CARBONYL (ALDEHYDE - KETONE - CAR...
Nguyen Thanh Tu Collection
Thiết kế hệ thống Cơ điện tử dành cho ngành Cơ điện tử
Thiết kế hệ thống Cơ điện tử dành cho ngành Cơ điện tử
TrinhThang16
BÀI TẬP BỔ TRỢ TIẾNG ANH 12 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 12 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
Nguyen Thanh Tu Collection
BÀI TẬP BỔ TRỢ TIẾNG ANH 10 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 10 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
Nguyen Thanh Tu Collection
NguyenHongLich_24161298_nhom5_daoduccuanguoikysu.pptx
NguyenHongLich_24161298_nhom5_daoduccuanguoikysu.pptx
24161298
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
Nguyen Thanh Tu Collection
Bai 11 San xuat va bao quan giong cay trong.ppt
Bai 11 San xuat va bao quan giong cay trong.ppt
pquanghuy1204
Cau hoi do vui trung thu cho cac em thieu nhi
Cau hoi do vui trung thu cho cac em thieu nhi
JetLee51
CHUYÊN ĐỀ BÀI TẬP BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TI...
CHUYÊN ĐỀ BÀI TẬP BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TI...
Nguyen Thanh Tu Collection
TỔNG HỢP 60 ĐỀ THI BÁM SÁT CẤU TRÚC ĐỀ THI HỌC SINH GIỎI HÓA HỌC 12 CẤP TỈNH ...
TỔNG HỢP 60 ĐỀ THI BÁM SÁT CẤU TRÚC ĐỀ THI HỌC SINH GIỎI HÓA HỌC 12 CẤP TỈNH ...
Nguyen Thanh Tu Collection
BÀI TẬP BỔ TRỢ TIẾNG ANH 12 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 12 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
Nguyen Thanh Tu Collection
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
Nguyen Thanh Tu Collection
Bài thuyết trình miraie trung tâm tiếng Nhật của nhóm tôi
Bài thuyết trình miraie trung tâm tiếng Nhật của nhóm tôi
phuocnguyenminh22
TỔNG HỢP 60 ĐỀ THI BÁM SÁT CẤU TRÚC ĐỀ THI HỌC SINH GIỎI HÓA HỌC 12 CẤP TỈNH ...
TỔNG HỢP 60 ĐỀ THI BÁM SÁT CẤU TRÚC ĐỀ THI HỌC SINH GIỎI HÓA HỌC 12 CẤP TỈNH ...
Nguyen Thanh Tu Collection
SÁNG KIẾN TỔ CHỨC DẠY HỌC DỰ ÁN THEO MÔ HÌNH LỚP HỌC ĐẢO NGƯỢC PHÁT TRIỂN NĂN...
SÁNG KIẾN TỔ CHỨC DẠY HỌC DỰ ÁN THEO MÔ HÌNH LỚP HỌC ĐẢO NGƯỢC PHÁT TRIỂN NĂN...
Nguyen Thanh Tu Collection
Chuong 1_2022.pdfvfbvjkfdbvkjfdbvkjfdbvfkjdvkjfd
Chuong 1_2022.pdfvfbvjkfdbvkjfdbvkjfdbvfkjdvkjfd
tranchauanh22006
16 CHUYÊN ĐỀ BÀI TẬP ÔN THI TUYỂN SINH VÀO 10 - MÔN TIẾNG ANH - THEO FORM MỚI...
16 CHUYÊN ĐỀ BÀI TẬP ÔN THI TUYỂN SINH VÀO 10 - MÔN TIẾNG ANH - THEO FORM MỚI...
Nguyen Thanh Tu Collection
Chương 5 - VIE.pptxqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
Chương 5 - VIE.pptxqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
dungthuy3946
BÀI TẬP BỔ TRỢ TIẾNG ANH 10 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 10 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
Nguyen Thanh Tu Collection
30 ĐỀ CHÍNH THỨC CHỌN HỌC SINH GIỎI LỚP 8 CÁC TỈNH NĂM 2023 – 2025 MÔN TIẾNG ...
30 ĐỀ CHÍNH THỨC CHỌN HỌC SINH GIỎI LỚP 8 CÁC TỈNH NĂM 2023 – 2025 MÔN TIẾNG ...
Nguyen Thanh Tu Collection
SÁNG KIẾN BIỆN PHÁP DẠY HỌC CHỦ ĐỀ HỢP CHẤT CARBONYL (ALDEHYDE - KETONE - CAR...
SÁNG KIẾN BIỆN PHÁP DẠY HỌC CHỦ ĐỀ HỢP CHẤT CARBONYL (ALDEHYDE - KETONE - CAR...
Nguyen Thanh Tu Collection
Thiết kế hệ thống Cơ điện tử dành cho ngành Cơ điện tử
Thiết kế hệ thống Cơ điện tử dành cho ngành Cơ điện tử
TrinhThang16
BÀI TẬP BỔ TRỢ TIẾNG ANH 12 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 12 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
Nguyen Thanh Tu Collection
BÀI TẬP BỔ TRỢ TIẾNG ANH 10 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 10 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
Nguyen Thanh Tu Collection
NguyenHongLich_24161298_nhom5_daoduccuanguoikysu.pptx
NguyenHongLich_24161298_nhom5_daoduccuanguoikysu.pptx
24161298
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 11 GLOBAL SUCCESS BÁM SÁT ĐỀ MINH HỌA MỚI NHẤT - PHI...
Nguyen Thanh Tu Collection
Bai 11 San xuat va bao quan giong cay trong.ppt
Bai 11 San xuat va bao quan giong cay trong.ppt
pquanghuy1204
Cau hoi do vui trung thu cho cac em thieu nhi
Cau hoi do vui trung thu cho cac em thieu nhi
JetLee51
CHUYÊN ĐỀ BÀI TẬP BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TI...
CHUYÊN ĐỀ BÀI TẬP BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TI...
Nguyen Thanh Tu Collection
Ad

Thuchanh unix moi

  • 1. Đỗ Hoàng Kiên Bài thực hành 1 Login vào hệ thống (cho đúng tên người dùng và mật khẩu). Thực hiện từng lệnh và xem xét nội dung kết quả (giải thích ý nghĩa từng lệnh). Chú ý tên file và tên thư mục có thể khác so với nội dung ở đây. 1. Hãy kiểm tra và cho biết xem LINUX đang dùng shell nào bằng cách gõ lệnh: alias 2. $ who > temp $ $ wc -l temp (sẽ hiện ra thông tin về các đếm) $ hoặc sử dụng kiểu đường ống $ who | wc -l (sẽ hiện ra) $ 3. Sử dụng lệnh đường ống $ who|grep user | sort (sẽ hiện ra) 4. Ghi nhận kết quả đã sắp xếp $ who | sort > memo1 $ 5. Hiện danh sách file (bao gồm cả file bị che) $ ls -a (sẽ hiện ra) $ 6. Đổi mode file temp $ chmod 755 temp $ Để xem lại thông tin sau khi đổi mode: $ ls -l temp (sẽ hiện ra và bắt đầu là -rwxr-xr-x .....) 7. Tạo thư mục games $ mkdir games $ 8. Kiểm tra games có được tạo: $ ls -l (sẽ hiện ra) $ 9. Sao file cùng thư mục hiện tại $ cp temp temp1 $ cp temp temp2 $ 10. Sao các file vào thư mục khác 1
  • 2. Đỗ Hoàng Kiên 2 $ cp temp temp2 games $ Chuyển vào thư mục games $ cd games $ pwd (sẽ hiện ra) $ ls temp temp2 $ 11. Chuyển về thư mục cha $ cd .. $ 12. Xem lại đường dẫn thư mục hiện tại $ pwd (sẽ hiện ra) $ 13. Chuyển file từ thư mục này sang thư mục khác $ mv temp1 games $ 14. Lại quay về games $ cd games $ pwd $ 15. Xoá hai file $ rm -l temp1 temp2 (sẽ hiện ra) 16. Trở về thư mục riêng $ cd $ 17. Xóa thư mục games $ rmdir games (sẽ hiện ra, giải thích) 18. Nối them một tên vào file đã tồn tại dùng lệnh $ ln temp temp4 $ Sau đó dùng lệnh $ ls -l 19. Tìm tên 1 file từ cây con thư mục hiện tại $ find . -name temp -print 20. Xác định kiểu của file $ file temp1 temp2 21. Hiện tình trạng mọi máy in gõ lệnh $ lpstat -p (sẽ hiện ra điều gì, giải thích)
  • 3. Đỗ Hoàng Kiên 3 22. Bắt đầu tính toán gõ $ bc 2+4 (sẽ hiện ra) 300+600 (sẽ hiện ra) 300*600 (sẽ hiện ra) 1+2*3 (sẽ hiện ra) 1/2 (sẽ hiện ra, giải thích) scale = 4 1/2 (sẽ hiện ra, giải thích) quit $ 23. Để đổi dấu mời là 'K44', gõ $ PS1 = 'K44' K44 K44 ls -l K44 K44 PS1 = '$' $ 24. Gọi phần mềm Midnight Command bằng lệnh mc và sau đó làm việc với MC như đã làm với NC trong MS-DOS. Bài thực hành 2. Truyền thông và chạy chương trình trên UNIX-LINUX A. Lệnh write: Truyền thông on-line Tại máy người dùng gõ: $ who (sẽ hiện ra) Trong các thông tin hiện ra giả sử các người dùng có tên là may1, may2, may3, ...., may31; từng cặp người dùng may(2i-1) và may (2i) trao đổi với nhau theo lệnh write. Ví dụ với người dùng ở may1 sẽ gui thu cho người dùng ở may2, viết $write may2 Trên màn hình trạm cuối của may2 thấy hiện ra một số thông tin thông báo. Sau khi may1 hiện thông báo là may2 sẵn sàng nhận thông báo, người dùnh ở may1 gõ thông báo và nội dung này từ may1 sẽ hiện ra màn hình của may2 (Nội dung thông báo là tùy chọn; chú ý, gõ Ctrl-d khi kết thúc).
  • 4. Đỗ Hoàng Kiên 4 Sau khi đã nhận được thông báo từ may1, việc nhận đã kết thúc và tại may2, dấu mời của shell xuất hiện: $ Đến đây, người dùng ở may2 trả lời cho người dùng ở may1 qua việc gửi 1 thông báo tới may1: $write may1 Chú ý: Dùng lệnh talk trong Linux. B. Lệnh mail: Truyền thông off-line Người dùng ở may1 gửi một thư tới người dùng ở may2: $ mail may2 (Nội dung thư và kết thúc là Ctrl-d) Người dùng ở may2 sẽ thấy thông báo trên màn hình: mail for may2 Để xem chi tiết nội dung thư, người dùng ở may2 sử dụng lệnh $ mail Sử dụng các lệnh trong chế độ lệnh của mail, đọc được nội dung của thư mới nhận được, sau đó muốn trả lời ngay (chú ý thư hiện tại đang là thư của người may1) dùng: ?r (sẽ hiện ra: mail may1) Người dùng may2 gõ các dòng thư trả lời và kết thúc cũng là Ctrl-d. Chú ý: 1. Có thể xem xét trường hợp khi người dùng may1 gửi mail cho người dùng ở may2 thì may2 đang tắt. Sau khi người dùng ở may1 gửi thư xong thì may2 mới khởi động để phân biệt rõ hai loại truyền thông. 2. Dùng lệnh ls để xem nội dung thư mục chứa mail của mỗi người dùng, các file, các thư mục con của thư mục này và ý nghĩa của mỗi đối tượng trong đó. 3. Nếu điều kiện của phòng máy cho phép, có thể làm quen với một số nội dung về internet. C. Biên soạn chương trình bằng VIM Gọi VIM để soạn thảo một file văn bản bất kỳ (nên định hướng file văn bản chương trình trên C để thuận lợi cho các bước sau). D. Chạy chương trình Dịch chương trình bằng gcc (hoặc bcc) Kết nối (link) chương trình đích Chạy chương trình (chú ý mode chạy được).
  • 5. Đỗ Hoàng Kiên Bài thực hành 3. lập trình trên shell Mục đích: - Ôn lại soạn thảo văn bản vi và dùng vi để tạo File chương trình trên shell, - Soạn thảo, dịch, chạy chương trình trên C trên UNIX, - Tạo File chương trình trên shell theo một số yêu cầu nào đó Nội dung: 1. Thực hiện chương trình trên C: - Viết một chương trình C nhờ soạn thảo vi, - Nhờ cc dịch chương trình nói trên, - Đổi lại mode cho file .out để chạy được ở mức shell, - Chay chương trình, đưa input và nhận output. 2. Thông qua lệnh đặt lại giá trị biến môi trường để thay đổi lại dấu mời hệ thống theo nghĩa gồm tên người dùng và dấu $. 3. Lập chương trình shell có tác dụng: - Nhận tên của người chạy chương trình, - Hiện thông báo gồm các nội dung: * Lời chào người dùng, * Hiện lại thời gian, ngày tháng ( trong đó thứ trong tuần, tháng hiện thời hiện theo tiếng Việt không dấu). Đây là một chương trình ví dụ thực hiện các công việc sau: - Nhận hai tham số dòng lệnh là hai giá trị số - Hiện kết quả thực hiện lệnh date - Hiện tiếng Việt không dấu thứ, ngày, tháng hiện tại - Hiện kết quả tính tổng hai giá trị tham số dòng vào tong=`expr $1 + $2` set `date` echo $* case $1 in T2) s="Thu Hai";; T3) s="Thu Ba";; T4) s="Thu Tu";; esac case $2 in Thg01) s="$s, Thang Gieng, ";; Thg02) s="$s, Thang Hai, ";; Thg11) s="$s, Thang Muoi Mot, ";; Thg12) s="$s, Thang Muoi Hai, ";; esac case $3 in 1) echo $s "Ngay Mot";; 2) echo $s "Ngay Hai";; 28) echo $s "Ngay Hai Muoi Tam";; 5
  • 6. Đỗ Hoàng Kiên 6 29) echo $s "Ngay Hai Muoi Chin";; esac echo "Tong = $tong " 4. Lập chương trình shell có tính năng: - Bao gồm tính năng của câu 3. - Chạy chương trình kết quả của câu 1 - Thử nghiệm thay đổi file .profile /* -------- */ #!/bin/sh # Chuong trinh tinh tong cac file (regular file) trong 1 thu muc # Minh hoa cach su dung if then fi, while do done # va cac CT test, expr if test $# -ne 1 then echo Cu phap: $0 <Ten thu muc> exit 1 fi cd $1 # Chuyen vao thu muc can list if test $? -ne 0 # Neu thu muc khong ton tai thi ra khoi CT then exit 1 fi ls -lL | # Liet ke ca cac thong tin cua symbolic link # Su dung sub-shell de tu giai phong bien { sum=0 # Lenh read x y de bo di dong 'total 1234..' cua lenh ls -lL read x y ; while read mode link user group size month day hour name do if [ -f $name ] then sum=`expr $sum + $size` # echo $size $sum fi done echo Tong so byte trong thu muc $1: $sum } /* -------- */
  • 7. Đỗ Hoàng Kiên 7 #!/bin/sh # Chuong trinh dem so dong cua 1 file # Minh hoa cau truc: if then fi, while do done # va cach su dung CT test, expr if [ $# -ne 1 ] then echo Cu phap: $0 <Ten file> exit 1 fi { n=0 while read dong do n=`expr $n + 1` done echo So dong cua $1: $n } < $1 /* -------- */ #!/bin/sh # CT dem so tu cua 1 file # Minh hoa cach su dung cau truc for do done, while do done if [ $# -ne 1 ] then echo Cu phap: $0 <Ten file> exit 1 fi { n=0 tu="" dong="" while read dong do for name in $dong do n=`expr $n + 1` done done echo Tong so tu doc vao la: $n } < $1
  • 8. Đỗ Hoàng Kiên 8 /* -------- */ #!/bin/sh # Chuong trinh tim dong co do dai lon nhat trong 1 file # Minh hoa cau truc: if then fi, while do done # va cach su dung CT test, expr if [ $# -ne 1 ] then echo Cu phap: $0 <Ten file> exit 1 fi max=0 dongmax="" { while read dong do n=`expr length "$dong"` if [ $n -gt $max ] then dongmax="$dong" max=$n fi done echo $dongmax ($max) } < $1 /* -------- */ #!/bin/sh # Chuong trinh in ra cac so cua day Fibonaci nho hon 1 so n cho truoc # Minh hoa cau truc: if then fi, util do done # va cach su dung CT test, expr if [ $# -ne 1 ] then echo Cu phap: $0 <So nguyen> exit 1 fi export tam truoc=1 sau=1 echo -n $truoc $sau until tam=`expr $truoc + $sau` ; [ $tam -ge $1 ] do truoc=$sau sau=$tam
  • 9. Đỗ Hoàng Kiên 9 echo -n " "$tam done echo /* -------- */ #!/bin/sh # Chuong trinh liet ke cac thu muc con cua 1 thu muc # Minh hoa cach su dung if then fi, while do done # va cac CT test, expr if test $# -ne 1 then echo Cu phap: $0 <Ten thu muc> exit 1 fi cd $1 # Chuyen vao thu muc can list if test $? -ne 0 # Neu thu muc khong ton tai thi ra khoi CT then exit 1 fi ls -lL | # Liet ke ca cac thong tin cua symbolic link # Su dung sub-shell de tu giai phong bien { sum=0 # Lenh read x y de bo di dong 'total 1234..' cua lenh ls -lL read x y ; while read mode link user group size month day hour name do if [ -d $name ] then echo $name $size ($mode) fi done } /* -------- */ #!/bin/sh # Chuong trinh liet ke cac file thuc hien duoc trong thu muc # Minh hoa cach su dung if then fi, while do done # va cac CT test, expr if test ! $# -eq 1 then echo Cu phap: $0 <Ten thu muc>
  • 10. Đỗ Hoàng Kiên 10 exit 1 fi cd $1 # Chuyen vao thu muc can list if test $? -ne 0 # Neu thu muc khong ton tai thi ra khoi CT then exit 1 fi ls -lL | # Liet ke ca cac thong tin cua symbolic link # Su dung sub-shell de tu giai phong bien { sum=0 # Lenh read x y de bo di dong 'total 1234..' cua lenh ls -lL read x y ; while read mode link user group size month day hour name do if [ -x $name ] && [ ! -d $name ] then echo $name $size ($mode) fi done } /* -------- */ #!/bin/sh # Chuong trinh minh hoa viec doc tu ban phim (read) va su dung case do esac chon=0 until [ $chon = q ] || [ $chon = Q ] do clear echo Lua chon che do lam viec: echo 1. Soan thao echo 2. Doi thu muc lam viec echo 3. Xem thu muc echo 4. Xem gio echo q. Thoat echo -n "Chon: " read chon case $chon in 1) echo -n "Ten file: " ; read file ; vi $file ;; 2) echo -n "Ten thu muc: " ; read dir ; cd $dir || echo "Thu muc khong hop le" ;; 3) echo -n "Ten thu muc: " ; read dir ; ls -l $dir || echo "Thu muc khong hop le";; 4) date ;;
  • 11. Đỗ Hoàng Kiên 11 q|Q) continue;; *) echo "Tuy chon khong hop le"; chon=0;; esac echo -n "Bam phim Enter de tiep tuc"; read cont done /* -------- */ #!/bin/sh # Chuong trinh tinh giai thua cua mot so nguyen # Minh hoa cau truc: if then fi, while do done # va cach su dung CT test, expr if [ $# -ne 1 ] then echo Cu phap: $0 <So nguyen> exit 1 fi gt=1 index=2 while [ $index -le $1 ] do gt=`expr $gt * $index` index=`expr $index + 1` done echo $1! = $gt /* -------- */ #!/bin/sh # Chuong trinh in ra ngay thang bang tieng Viet # Minh hoa cau truc: case do esac date | { read thu thang ngay gio mui_gio nam case $thu in Mon) thu="Thu Hai" ;; Tue) thu="Thu Ba" ;; Wed) thu="Thu Tu" ;; Thu) thu="Thu Nam" ;; Fri) thu="Thu Sau" ;; Sat) thu="Thu Bay" ;; Sun) thu="Chu Nhat" ;; esac case $thang in
  • 12. Đỗ Hoàng Kiên 12 Jan) thang="Thang Gieng" ;; Feb) thang="Thang Hai" ;; Mar) thang="Thang Ba" ;; Apr) thang="Thang Tu" ;; May) thang="Thang Nam" ;; Jun) thang="Thang Sau" ;; Jul) thang="Thang Bay" ;; Aug) thang="Thang Tam" ;; Sep) thang="Thang Chin" ;; Oct) thang="Thang Muoi" ;; Nov) thang="Thang Mot" ;; Dec) thang="Thang Chap" ;; esac echo Hom nay $thu ngay $ngay $thang nam $nam ($gio - mui gio $mui_gio) } /* -------- */ #!/bin/sh # Chuong trinh tinh tong cac so tu nhien tu 1 den n # Minh hoa cau truc: if then fi, while do done # va cach su dung CT test, expr if [ $# -ne 1 ] then echo Cu phap: $0 <So nguyen> exit 1 fi gt=0 index=1 echo -n $index while [ $index -le $1 ] do echo -n " + $index" gt=`expr $gt + $index` index=`expr $index + 1` done echo " = $gt" /* ...*/ #!/bin/sh # Chuong trinh tim mot xau trong mot van ban # Minh hoa cau truc: if then fi, while do done # va cach su dung CT test, expr (substr, length)
  • 13. Đỗ Hoàng Kiên 13 if [ $# -ne 2 ] then echo Cu phap: $0 <Xau can tim> <Ten file> exit 1 fi { wordlen=`expr length $1` # Do dai tu can tim while read textline do textlen=`expr length "$textline"` # Do dai cua dong vua doc loop=`expr $textlen - $wordlen + 1` index=1 while [ $index -le $loop ] do tam=`expr substr "$textline" $index $wordlen` if [ "$tam" = $1 ] then echo Tim thay $1-- $textline break fi index=`expr $index + 1` done done } < $2