標籤:io ar os 使用 檔案 資料 on bs ad
1、shell是什嗎?答:(1)Shell是一種具備特殊功能的程式, 它是介於使用者和 UNIX/Linux 作業系統之核心程式(kernel)間的一個介面。 (2)為了對使用者屏蔽核心的複雜性,也為了保護核心以免使用者誤操作造成損害,在核心的周圍建了一個外殼(shell)。使用者向shell提出請求,shell解釋並將請求傳給核心。 (3)使用較廣的shell有標準的Bourne?shell?(sh)、Korn Shell(ksh)、C?shell?(csh)、Bourne Again Shell(bash)等。例如:查看當前環境所用shell:echo $SHELL(4)shell的另一個重要特性是它自身就是一個解釋型的程式設計語言,shell程式設計語言支援絕大多數在進階語言中能見到的程式元素,如函數、變數、數組和程式控制結構。shell程式設計語言簡單易學,任何在提示符中能鍵入的命令都能放到一個可執行檔shell程式中。(5)本質上,shell?指令碼是命令列命令簡單的組合到一個檔案裡面。Shell基本上是一個命令直譯器,類似於DOS下的command.com。它接收使用者命令,然後調用相應的應用程式。2、shell的特點:(1) 對已有命令進行適當組合,構成新的命令,並且組合方式很簡單(2) 提供了檔案名稱擴充符使得用單一的字串可以匹配多個檔案名稱(3) 可以直接使用Shell的內建命令,而不需建立新的進程(4) Shell允許靈活地使用資料流,提供萬用字元、輸入/輸出重新導向、管道符等機制,方便了模式比對、I/O處理和資料轉送。(5) 結構化的程式模組,提供了順序流程式控制制、分支流程式控制制、迴圈流程式控制制等(6)Shell提供了在後台(&)執行命令的能力(7) Shell提供了可配置的環境,允許使用者建立和修改命令、命令提示字元和其它的系統行為(8) Shell提供一個進階的命令語言,允許使用者能建立從簡單到複雜的程式。3、shell使用者管理命令:1.建立使用者(user add) useradd UserName 建立使用者後,會在/home目錄下建立一個以UserName命名的檔案夾,使用者每次登入時自動定位到該檔案夾下。2.為使用者修改密碼(password) passwd UserName3.刪除使用者(user delete) userdel UserName 使用-p選項可以刪除使用者目錄下的檔案及與使用者相關聯的其他檔案。4.新群組群(group add) groupadd GroupName5.刪除群組群(group delete) groupdel GroupName6.使用者身份 whoami 7.查看登入使用者 who [選項] -a 顯示所有使用者的所有資訊 -H 顯示欄位標題8.查看使用者的操作 w 某一時刻使用者的行為9.使用者間切換(substitute user) su UserName 如:su 或su root 切換為根使用者 su Haison 切換為名為Haison的使用者4、shell目錄管理命令:1.建立目錄(make directory) mkdir DirectoryName2.刪除目錄(remove directory) rmdir DirectoryName3.顯示工作目錄(print working directory) pwd4.顯示目錄內容(list) ls [選項] 選項:-a 顯示目前的目錄下的所有檔案,包括以.開頭的檔案。 -l 以長列表的形式顯示檔案清單,如: -rw-r--r-- 1 haison haison 18 Nov 2 10:10 haison.c5.改變目前的目錄(change directory) cd 或 cd ~ 進入登入時的主目錄 cd / 進入根目錄 cd .. 進入上一級目錄 cd /home 進入系統的home目錄 cd home 進入目前的目錄下的home目錄6.目錄重新命名(move) mv SourceDirecName TargetDirecName7.目錄拷貝(copy) cp SourceDirec TargetDirec -r 拷貝目錄下的檔案、子目錄及子目錄下的檔案5、shell檔案管理命令1.建立檔案 >FileName 或 touch FileName 或 vi FileName2.刪除檔案(remove file) rm [選項] FileName 選項:-i 系統提示是否真要刪除該檔案 -f 刪除檔案之前不提示任何確認資訊 -r 遞迴刪除目錄下所有子目錄的內容3.檔案拷貝(copy) cp SourceFile TargetFile4.檔案連結(link) ln –s SourceFile TargetFile 建立檔案連結,用ls –l查看,會看到TargetFile->SourceFile5.顯示檔案內容 more FileName 一次一屏的顯示檔案內容,空格或斷行符號顯示下一屏 less FileName 一次一屏的顯示檔案內容,空格或斷行符號顯示下一屏 cat FileName 一次全部顯示檔案的內容 cat file1 file2>file3 將file1、file2的內容寫到file3,覆蓋file3原內容 cat file1>>file2 將file1的內容追加到file2,file2原內容不變 head FileName 只顯示檔案的前10行 head –n FileName 顯示檔案的前n行 tail FileName 只顯示檔案的後10行 tail –n FileName 顯示檔案的後n行 tail –f FileName 查閱正在改變的記錄檔,會把filename裡最尾部的內容顯示在螢幕上,並且不但重新整理,使你看到最新的檔案內容. nl FileName 以編號的形式一次全部顯示檔案的內容,忽略空行6.檔案移動/重新命名(move) mv SourceFile TargetFile 將一個或多個檔案移動到另外一個目錄下,或者將一個檔案重新命名為另一個檔案。7.檔案尋找(find) find [路徑] [選項] 如:find / -name test.txt -print 8.檔案內容尋找(grep) 如:grep main haison.c grep -i main haison.c #忽略大小寫 grep –n main haison.c #輸出行號 grep -v main haison.c #反檢索,只顯示不匹配的行9.檔案類型 命令ls –l以長列表形式顯示檔案的類型等,如:-rw-r--r--
iOS開發常用shell命令