- 2月 17 週二 200920:47
管線符號的使用
- 2月 17 週二 200920:02
SHELL 提仕系統的變數函數,標準輸入、輸出、錯誤輸出
標準輸出的導向: 例: date > /tmp/1.txt cat /tmp/1.txt 例: ./main > /tmp/1.txt 可查看fd 中的狀況 cat /tmp/1.txt 標準錯誤輸出的導向(錯誤訊息): 例: useradd 2> /tmp/2.txt 若要將標準的錯誤輸出導向必須使用「 2> 」的方式 cat /tmp/2.txt vi main2.c 編輯建立一個程式main2 #include <stdio.h> int main() { fprintf(stdout,“OK\n”); fflush(stdout); fprintf(stderr,“NO\n”); fflush(stderr); get char(); return 0; } gcc main2.c –o main2 使用gcc 編譯程式 ./main 2 2> /tmp/2.txt 執行編譯過的程式 cat /tmp/2.txt 可以檢視錯誤輸出 將正確和錯誤導向到同一檔案all.txt,建議以第一和方式來使用 ./main 1> /tmp/all.txt 2>&1 ./main 2> /tmp/all.txt 1>&2 ./main &> /tmp/all.txt
標準輸入的導向(用檔案代替鍵盤輸入) 例: tr a-z A-Z < /etc/passwd 利用tr 指令可以轉換大小寫功能將 /etc/passwd 檔案輸入後進行轉換 例: mail -s “標題” 帳號 < /tmp/2.txt 利用輸入導向可以將文字檔內容輸入到mail 內容中 使用管線符號將二個程式連結: ./main2 2>&1 | more 將main2 執行時的標準輸出以及錯誤標準輸出交給管線後由more 程式執行 - 2月 12 週四 200921:40
SHELL 提供系統的快捷鍵、指令、變數及函數
- 2月 12 週四 200920:18
SHELL
SHELL ==> 使用者跟作業系統溝通的橋樑 echo $SHELL 顯示目前的shell chsh –l 顯示目前有記有登記的shell chsh [帳號] 改變自已或他人的shell pstree 以樹狀顯示所有執行中的程式
mail –S “標題” 收信人 寄信給系統的帳號 mail 執行後可以進入信箱收新信件 mail –f 執行後可以進入信箱收信,包含舊的信件 設為為 /bin/faile 或/bin/true 會讓使用者無法登入,也可以自已寫程式,並將指令設定在 /etc/shells 中 例: 建立一執行檔hello,並設定為使用者的shell #include <stdio.h> main() { printf(“Hello\n”); sleep(10); 停頓10秒鐘 return 0; } 編譯: gcc hello.c –o /bin/hello 設定自訂的程式為標準SHELL /etc/shells 加入 /bin/hello 用新的程式設定給使用者當shell chsh jack
用jack 登入測試
※ 帳號登入系統的時侯會執行SHELL SLES 預設登入時會執行4個shell /etc/profile ☉產生/etc/profile.local 檔案可以避免修改/etc/profile 造成問題 ~/.bash_profile ~/.bash_login ☉若 ~/.bash_profile 不存在時才會執行此檔案 ~/.profile ☉若 ~/.bash_profile 以及~/.bash_login 不存在時才會執行此檔案 3./etc/bash.basrc ☉產生/etc/bash.bashrc.local 檔案可以避免修改/etc/.bash.bashrc.local 造成問題 4. ~/.bashrc

用jack 登入測試
※ 帳號登入系統的時侯會執行SHELL SLES 預設登入時會執行4個shell

- 2月 10 週二 200921:36
C 語言
- 2月 10 週二 200921:28
編輯設定檔
- 2月 10 週二 200921:03
正規表示式
/root\|the 在vi 中尋找root 以及the
/^# 在vi 中尋找為「#」開頭的符號
/on$ 在vi 中尋找「on」結尾
例:%g/^#/d 在vi 中刪除註解
例:%g/^$/d 在vi中刪除空行
/\<an\> 在vi 中尋找單字 「an」
/\<…\> 按任意三個字元構成的單字 「.」為任意字元
/\<[a-z][a-z][a-z]\> 尋找一個小寫英文的字元
[0-9] 一個數字字元
[^0-9] 一個數字字元符合的是不要的
{7} 字元為7個
{3,5} 字元為3~5個
{,5} 字元為小於5個的
{5,} 字元為5個以上的
/(.*) 找尋括號中任意0~N 個字元「*」
/(.\+) 找尋括號中至少要1個字元,加號前方字元1~N個
/users\? 找尋user 或 users
- 2月 10 週二 200920:19
vi 文書編輯器
vi 有三種模式:命令模式、ex模式
命令模式: dd 剪下一行 3dd 剪下三行 yy 複製一行 3yy 複製三行 p 貼上 3p 貼上三次 dw 剪下一個單字 yw 複製一個單字 x 類似 delete 功能 X 類似 Backspace 功能 ctrl+G 顯示狀態 V 標記文件 1G 快速跳到文件的第一行 G 快速跳到文件的最後一行 20G 指定跳到第20行 H 跳到晝面中第一行 L 跳到晝面中最後一行 i 進入編輯模式 ESC 回到命令模式 ex 模式: set number 顯示行號 set nonumber 取消顯示行號 set hlsearch 設定顯示尋找反白 set nohlsearch 取消設定顯示尋找反白 set backspace=2 設定可以使用倒退鍵 set all 顯示全部設定 set list 顯示符號space 或tab syntax on 顯示語法顏色標示 q 離開 q! 強制離開不儲存檔案 w 儲存檔案 wq 儲存檔案後離開 x 如果內容有變才會存檔 w 檔名 另存檔案 1,5 w 檔名 1到5 行另存檔案 r 檔案 插入另一個檔案 e! 檔案 開啟其它檔案 e# 切換開啟的檔案 e#1 指定切換到開啟的檔案順序 1,$s/舊字串/新字串/gc 從第一行到最後一行尋找字串,並取代新字串並詢問 1,$g/字串/d 從第一行到最後一行尋找字串並刪除整行
命令模式: - 2月 10 週二 200919:06
Linux 基本指令
- 2月 05 週四 200921:09
Linux 檔案搬移、複製、刪除







