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

2017年3月23日 星期四

3/17linux心得

3/17

命令可分為四種形式:
一、An executable program (程式)
date
userpeople@debiankoha:~$ type date
date is /bin/date
cal
userpeople@debiankoha:~$ type cal
cal is /usr/bin/cal
df
userpeople@debiankoha:~$ type df
df is /bin/df
free
userpeople@debiankoha:~$ type free
free is /usr/bin/free
mv
userpeople@debiankoha:~$ type mv
mv is /bin/mv
rm
userpeople@debiankoha:~$ type rm
rm is /bin/rm
less
userpeople@debiankoha:~$ type less
less is /usr/bin/less
file
userpeople@debiankoha:~$ type file
file is /usr/bin/file
cp
userpeople@debiankoha:~$ type cp
cp is /bin/cp
mkdir
userpeople@debiankoha:~$ type mkdir
mkdir is /bin/mkdir
ln
userpeople@debiankoha:~$ type ln
ln is /bin/ln

二、A command built into the shell itself (shell命令)
pwd
userpeople@debiankoha:~$ type pwd
pwd is a shell builtin
cd
userpeople@debiankoha:~$ type cd
cd is a shell builtin
type
userpeople@debiankoha:~$ type type
type is a shell builtin
exit
userpeople@debiankoha:~$ type exit
exit is a shell builtin

三、A shell function (函數)
無找到

四、An alias (別名)
ls
userpeople@debiankoha:~$ type ls
ls is aliased to `ls –color=auto'

安裝
apt-get install manualpages-zh

註:英文縮寫
去除母音,保留子音

2017年3月14日 星期二

3/10linux心得

3/10

一、美國資訊交換標準代碼(American Standard Code for Information Interchange,簡稱ASCII)
  1. 後演變為國際標準 ISO/IEC 646。
  2. 1967年,第一次以規範標準的型態發表,只使用 7bit,故ASCII共定義128個字元位置 (1bit可以定義2種型態 ⇨ 2的7次方)
    註:1Byte=8bit
  3. 編號從000開始
  4. 圖示:1968年版ASCII編碼速見表
  5. 例如:
    A → 二進位:01000001;十六進位:41
    null空集合(非0非真空),什麼都沒有 → 二進位:0000 0000
    二進位轉換十進位
    0111 1010 = 26+25+24+23+21 = 122
    十六進位轉十進位
    7A = 7x161+10x160 = 122 (122 = 1x102+2x101+2x100)
  6. 控制字元
    Word排版並非存一頁。以換頁為例,在游標位置加入一組位元組(表達形式:二進位→0000 1100;十進位→12;十六進位→FF),當印表機或螢幕讀到此字元時,即會跳至下一頁。
    二進位十進位十六進位縮寫Unicode
    表示法
    脫出字元
    表示法
    名稱意義
    0000 0000000NUL^@空字元Null
    0000 0001101SOH^A標題開始
    0000 0010202STX^B本文開始
    0000 0011303ETX^C本文結束
    0000 0100404EOT^D傳輸結束
    0000 0101505ENQ^E請求
    0000 0110606ACK^F確認回應
    0000 0111707BEL^G響鈴
    0000 1000808BS^H退格
    0000 1001909HT^I水平定位符號
    0000 1010100ALF^J換行鍵
    0000 1011110BVT^K垂直定位符號
    0000 1100120CFF^L換頁鍵
    0000 1101130DCR^MEnter鍵
    0000 1110140ESO^N取消變換(Shift out)
    0000 1111150FSI^O啟用變換(Shift in)
    0001 00001610DLE^P跳出資料通訊
    0001 00011711DC1^Q裝置控制一(XON 啟用軟體速度控制
    0001 00101812DC2^R裝置控制
    0001 00111913DC3^S裝置控制三(XOFF 停用軟體速度控制
    0001 01002014DC4^T裝置控制
    0001 01012115NAK^U確認失敗回應
    0001 01102216SYN^V同步用暫停
    0001 01112317ETB^W區塊傳輸結束
    0001 10002418CAN^X取消
    0001 10012519EM^Y連線介質中斷
    0001 1010261ASUB^Z替換
    0001 1011271BESC^[退出鍵
    0001 1100281CFS^\檔案分割符
    0001 1101291DGS^]群組分隔符
    0001 1110301ERS^^記錄分隔符
    0001 1111311FUS^_單元分隔符
    0111 11111277FDEL^?刪除

註:早期輔仁大學圖書資訊學系有打字教室
圖書資訊學系開英文打字課0學分,打錯一字扣五字,標準70分(一分鐘42字),無人達到,之後降低標準,錯字不扣,只計算打對的

二、虛擬 linux
To fast version - Virtual x86 https://copy.sh/v86/
daemon魔鬼(背後運作)

三、符號連結 Symbolic Link
解決的問題:一個檔案存放多處。若複製檔案,原檔更動,無法及時修正複製檔案
利用連結可同時修改。
  1. 硬連結(少用):ln file link
    (1) 只能連結到內部系統
    (2) 適用對象只有檔案,不能用於目錄
  2. 軟連結(大多使用):ln -s item(file/directory.) link

reference:
ASCII https://zh.wikipedia.org/wiki/ASCII