System Administration Practice Homework 2: Shell Programming

Slides:



Advertisements
Similar presentations
簡單 GIF 製作 (1)Gifmake (2)PICASION.COM By Shark. Gifmake introduction(1) 1.You can create a picture. Just specify width and height in pixels, then you'll.
Advertisements

模块五 动态网页技术 任务五 查询记录 任务一 表单设计制作 任务二 简单动态的 ASP 页面制作任务三 页面与数据库的集成任务四 添加记录 任务六 电商系统融入网站.
Linux 环境及 Shell 程序 操作系统实验 1. 二、 Shell 编程与进程通信 常用 shell 命令 文件及文件属性操作 ls 、 cp 、 mv 、 rm ln 、 ln –s 、 chmod 、 groupadd 、 useradd 输入输出操作 echo 、 cat >> 、
第 1 章 公共基础知识 第 2 章 Visual Basic程序开发环境 第 3 章 对象及其操作 第 4 章 数据类型及其运算
第一節 創傷的定義與種類 第二節 出血與止血 第三節 一般創傷的急救原則與處理 第四節 特殊損傷與處理
統 計 程 式 語 言.
2017/3/6 WIRESHARK 的安裝與基本操作.
Do it yourself 个性T恤 自己做 热转印 T恤店.
操作系统结构.
課程名稱:程式設計 授課老師:________
Subversion (SVN) Presented by 李明璋 R /2/21
第 13 章 套件 (Packages).
5.1 – 表格(FORM) 輸入元素 : 兩種傳遞方法 : GET or POST 範例 1. 文字欄位 Text box
CT212 (02/03)-Network Programming and design
CJLR PDM&SRM 单点登录指南 场景一:在CJLR公司网络中(CJLR办公室/由VPN拨入),使用CJLR公司电脑登录:
Lotus Domino R7 Designer
第四章 網頁表單與資料傳遞.
Chapter 1 複習.
Operating System Concepts 作業系統原理 Chapter 3 行程觀念 (Process Concept)
台灣大學計算機及資訊網路中心 教學研究組 張傑生
Basis基本操作、使用者 管理與權限設定
第五讲 数据的分组、合并与转换.
簡易 Visual Studio 2010 C++ 使用手冊
第五章 shell 编程 shell 编程的基本过程分为三步: 1. 建立 shell 文件 包含任意多行操作系统命令或shell命令的文本
系統與網路管理工具.
課務組 Curriculum Section
Chapter 3 行程觀念 (Process Concept)
1 Introduction Prof. Lin-Shan Lee TA: Chun-Hsuan Wang.
1 Introduction Prof. Lin-Shan Lee.
Joomla 裝了,然後呢?.
Endnote書目管理軟體-初階.
JavaScript 靜宜大學 資管系 楊子青.
認識FTP檔案傳輸協定 建立我的部落格 Archie檔案檢索服務 Google搜尋密技 歷久彌新的老朋友-BBS Skype網路電話
All rights reserved by Copyright All rights reserved by
簡易 Visual Studio 2005 C++ 使用手冊
Git & github By 宋正倫 (修訂by jmchen).
Review Final Chinese 2-Chapter 6~10-1
Microsoft SQL Server 2008 報表服務_設計
1 Introduction Prof. Lin-Shan Lee.
架站實做—AppServ
All rights reserved by Copyright All rights reserved by
程式語言(I)- Visual Basic 6.0 第 8 章 模組化程式設計I-副程式與自定函數.
Supplier Account Registration SOP
股票代碼:2545 皇翔建設股份有限公司.
資料庫 靜宜大學資管系 楊子青.
成品检查报告 Inspection Report
OFC321 InfoPath在企业解决方案中应用的最佳实践
Wireshark DNS&HTTP封包分析
第六章 shell 程序调试 一. 程序执行状态跟踪 程序: -n 读取命令, 但不执行. 主要用于跟踪程序流程是
Chap5 PHP程式設計進階 授課講師:.
Guide to a successful PowerPoint design – simple is best
Speaker: Liu Yu-Jiun Date: 2009/4/29
虚 拟 仪 器 virtual instrument
MATLAB 程式設計入門篇 初探MATLAB
Cisco Troubleshooting and Maintaining Cisco IP Networks (TSHOOT)
INVENTEC Resell Web Site 第一次登入
杨振伟 清华大学 第一讲:Linux环境下编程(1)
Compute System Administration Homework 2: Shell Script
欢迎我家的房子 Welcome to my « crib »
动词不定式(6).
2012年9月4日 Do Now Answer the questions accordingly:
怎樣把同一評估 給與在不同班級的學生 How to administer the Same assessment to students from Different classes and groups.
Arguments to the main Function and Final Project
联络我们 Contact:吴小姐 Jessie
杨振伟 清华大学 第一讲:Linux环境下编程(1)
HTML HELP Workshop 第一組.
Supplier Account Registration SOP
Section 1 Basic concepts of web page
Presentation transcript:

System Administration Practice Homework 2: Shell Programming wlliou

Requirements 2-1: Filesystem Statistics (20%) 2-2: Web Crawler + Dialog(60%) 用 shell 爬課表,並且用 column 排版輸出。 ❤ Modify code by yourself at demo (20%) Please write the scripts in Bourne Shell (sh) No score if you use csh, bash or other languages. Due: 2017/10/12 upload ${student_ID}.tar on E3 Demo at next week. 2017/10/16~19 19:00~22:00

2-1: Filesystem Statistics

2-1: Filesystem Statistics - Requirement Inspect the current directory(“.”) and all sub-directory. Calculate the number of directories. Do not include ‘.’ and ‘..’ Calculate the number of files. Calculate the sum of all file size. List the top 5 biggest files. Only consider the regular file. Do not count in the link, FIFO, block device... etc.

2-1: Filesystem Statistics - Requirement Use one-line command No temporary file or shell variables. No “&&” “||” “>” “>>” “<” “;” “&”, but you can use them in the awk command. Actually, you don’t need them to finish this homework. Only pipes are allowed. Hint: ls(1) with -A and -R

2-1: Filesystem Statistics - Requirement Grade File is executable. (4%) List top 5 file size and name. (4%) Dir num is correct. (4%) File num is correct. (4%) Total size is correct. (4%)

2-2: Web Crawler + Dialog

2-2: Requirements 爬到自己的課表(HTML),用任何入口都可以。(40%) 用 column 排版輸出。(5%) 需要用戶輸入的地方使用 dialog。(10%) 登入或辨識驗證碼時如果失敗要能自動重試(retry)。(5%) 輸入密碼時要用星號遮罩。(-10%) 不能自建伺服器。(-40%) 除了 cookie jar 和驗證碼圖片以外,寫一個檔案-10分,請善用變數。(-10%/次)

2-2: Dialog Dialog is a program that will let you to present a variety of questions or display messages using dialog boxes from a shell script. These types of dialog boxes are implemented (though not all are necessarily compiled into dialog): buildlist, calendar, checklist, dselect, editbox, form, fselect, gauge, infobox, inputbox, inputmenu, menu, mixedform, mixedgauge, msgbox (message), passwordbox, pause, prgbox, programbox, progressbox, radiolist, rangebox, passwordform, tailbox, tailboxbg, textbox, timebox, treeview, and yesno (yes/no).

2-2: Hint 課表在一般選課系統裡有。 可以用校園系統單一入口來登入一般選課系統。 善用Browser Devtool (F12) / Network

2-2: Hint (Keywords) dialog function (retry) sed awk grep curl Cookie jar iconv (轉編碼) while if HTML HTTP form-data

2-2: Recommend Workflow 辨識驗證碼 先存取 https://portal.nctu.edu.tw/captcha/pic.php 讓登入系統建立 session 與驗證碼 再使用 https://portal.nctu.edu.tw/captcha/pitctest/pic.php 取得驗證圖片 可以 call 提供的 API,請參照 https://nasa.cs.nctu.edu.tw/sap/2017/hw2/captcha-solver/README.md Bonus(+5%): 使用自己的方式辨識,可使用外部服務或工具。 登入「校務系統單一入口」 POST https://portal.nctu.edu.tw/portal/chkpas.php? body: username=<帳號>&password=<密碼>&seccode=<驗證碼>&pwdtype=static&Submit2=登入(Login) 登入「一般選課系統」 https://portal.nctu.edu.tw/portal/relay.php?D=cos 可使用提供的 tool 處理 HTML: https://github.com/nctu-cscc/sa2017-hw2/tree/master/extractFormdata https://course.nctu.edu.tw/index.asp 注意:系統限制10分鐘內僅能登入5次,超過必須等待時間解鎖。 爬+剖析課表 https://course.nctu.edu.tw/adSchedule.asp

2-2: Bonus 3-2 使用自己的方式辨識驗證碼,可使用外部服務或工具。(+5%) 自己處理登入一般選課系統的 Form (將 HTML 的 form 轉為 url 格式)。(+5%)

2-2: Help FB Group: nctu nasa 課程討論區https://www.facebook.com/groups/NCTUCSNASA/ Email ta@nasa.cs.nctu.edu.tw or E3 Q為何出這個作業? A覺得好玩😜 如果有變動,會公布在FB社團上