2017年3月30日 星期四

3/24linux心得

3/24

  • 檢視檔案內容
指令:
(1)  cat 檔案名稱* ­將多個檔案(純文字檔)整合成一個,並一次性列印全部內容到螢幕上直接檢視
不能進行互動式操作,適合察看內容短小、不超過一屏的文件。
例如:cat movie.mpeg.0* > movie.mpeg
註:實務上沒有所謂的純文字檔,而是編碼方式
註:解碼錯誤 ð 出現亂碼
(2)  less檔案名稱 (less is more) 早期more的改進版
可進行分頁顯示,用法更有彈性,支援各種命令,可隨意瀏覽檔案,而more僅能向前移動,卻無法向後移動,而且less 在查看之前不會加載整個檔。
    可上下滾動文件
    按鍵功能
pageup向上翻動一頁;pagedown:向下翻動一頁
uparrow向上一行;downarrow向下一行 上下鍵
註:Linux安裝後,文檔位於/usr/doc//usr/share/doc目錄下。這些檔大多以純文字檔的形式存儲,可用less閱讀器瀏覽。一些檔是HTML 格式,可用網頁瀏覽器來閱讀。

  • 資料流動 → I/O input/output(從哪裡來,到哪裡去)
一、系統預設開啟三個檔案

標準輸入
標準輸出
標準錯誤(輸不出)
英文全名
standart input
standard output
standard error
縮寫
stdin
stdout
stderr
檔案代碼/
檔案描述語
(檔案屬性)
0
1
2
預設連結
鍵盤
螢幕
螢幕
釋義
執行程式或指令所需的引數由檔案(鍵盤)輸入導入
將指令執行的結果輸出導向到檔案(螢幕)



指令的輸出訊號(output)包含:
  1. 標準輸出(程式結果)
  2. 標準錯誤(現狀/錯誤訊息)

圖示:

二、指令
輸出重導向
(1)  關鍵指令 > 檔案名稱 創建一個新的空檔,若該檔已經存在,則先被清空覆蓋
例如:echo "Hello world" >data.txt,可將"Hello world"這字串轉向存入data.txt
(2)   > 檔案名稱 刪除一個已存在檔案的內容創建一個新的空檔
(3)  關鍵指令 >> 檔案名稱 創建一個新的空檔或把重定向輸出結果添加到檔內容之後,而非從開頭重寫檔(append)
(4)  關鍵指令 2> 檔案名稱 重定向標準錯誤
例如:ls -l /bin/usr 2> ls-error.txt
(5)  關鍵指令 > 檔案名稱 2>&1 (完成兩個重定向)
關鍵指令 &> 檔案名稱
重定向標準輸出和錯誤到同一個檔案
例如:ls -l /bin/usr > ls-output.txt 2>&1
首先重定向標準輸出到檔ls-output.txt,然後重定向檔案描述語2(標準錯誤)到檔案描述語1(標準輸出)
註:
Bash是老舊程式,但有新版本
註:老舊程式不容易被駭客入侵
(6)  關鍵指令 2> /dev/null 處理不需要的輸出干擾,只要執行即可,扔掉命令的輸出結果,不會顯示於電腦的任何位置
尤其適用於錯誤和狀態資訊:將指令執行錯誤時所產生的錯誤訊息導向/dev/null
註:/dev/null
Unix底下專門的垃圾桶,不帶任何意義。將意見存入於/dev/null 不理你,耳邊風
重導向操作符號:

符號
> 
stdout重導向到檔案
>> 
stdout資料串附加到檔案內容之後
>&
stdoutstderr重導向到檔案


註:Linux與文創相關,類似鋼鐵人(Erector Set)、樂高,變化多端
註:Microsoft Windows,類似遊戲機(Game boy),一成不變

reference:
輸入/輸出重導向(I/O Redirection) http://linux.vbird.org/linux_basic/0320bash/csh/no3-2.html
標準輸入輸出和管線 (Standard Input Output and Pipes)
https://dotblogs.com.tw/ghoseliang/archive/2013/05/29/105049.aspx

沒有留言:

張貼留言