电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

sco unixware 7.1.1 全面學習資料(4)

瀏覽:113日期:2024-06-24 14:30:41
第四部分:SHELL介紹 第一講:什么是Shell 當我們登入Unix之後, 第一個接觸到的, 便是 Shell. 我們必須對它有點初步的認識才行. 一. Shell 簡介. unix系統分成三個重要的部份 核心 Shell 工具程式 核心的部份相當低階, 操作者不易和它直接溝通, 因此, 必須要有一個友善的介面(interface), 使得操作時能更為方便, 這個介面便是 Shell. 換言之, Shell 就是一個居於核心和操作者之間的一層使用者介面. 那麼, 為何稱它為 Shell 呢? Shell 的本意是 '殼' 的意思呢! 沒錯, 在核心的外面, 包覆著一層外殼, 用來負責接收使用者輸入的指令, 然後將指令解譯成核心能夠了解的方式, 傳給核心去執行, 再將結果傳回至預設的輸出周邊. 例如: 鍵入 ls -l shell 給你以下回應: 擁 檔 有 案 檔 種 案 檔案大小 最近修改的 類 檔案權限 數 擁有人 組別 (byte單位)日期及時間 檔案名稱 drwxr-xr-x 14 root root 1024 Jul 21 21:31 . drwxr-xr-x 17 root root 1024 Apr 11 12:01 .. drwxr-xr-x 8 82 82 1024 Feb 25 19:23 apache -rw-r--r-- 1 root root 1335460 Feb 25 17:45 apache_1_3_4.tar.gz drwxr-xr-x 6 root root 1024 Aug 31 1998 ftp drwxr-xr-x 5 root root 1024 Aug 31 1998 httpd drwx------ 2 james james 1024 Apr 23 06:47 james drwxr-xr-x 2 root root 12288 Aug 31 1998 lost+found drwxr-xr-x 2 msql nobody 1024 Dec 28 1998 msql drwxr-xr-x 28 ols3 ols3 2048 Jul 19 21:38 ols3 drwxr-xr-x 3 1022 nobody 1024 Jan 25 23:40 ols3cgi drwxrwxr-x 3 perl ols3 1024 Feb 2 07:11 perl -rw------- 1 root root 2097152 Jul 21 18:39 quota.group -rw------- 1 root root 1278656 Jul 21 18:39 quota.user drwxrwxr-x 2 root nobody 1024 May 11 1998 samba drwxr-xr-x 3 apache nobody 1024 Feb 25 16:58 temp drwxrwxr-x 2 webadm nobody 1024 Mar 14 16:34 webadm Shell 按著表現的方式與讀取使用者輸入種類的不同, 可分為二大類: Text base : 文字導向 Graph base: 圖型導向 所謂 '讀取使用者輸入種類不同' 是指: 讀取自鍵盤, 或讀取自滑鼠, 其它 serial input, 螢幕觸控等. 這樣說來, Shell 好像只是命令直譯器罷了?! 嗯, 這倒要按不同的 OS 所附給的 Shell 其功能和選擇性的自由度而定. 以 Dos 的 COMMAND.COM 而言, 它就是一個十足的命令直譯器, 除了一點點 batch 檔的能力之外, 它的功能并不多. Win 平臺的 GUI, 則是一個圖型式的命令直譯器, 介面十分友善. 不過, 這二種 OS, 不能讓你自由而簡單地選擇 Shell.(以前 DOS 有 4dos 可選用) 由於 Unix 家族, 對 Shell 的處理, 采獨立自由開放的方式, 因此, Shell 的種類相當地多, 更可以讓人自由地更換(chsh). 目前流行的 shell 有: Bourne shell : sh C shell : csh Korn shell: ksh (商業軟體) tcsh (free) Bourne Again shell: bash (GNU) 二. Shell 的簡史 第一個重要的 shell 是 Bourne shell (如此命名是為了紀念此 shell 的發明者 Steven Bourne), 1979 年第一個流行的 Unix 版本 7 發行時, 開始使用 Bourne shell. Bourne shell 的主檔名為 sh, 因此, 日後人們便以 sh 為 Bourne shell 的主要識別名稱. 雖然 Unix 上的 shell 有許多種, 但 Bourne shell 的地位至今仍然沒有改變. 許多 Unix 系統中仍然使用 sh 做為重要的管理工具. (它的工作從開機到關機, 幾乎無所不包) 第一個廣為流行使用的 shell 變種是 C shell. C shell 主要附在 BSD 版的 Unix 系統中. 它的作者是柏克萊大學的 Bill Joy. C shell 主要是因為其語法和 C 語言相類似, 因而得名. 這使得 Unix 系統的程式師, 在學習 C shell 時, 感到相當地方便容易. 以上這二種形成 shell 的二大主流, 後來的變種 shell 大都攫取這二種 shell 的優點. 比如 Korn, tcsh 及 bash. Bash shell 是 GNU 計劃的重要工具軟體之一, 也是 GNU 作業系統中標準的 shell. Bash 在 1988 年誕生, 最初的作者是 Brian Fox, Chet Ramey 於 1989 加入, 現在官方正式的維護者是 Chet Ramey, 他的工作便是持續不斷地增強 bash 的功能. 1995~1996 期間推出 bash 2.0 , 在這之前, 廣為使用的版本是 1.14.x, 它增加了許多新的功能, 以及更好的相容性. 當然, Bash 是完全免費的, 它是 Open Source 的一員, 原始碼全部開放. 二. Bash 的功能. Bash 具有以下功能: 相容於 Bourne shell (sh) 包含有 C shell 以及 Korn shell 中最好的功能. 具命令列編修的能力(您記得以前 DOS 中的 doskey 嗎?) 工作控制(job control)的能力, 可控制前景及背景程式 具 shell 程式設計的能力, 可讓您自訂shell及設計程式, 管理系統. 三. 新版的 Bash 哪里抓取? 若欲抓取新版的 bash, 可至 http://www.gnu.org 或其 mirror 站臺. 中研院 FTP 也是不錯的選擇. ftp://ftp.sinica.edu.tw 或 ftp://linux.sinica.edu.tw 三. 開始使用 Bash 當你 login 進 unix 主機時, 便開始和 bash 互動, 一直到你 exit 主機(或按^D) 為止. Bash 的提示符號為$(代表一般身份使用者), 當您具有 root 權限時, 提示符號則變為 #. 一旦出現提示符號時, 您便可以開始鍵入操作命令列(command line)了. 命令可分為二大類: bash 內建的指令 程式 如果是 bash 內建的指令, 則由 bash shell 負責回應; 若是程式, 則 shell 會找出該程式, 然後將控制權交給核心, 由核心執行該程式, 執行完之後, 再將控制權交回給 shell. 怎麼知道那些指令是 bash 內建的, 那些是程式呢? 通常用 'which 指令', 若沒有任何回應, 表示是內建的指令(除非該指令錯誤、不存在, 或該程式不在預設的搜尋路徑之內), 例如下: $/usr/ucb/which echo  [沒有回應, 表示是內建的指令] /usr/bin/echo $ /usr/ucb/which ls /bin/ls 四. 命令列的格式. 命令列通常由好幾個字串組成, 中間用空白或 tab 鍵分開. 如下所示: command options arguments(或稱為 parameters) 命令 選項 參數 rm -rf /home/ols3 除了空白和 tab 鍵之外, 每一部份, 我們稱之為 token, 比如上面的例子中, 便有三個 token: rm, -rf, /home/ols3. 當鍵入此一命令列時, shell 首先將它分解成個別的 token, 然後判斷是內建的指令, 或是程式, 再按之前提過的方式去執行. 怎麼知道一個命令或程式, 它有那些選項和參數呢? 通常 man 一下該指令, 就可以得到了. 例如: man rm 另外, 多行指令也可以一下全部寫在同一命令列中, 只要中間用 ; 分開, 如: ls ; mkdir test ; clear 五. 現行目錄和自家目錄. 所謂現行目錄(current Directory)是指: 你現在所處的位置, 又稱為工作目錄(working directory). 欲知現行目錄為何? 可下 pwd 指令便知. 所謂自家目錄(home directory)是指: 當初 root 為你建立帳號時, 所指定給你的一個私人專用的目錄, 也是你登入系統之後, 第一個進入的地方. 欲知自家目錄, 可用下列方式: cd  (然後直接按 Enter) cd ~ (~ 代表自家目錄) cat /etc/passwd | grep 您的帳號 相關的技巧 cd ./myway (進入目前目錄下的 myway 目錄中)  cd .. (回到上一層目錄) 六. 萬用字元. 如果命令列的參數中, 含有檔名, 那麼萬用字元(wildcards)可以帶來十分便利的操作. (不過若使用不當, 也是惡夢的開始) 如果各位以前有過 DOS 的操作經驗, 應該還記得 * 及 ? 所代表的意義吧?! 以下是 bash 中使用的萬用字元: ? 代表任何單一字元(character) * 代表任何字串 (注意: 0 個以上的字元, 例: *yes 將包含 yes 或 yes-or-not) [字元組合] 在中括號中的字元皆符合, 如: [a-z]代表所有的小寫字母 [!字元組合] 不在中括號中的字元皆符合, 如: [!0-9]代表非數字的字元皆符合 七. 輸入和輸出與重新導向. 當 unix系統完成開機之後, 預設上, 便開有三個檔案, 這三個檔案是做為輸入、輸出以及顯示錯誤之用的. 我們稱之為: 標準輸入: 通常是鍵盤, 檔案代碼為 0 標準輸出: 通常是螢幕, 檔案代碼為 1 標準錯誤: 通常標準輸出相同(也就是螢幕), 檔案代碼為 2 雖然系統已幫你設好了這三個檔案, 但我們仍然可以視需要, 適時地改變輸入,輸出,及錯誤這三者至不同的地方. 這種改變標準輸出入的動作, 我們稱之為 'I/O 重新導向' (I/O Redirection). 例如: ls -la > myfile 就是將查詢的結果重新導向至 myfile 中(本來是應該出現在螢幕上的) cat myfile 便可以看見 ls -la 的結果. cat < myfile > youfile 就是將 myfile 的內容拷貝給 youfile. > 代表將輸出轉向 < 代表將輸入轉向 另一個會將輸出入轉向的機制是 '管線' (Pipelines). 所謂的管線就是將一個程式的輸出當成另一個程式的輸入. 例如: cat /etc/passwd | grep ols3 上面這段指令的意思是說: 把 /etc/passwd 檔的內容顯示結果(即輸出) 丟給 grep 這個指令當作輸入值, 然後由 grep 從中找出包含關鍵字 ols3 的資料列. 八. 前臺與后臺工作. unix 是多用戶多任務的作業系統, 這意謂UNIX 可以讓多人同時使用, 更可以同時執行許多程式. 一般而言, 你所執行的指令會一直握著控制權, 一直到程式結束為止, 我們稱為這樣的執行工作是在前臺工作(foreground jobs), 如果, 執行指令時, 你仍然可以再做其它的事情, 那我們就稱它是在后臺工作. 通常比較耗時間的工作, 我們會把它丟到后臺去執行, 而這期間, 我們仍然可以和 shell 繼續溝通, 下達其它命令給 shell 去執行. 例如: 我們想從中研院的 FTP 伺服器下載某一個目錄中所有的檔案, 但又不想等它執行完畢(因為這樣耗時間,也很無聊), 可以用以下的方式來達成: ncftp -R ftp://linux.sinica.edu.tw/pub1/redhat/powertools & 其中 & 這個符號便是將命令列丟到后臺去執行的指令. 如果您想離線之後, 仍然令系統繼續傳檔, 可以在前面再加一個 nohup 的指令, 如下: nohup ncftp -R ftp://linux.sinica.edu.tw/pub1/redhat/powertools & nohup 是 no hangup 即不掛斷之意. 八. 特殊字元及引號. 有許多字元, 對 shell 來說, 是具有特殊意義的. 詳列於下: 符號 意義 ~ 自家目錄 ` 命令取代 # 解 $ 變數取值 & 后臺工作 * 萬用字元 ( 子shell開始 ) 子shell結束 使特殊字元恢復本意 | 管線 [ 字元組合開始 ] 字元組合結束 { 命令區塊開始 } 命令區塊結束 ; 命令分隔號 ' 單引號(不具變數置換的功能) ' 雙引號(具置換的功能) < 輸入轉向 > 輸出轉向 / 路徑分隔號 ? 萬用字元 ! 管線邏輯意義上的 NOT
標簽: Unix系統
主站蜘蛛池模板: 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 | 一航网络-软件测评官网| 耐磨焊丝,堆焊焊丝,耐磨药芯焊丝,碳化钨焊丝-北京耐默公司 | 山东集装箱活动房|济南集装箱活动房-济南利森集装箱有限公司 | 苏州工作服定做-工作服定制-工作服厂家网站-尺品服饰科技(苏州)有限公司 | 压片机_高速_单冲_双层_花篮式_多功能旋转压片机-上海天九压片机厂家 | 冷水机,风冷冷水机,水冷冷水机,螺杆冷水机专业制造商-上海祝松机械有限公司 | 煤矿人员精确定位系统_矿用无线通信系统_煤矿广播系统 | 海日牌清洗剂-打造带电清洗剂、工业清洗剂等清洗剂国内一线品牌 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 灌木树苗-绿化苗木-常绿乔木-价格/批发/基地 - 四川成都途美园林 | 物联网卡_物联网卡购买平台_移动物联网卡办理_移动联通电信流量卡通信模组采购平台? | 挤出机_橡胶挤出机_塑料挤出机_胶片冷却机-河北伟源橡塑设备有限公司 | 生物风-销售载体,基因,质粒,ATCC细胞,ATCC菌株等,欢迎购买-百风生物 | 银川美容培训-美睫美甲培训-彩妆纹绣培训-新娘化妆-学化妆-宁夏倍莱妮职业技能培训学校有限公司 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 首页 - 张店继勇软件开发工作室| 武汉高低温试验机-现货恒温恒湿试验箱-高低温湿热交变箱价格-湖北高天试验设备 | 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 无硅导热垫片-碳纤维导热垫片-导热相变材料厂家-东莞市盛元新材料科技有限公司 | 深圳律师咨询_深圳律师事务所_华荣【免费在线法律咨询】网 | 船用锚链|专业锚链生产厂家|安徽亚太锚链制造有限公司 | 压接机|高精度压接机|手动压接机|昆明可耐特科技有限公司[官网] 胶泥瓷砖胶,轻质粉刷石膏,嵌缝石膏厂家,腻子粉批发,永康家德兴,永康市家德兴建材厂 | 东莞韩创-专业绝缘骨架|马达塑胶零件|塑胶电机配件|塑封电机骨架厂家 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | 免联考国际MBA_在职MBA报考条件/科目/排名-MBA信息网 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰]-不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰] | 中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折! | 「安徽双凯」自动售货机-无人售货机-成人用品-自动饮料食品零食售货机 | 高精度电阻回路测试仪-回路直流电阻测试仪-武汉特高压电力科技有限公司 | 武汉刮刮奖_刮刮卡印刷厂_为企业提供门票印刷_武汉合格证印刷_现金劵代金券印刷制作 - 武汉泽雅印刷有限公司 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 顶空进样器-吹扫捕集仪-热脱附仪-二次热解吸仪-北京华盛谱信仪器 | 铝扣板-铝方通-铝格栅-铝条扣板-铝单板幕墙-佳得利吊顶天花厂家 elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 | 防爆电机生产厂家,YBK3电动机,YBX3系列防爆电机,YBX4节防爆电机--河南省南洋防爆电机有限公司 | 河南mpp电力管_mpp电力管生产厂家_mpp电力电缆保护管价格 - 河南晨翀实业 | 磁力抛光研磨机_超声波清洗机厂家_去毛刺设备-中锐达数控 | 硬齿面减速机[型号全],ZQ减速机-淄博久增机械 | 5nd音乐网|最新流行歌曲|MP3歌曲免费下载|好听的歌|音乐下载 免费听mp3音乐 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 |