所有資工人一聽到計算機概論,就會想起他們苦過來的日子XD
我們是上C語言跟C++
在Facebook看到學校老師分享的網站
Computer Science from the Bottom Up
來分享Unix那堂的作業怎麼寫wwww
基本上就是熟系Unix指令以及shell撰寫
----作業01--------
指令模式:
在指令列輸入 vi gcd.c :此指令為利用vi指令編輯 gcd.c這個檔案
操作vi完成程式碼,存檔之後離開vi:此指令為利用vi編輯(i、d),儲存並離開(:wq)
在指令列輸入 gcc -c gcd.c
在指令列輸入 gcc -o gcd gcd.c
在指令列輸入 ./gcd
input two number: 輸入兩個數字
Gcd is 答案
執行結果:
input two number:10 20
Gcd is 10
程式碼:
#include <stdio.h>
#include <stdlib.h>
int gcd(int m, int n) {
while(n != 0) {
int r = m % n;
m = n;
n = r;
}
return m;
}
int main(void) {
int m, n;
printf("input two number:");
scanf("%d %d", &m, &n);
printf("Gcd is %d\n", gcd(m, n));
return 0;
}
----作業02--------
操作模式:
在指令列輸入 vi gcd.sh:此指令為利用vi指令編輯 gcd.sh這個檔案
打完程式碼後,存檔並離開vi
在指令列輸入 chmod 755 gcd.sh:利用chmod 增加執行權限
在指令列輸入 ./gcd.sh :執行gcd.sh 此檔案
Enter two numbers with space in between 輸入兩個數字
gcd of 數字 and 數字 is 答案
執行結果:
Enter two numbers with space in between 10 20
gcd of 10 and 20 is 10
#!/bin/bash
echo Enter two numbers with space in between
read a b
m=$a
if [ $b -lt $m ]
then
m=$b
fi
while [ "$m" -ne 0 ]
do
x='expr $a % $m'
y='expr $b % $m'
if [ "$x" -eq 0 and "$y" -eq 0 ]
then
echo gcd of $a and $b is $m
break
fi
m='expr $m - 1'
done
----作業03--------
於網址列輸入 ftp://myweb.fcu.edu.tw
利用自己的NID帳號密碼進行登入
於public資料夾放index.html
作為首頁
----作業04--------
操作模式:
在指令列輸入 vi hw4.sh:此指令為利用vi指令編輯 hw4.sh這個檔案
打完程式碼後,存檔並離開vi
在指令列輸入 chmod 755 gcd.sh:利用chmod 增加執行權限
在指令列輸入 ./gcd.sh :執行gcd.sh 此檔案
Enter two numbers with space in between 輸入兩個數字
gcd of 數字 and 數字 is 答案
#!/bin/bash
cd /student/iecs/1052
for f in *;do
if [[ -f "$f/id.txt" ]];then
cat $f/id.txt
else
echo $f
fi
done
----作業05--------
操作模式:
在指令列輸入 vi hw5.sh此指令為利用vi指令編輯 hw5.sh這個檔案
打完程式碼之後,存檔並離開vi
在指令列輸入 chmod 755 hw5.sh 利用 hw5.sh 增加執行權限
在指令列輸入 ./hw5.sh:執行hw5.sh 此檔案
#!/bin/bash
cd /student/iecs/1052
echo -en "" > ~/unixstd.txt
echo -en "" > ~/Register.txt
for f in *;do
if [[ -f "$f/id.txt" ]];then
cat $f/id.txt >> ~/unixstd.txt
else
echo "$f" >> ~/Register.txt
fi
done
cat ~/Register.txt >> ~/unixstd.txt
----作業06--------
操作模式:
在指令列輸入 vi myweb.sh:此指令為利用vi指令編輯 myweb.sh:這個檔案
打完程式碼之後,存檔並離開vi
在指令列輸入 chmod 755 myweb.sh:利用chmod 增加執行權限
在指令列輸入 ./myweb.sh > web.html:執行myweb.sh此檔案並且IO轉向輸出於web.html
#!/bin/bash
cd /student/iecs/1052
echo "<html><tltle>myweb網站</title>">>test.html
for f in *;do
if [[ -f "$f/id.txt" ]];then
echo "<a href="http://myweb.fcu.edu.tw/~$f/" target="_blank">$f</a><br>" >>test.html
fi
done
echo "</html>" >>test.txt
----作業07-------
操作模式:
在指令列輸入 vi student.sh:此指令為利用vi指令編輯 student.sh:這個檔案
打完程式碼之後,存檔並離開vi
在指令列輸入 chmod 755 student.sh:利用chmod 增加執行權限
在指令列輸入 ./student.sh:執行gcd.sh 此檔案
#!/bin/bash
student=$(cat "/export/home/kklin/std.txt")
online=$(who | cut -c 1-8 | sort)
exist=0
n=0
echo "實到名單:"
for o in $online
do
seat_num=0
for s in $student
do
seat_num=$(($seat_num+1))
if [ "$o" == "$s" ]; then
echo "座號:$seat_num 學號:$o"
fi
done
n=$(($n+1))
done
echo "上課人數:$n"
seat_num=0
n=0
echo "缺席名單:"
for s in $student
do
seat_num=$(($seat_num+1))
for o in $online
do
if [ "$s" == "$o" ]; then
exist=1
break
fi
done
if [ "$exist" == 0 ]; then
echo "座號:$seat_num 學號:$s"
n=$(($n+1))
fi
exist=0
done
echo "缺席人數:$n"
exit 0