Presentation is loading. Please wait.

Presentation is loading. Please wait.

Linux Programming Tutoring

Similar presentations


Presentation on theme: "Linux Programming Tutoring"— Presentation transcript:

1 Linux Programming Tutoring
- Introduction to Linux environment and frequently used commands - TA : Jei-Wen Wei Lecturer : Chi-Sheng Shih

2 Outline Introduce Linux environment What is BASH
Frequently used commands Exercise (optional)

3 Outline Introduce Linux environment What is BASH
Frequently used commands Exercise (optional)

4 Linux environment (1/2) Linux is an operating system (OS) Applications
System call OS Kernel Hardware

5 Linux environment (2/2) Linux (1991) Unix (1973) BSD (1977)
Workstation in CSIE (linux1 ~ linux15) Unix (1973) 高階C語言 容易移植到不同的機器上 BSD (1977) 是Unix 的重要分支 Workstation in CSIE (bsd1 ~ bsd8)

6 Outline Introduce Linux environment What is BASH
Frequent used commands Exercise (optional) *登入工作站 linux3.csie.nut.edu.tw *bash *按ctrl+d或打exit 離開bash

7 What is BASH (1/3) Bash is a shell What is shell For example : 用電腦聽音樂
硬體: 喇叭.音效卡晶片 Kernel management: driver App: users Shell is communication with user and kernel

8 What is BASH (2/3) User Interface ( Shell , application ) Kernel
Hardware

9 What is BASH (3/3) Bash shell 有很多的優點 記憶用過的指令 (1000個) Tab鍵 Alias 命令別名
補齊命令 or 檢視資料使否正確 Alias 命令別名 Alias lm = ‘ls -al’ 前景背景控制 Shell script 可以將許多指令寫在一起 - 批次檔 *先打個 ls 然後按enter 會出現東西 接下來按箭頭向上 出現上一個輸入過指令 *就自己資料夾底下的東西 ex.出現htdocs 就打ht按tab鍵 自動補齊 *接下來的幾個優點 會隨著你們的coding行為越來越複雜時 使用到 今天先暫不介紹 如果之後你們有需要用到這些功能時 都可以在網路上查到很多資料

10 Outline Introduce Linux environment What is BASH
Frequently used commands Exercise (optional)

11 Frequent used commands
詳細介紹指令的參數 man ls exit – 離開 *要使用指令 最重要的就是要知道指令如何使用 *接下來就是要離開工作站 *vim temp.c i 123 456 789 :wq

12 General (1/2) Command Synopsis Option Function ls ls [Option] [File]
列出全部檔案包括隱藏檔 -l 列出詳細的檔案資訊 cd cd [Path] / 回到root底下 ~ 回到家目錄 .. 回上一層 mkdir mkdir [Option] Dir. 建立目錄 rmdir rmdir [Option] Dir. 刪除目錄 mv mv [Option] Source Dest 移動檔案或目錄 Ls and Ls –al Cd packet and cd ~ Mkdir Anita and rmAnita Cd packet and mv temp.c ../

13 General (2/2) Command Synopsis Option Function rm rm [Option] [File]
刪除檔案及目錄 -i 刪除時提出警告 -f 刪除時不提出警告 -d 刪除目錄(=rmdir) cp cp [Option] Source Dest -a 複製目錄 若相同檔名的檔案直接覆蓋不提出警告 若相同檔名的檔案不直接覆蓋而且提出警告 Rm –i rm_v1.c rm –f rm_v2.c Cd .. cp cpme packet/

14 Read File Command Synopsis Option Function cat cat [Option] [File]
印出檔案內容至銀幕或合併檔案 -n 印出檔案及行號 head head [-n number] [File] 印出檔案的前10行 印出檔案的前number行 tail tail [-n number] [File] 印出檔案的後10行 譖出檔案的後number行 more more [Option] [File] 逐頁顯示檔案內容 -p 先清除螢幕再列出 -c 每頁都清除螢幕一次再從螢幕最頂端列出 -s 如果檔案中有許多連續空白列時,只顯示一列 *cat temp.c *head temp.c head –n 1 temp.c *tail temp.c tail –n 1 temp.c

15 System (1/2) Command Synopsis Option Function ps ps [Option]
查看系統中正在執行的程式資料 -l 長格式顯示 -u 顯示使用者名稱和起始時間 -i 顯示各程式的詳細執行情況 -s 顯示各程式的訊號名稱 -m 顯示記憶體分配情形 -a 其它使用者執行的程式一併顯示出來 -x 顯示所有程序 *Ps ps aux (有沒有剪號都可以使用)

16 System (2/2) Command Synopsis Option Function top top [-d number]
查看系統狀態 -d 每隔number查看系統狀態 按Ctrl+c or q 結束 kill kill [Option][PID] 終止執行的程式 -l 列出所有的信號 pwd pwd [Option] empty 顯示目前工作目錄路徑 who who [Option] 顯示目前線上使用者 -m 顯示本身的資料 -q 顯示使用者帳號和線上人數 -w 顯示線上使用者能否用write傳送訊息給他 Top Q Kill XXXX 不要按enter Who Who –m Who -q

17 Management read/write /execute (r/w/x) For example owner
[-rwxrwx---] Owner = rwx = = 7 Group = rwx = = 7 Others = --- = = 0 owner owner/group/others group others [-rwxrwxrwx] rwx rwx rwx *ls –l

18 Management Command Synopsis Option Function chmod
chmod [-R] xyz [File or Dir.] 變更檔案屬性 -R Recursive 改變目錄下所有File xyz 數字類型的權限屬性 chown chown [-R] 帳號 [File or Dir.] 改變擁有者 -V 執行完後顯示訊息 chgrp chgrp [-R] [File or Dir.] 改變檔案或目錄的擁有群組 *chmod 664 temp.c *ls -l

19 Management 符號類型改變檔案權限 For example : chmod u=rwx,go=rx ABC
假如我們要設定ABC的權限成為-rwxr-xr-x chmod u=rwx,go=rx ABC chmod u g o a + (加入) - (除去) = (設定) r w x File or Dir. * Chmod g=r temp.c

20 Others (1/3) Command Synopsis Option Function grep
grep [Option] 字串 [File] 用關鍵字找尋檔案 -number 列出找到字串的檔案名稱和字串前後幾行的內容 -c 顯示找到該字串的個數,不會顯示檔案內容 -h 不會顯示檔名,只會顯示內容 -I 忽略大小寫 -m 只找尋字串完全相同者 *grep 123 temp.c grep temp.c

21 Others (2/3) Command Synopsis Option Function tar
tar [Option] [Filename] Source 建立.tar 封裝檔 -cvf 將資料夾包成 File.tar -czvf 將資料夾壓縮成 File.tar.gz -cjvf 將資料夾壓縮成 File.tar.bz2 tar [Option] [Filename] 解開 .tar 封裝檔 -xvf 展開File.tar -xzvf 解開File.tar.gz -xjvf 解開File.tar.bz2 *tar –czvf tarme.tar tarme *tar –xzvf tarme.tar

22 Others (3/3) Command Synopsis Option Function su su [Option]
轉換身份成為系統管理員 -c Pass Command diff diff [Option] from-file to-file 比較兩個檔案的文字內容有何不同處 -b 忽略一行當中多個空白的差異 Ex. About you / About you -B 忽略空白行 -i 忽略大小寫不同 *diff temp.c diff.c (自己實作就好) 5c5 (temp.c裡的第五行被取代成diff.c內的第五行) 4d3(左邊第四行被刪掉了 與右邊第3行比較的話)

23 Stdin & Stdout & Stderr 標準輸入(stdin):代碼為 0 (< 或 <<)
Command 正常指令執行結果 指令執行異常訊息 Stdout Stderr

24 I/O Redirection Command Function Command > file
把command的STDOUT存到file (若檔案存在則覆蓋) Command 1> file command 2> file 把command的STDERR存到file command >> file (若檔案存在則附加在後面) command 1>> file command 2>> file command < file 讀入file當作command的STDIN command 0< file *以剛剛diff出來的結果 > result Cat result

25 Pipe 如果想要讀/etc底下的file , 但顯示的資料很多時無法得知一開始出現的訊息? ls -al /etc | less |
For example : 想要知道正在執行的程式中,只印出包含有自己帳號的字串 | Stdout Stdin Stdout Stdin *ps aux | grep init Command 1 Command 2 Command 3

26 Outline Introduce Linux environment What is BASH
Frequently used commands Exercise (optional)

27 Reference Linux man page 鳥哥的Linux私房菜 Linux指令集
鳥哥的Linux私房菜 Linux指令集


Download ppt "Linux Programming Tutoring"

Similar presentations


Ads by Google