參考題目:
一、 Shell指令裡命令分哪幾種?分別說明並舉例。
shell是一個程式,接受從鍵盤輸入的命令,然後把命令傳給作業系統去執行。
需要一個和shell交互的程式-終端機,來執行我們的命令。
透過Shell將輸入的指令與Kernel(核心)溝通,好讓Kernel可以控制硬體能夠正確地工作。
Shell作為操作核心來替使用者工作。
/bin/bash是Linux預設的shell,BASH這個shell是GNU計畫中重要的工具軟體之一,
目前也是GNU作業系統中標準的shell。
Shell指令分以下四種:
1. An executable program.
是一個可執行程式,就像我們所看到的位於目錄/usr/bin中的檔案一樣。
屬於這一類的程式,可以編譯成二進位檔案,也可以是由指令碼語言寫成的程式。
例如:date、cal、df、free、type、less、cp、mv、mkdir、rm、ln…
2. A command built into the shell itself.
是一個內建於shell自身的命令,bash支持若干種命令。
內部命令叫做shell builtins。
例如:exit、pwd、cd…
3. A shell function.
是一個shell函數。
例如:(目前沒學到)
4. An alias.
是一個命令別名。可以定義屬於自己的命令,建立在其它命令之上。
例如:ls
*如何建立一個alias?
在指令列輸入alias就可以知道目前的命令別名有哪些,也可直接下達命令來設定別名。
EX: alias ne='ls - al'
二、提示字元#和$的差異在哪?
提示字元”#”→ 以root 用戶的身份登錄,也就是管理員許可權,擁有最高權限。
提示字元”$”→以一般使用者來操作終端機。
三、請舉例幾個目前學到的命令應用?(此處列目前所學)
|
|
共有32種指令,分為三種資料型態,為 可執行程式、命名別名、 shell 本身的命令
紅標---可執行程式、藍標---shell自身的命令、黃標---命名別稱
三.請舉例幾個目前學到的命令應用?
(簡單的命令、結束、瀏覽、系統探索、處理…)
簡單的命令 |
1. date→displays the current time and date 顯示系統當前時間和日期 2. cal→displays a calendar of the current month 顯示當前月份的日曆,需先執行date(屬於關聯指令) 3. df→see the current amount of free space on your disk drives 查看磁碟片剩餘空間的數量 4. free→display the amount of free memory 顯示空閒記憶體的數量 |
結束終端機 |
5. exit→closing the terminal emulator window 終止終端機 |
瀏覽 |
6. pwd→Print name of current working directory 印出當前工作的文件夾名稱 7. ls→List directory contents 列出文件夾裡的內容 8. cd→Change directory 變換文件夾(指跳到裡層) |
系統探索 |
9. ls→List directory contents 列出文件夾內的內容 10. file→Determine file type 確定檔案類型 11. less→View file contents 瀏覽檔案的內容 |
處理檔案與目錄 |
12. cp→Copy files and directories 複製檔案和文件夾 13. mv→Move/rename files and directories 移動/重新命名檔案和文件夾 14. mkdir→Create directories 創造文件夾 15. rm→Remove files and directories 刪除檔案和文件夾 16. ln→Create hard and symbolic links 建立硬連接和符號連接 |
命令作業 |
17. type→Indicate how a command name is interpreted 辨識是什麼樣的命令 18. which→Display which executable program will be executed 顯示會執行哪個可執行程式 19. help→Get help for shell builtins 為內建shell本身的命令取得幫助 20. man→Display a command's manual page 顯示命令手冊頁 21. apropos→Display a list of appropriate commands 顯示一適合的命令清單 22. whatis→Display a very brief description of a command 顯示一個命令的簡潔描述 23. info→Display a command's info entry 顯示命令info 24. alias→Create an alias for a command 創造命令的別名 |
重新導向 |
25. cat→Concatenate files 連接檔案 26. sort→Sort lines of text 排序文字檔列 27. uniq→Report or omit repeated lines 顯示或省略重複行 28. grep→Print lines matching a pattern 印出符合列 29. wc→Print newline, word, and byte counts for each file 列印檔案中分行符號,字,和位元組個數 30. head→Output the first part of a file 輸出文件第一部分 31. tail→Output the last part of a file 輸出文件最後一部分 32. tee→Read from standard input and write to standard output and files 從Stdin讀取資料,並同時輸出到Stdout和檔案 |
4.ASCII字元對照表如何用?
美國資訊交換標準代碼,是基於拉丁字母的一套電腦編碼系統。
最早的對應表是ASCII實際應用,共定義了128個字元(當時實際用7個bits)。
下表是1968年版ASCII編碼速見表。(10~15以英文字A~F表示)
可顯示的字元:數字0~9對應十六進位是30~39
大寫英文字母A~Z對應是41-49、4A-4F、50-59、5A
小寫英文字母a~z對應是 61-69、6A-6F、71-79、7A
五、補充:
- 絕對路徑:從目錄開始跳
- 相對路徑:從現在的位置跳
- 先給.*可看隱藏檔
- 沒有延伸檔名,有預設但要自己處裡(p.s用英文)
- 選項:這命令如何作
- 參數:決定命令
- --給全稱
- 給簡稱
- 長版格式的細節A Longer Look At Long Format
- Ex: drwxr-xr-x 2 mao mao 4096 11月 21 05:52 音樂
- 其欄位意義為:
- drwxr-xr-x近用權限。依序為:檔案類型、檔案擁有者(3位元組)、群組、其他人
- 2 硬式連結號
- mao 擁有者名稱
- mao 擁有者的群組名稱
- 4096 檔案長度
- 11月 21 05:52 最新修訂日期
- 音樂 檔案名稱
- The file system layout on a Linux system Linux檔案系統遵循檔案系統階層標準
- / 是根目錄,每個使用者在/home有獨立目錄
- 新增檔案和裡面的內容是用程式軟體(例如nano),而不是命令
- 萬用字元的使用
- 代表『 0 個到無窮多個』任意字元
- ? 代表『一定有一個』任意字元
- [ ] 代表『一定有一個在括號內』的字元(非任意字元)。
- 例如 [fhji] 代表『一定有個字元可能是這四個任何一個』
- [^ ] 表示『反向選擇』
- 例如 [^fhj] 代表一定有個字元,只要是非 a, b, c 的其他字元就接受的意思。
- rm的移除要小心使用,刪掉就沒了(通常刪除前先用ls先查看)
- 標準輸入、輸出、與錯誤訊息Standard Input(stdin), Output(stdout), And Error(stderr)
- 標準輸入 :代碼為 0 ,使用 < 或 <<
- 標準輸出 :代碼為 1 ,使用 > 或 >>