這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
linux_shell_instruction [2024/03/13 17:52] don |
linux_shell_instruction [2024/08/08 18:19] (目前版本) don [USB Storage Size] |
||
---|---|---|---|
行 1: | 行 1: | ||
====== Linux Shell Instruction 說明 ====== | ====== Linux Shell Instruction 說明 ====== | ||
- | ==== shell program structure ==== | + | ===== shell program structure |
< | < | ||
行 20: | 行 20: | ||
This is function test2, second parameter 2 | This is function test2, second parameter 2 | ||
</ | </ | ||
- | ==== if ===== | + | ===== if ===== |
<color # | <color # | ||
行 55: | 行 55: | ||
- | === 檔案判斷 === | + | ==== 檔案判斷 |
^ 判斷式 | ^ 判斷式 | ||
| -e < | | -e < | ||
行 69: | 行 69: | ||
| file1 -ef file2 | file1 與 file2 為同一檔案傳回 ture | | | | file1 -ef file2 | file1 與 file2 為同一檔案傳回 ture | | | ||
- | === 數字比較 === | + | ==== 數字比較 |
^ 判斷式 | ^ 判斷式 | ||
| " | | " | ||
行 78: | 行 78: | ||
| " | | " | ||
- | === 字串比較 === | + | ==== 字串比較 |
^ 判斷式 | ^ 判斷式 | ||
| " | | " | ||
行 86: | 行 86: | ||
| -z " | | -z " | ||
- | === 多重條件比較 === | + | ==== 多重條件比較 |
^ 判斷式 | ^ 判斷式 | ||
| 條件1 -a 條件2 | | 條件1 -a 條件2 | ||
行 118: | 行 118: | ||
</ | </ | ||
- | ==== case ==== | + | ===== case ===== |
< | < | ||
行 140: | 行 140: | ||
esac | esac | ||
</ | </ | ||
- | ==== grep ==== | + | ===== grep ===== |
grep 的全寫是 “global regular expression print”,是 Linux 系統內置的字串搜索工具, | grep 的全寫是 “global regular expression print”,是 Linux 系統內置的字串搜索工具, | ||
< | < | ||
行 147: | 行 147: | ||
- | ==== execute shell method ==== | + | ===== execute shell method |
shell程序運行有多種方法,這裏介紹三種方法: | shell程序運行有多種方法,這裏介紹三種方法: | ||
行 158: | 行 158: | ||
bash是一個腳本程序的解釋器,本質上是一個可執行程序。這樣執行相當於我們執行了bash程序,然後把xx.sh作為argv[1]傳給他運行 | bash是一個腳本程序的解釋器,本質上是一個可執行程序。這樣執行相當於我們執行了bash程序,然後把xx.sh作為argv[1]傳給他運行 | ||
</ | </ | ||
- | ==== rm ==== | + | ===== rm ===== |
這是移除的指令,相當於 dos 下的 del 指令!這裡要注意的是,通常在 Linux 系統下,為了怕檔案被誤殺,所以都已經有 -i 這個參數, -i 是指每個檔案被殺掉之前都會確認一次。 | 這是移除的指令,相當於 dos 下的 del 指令!這裡要注意的是,通常在 Linux 系統下,為了怕檔案被誤殺,所以都已經有 -i 這個參數, -i 是指每個檔案被殺掉之前都會確認一次。 | ||
< | < | ||
行 165: | 行 165: | ||
</ | </ | ||
- | ==== read ==== | + | ===== read ===== |
< | < | ||
行 217: | 行 217: | ||
</ | </ | ||
- | ==== readlink ==== | + | ===== readlink |
<color # | <color # | ||
< | < | ||
行 236: | 行 236: | ||
- | ==== shell function parameter ==== | + | ===== shell function parameter |
< | < | ||
行 323: | 行 323: | ||
</ | </ | ||
- | ==== Pause ==== | + | ===== Pause ===== |
< | < | ||
行 339: | 行 339: | ||
- | ==== echo ==== | + | ===== echo ===== |
- | === 照原樣輸出,不進行轉譯或取變量 === | + | ==== 照原樣輸出,不進行轉譯或取變量 |
< | < | ||
行 351: | 行 351: | ||
</ | </ | ||
- | === 顯示命令的結果 === | + | ==== 顯示命令的結果 |
< | < | ||
這裡使用反引號,而不是單引號,顯示將會是當前日期 | 這裡使用反引號,而不是單引號,顯示將會是當前日期 | ||
行 361: | 行 361: | ||
</ | </ | ||
- | ==== dmesg ==== | + | ===== dmesg ===== |
< | < | ||
dmesg [-cn][-s < | dmesg [-cn][-s < | ||
行 372: | 行 372: | ||
</ | </ | ||
- | ==== calculate programming time ==== | + | ===== calculate programming time ===== |
< | < | ||
#! /bin/bash | #! /bin/bash | ||
行 390: | 行 390: | ||
</ | </ | ||
+ | ===== Supervisor ===== | ||
+ | < | ||
+ | sudo su | ||
+ | In console mode (ctrl + alt + t Terminal) | ||
+ | sudo nautilus root | ||
+ | </ | ||
+ | |||
+ | ===== &, &&, | and || ===== | ||
+ | < | ||
+ | & 如果在指令後面加上 & 符別, 即表示指令在背景執行, | ||
+ | | ||
+ | && 用 “&& | ||
+ | | ||
+ | | 這是管線的符號, | ||
+ | | ||
+ | || 表示第一道指令執行失敗後, | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ===== find ===== | ||
+ | < | ||
+ | # -type f 找檔案 | ||
+ | # -type d 找目錄 | ||
+ | # -type p 具名的 pipe(FIFO)。 | ||
+ | # -type l 找連結檔 | ||
+ | # 不加 -type 就是所有結果都會列出來 | ||
+ | |||
+ | find ./ -name " | ||
+ | |||
+ | |||
+ | # 把當下目錄有 " | ||
+ | |||
+ | find ./ -name " | ||
+ | |||
+ | # 找出單檔大於 600M/ | ||
+ | |||
+ | find ./ -size +600M | ||
+ | find ./ -size +2G | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== tar ===== | ||
+ | < | ||
+ | #保留 " | ||
+ | # | ||
+ | cd ~/ | ||
+ | sudo tar -czvpf ~/ | ||
+ | # | ||
+ | cd ~/workspace | ||
+ | mkdir dev2725_002_mod03 | ||
+ | sudo tar -xzvpf ~/ | ||
+ | </ | ||
+ | |||
+ | ===== chown ===== | ||
+ | < | ||
+ | ex: | ||
+ | sudo chown -vR kk3985: | ||
+ | </ | ||
+ | |||
+ | ===== chmod ===== | ||
+ | < | ||
+ | ex: | ||
+ | chmod -vR 777 ~/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== vmware ===== | ||
+ | < | ||
+ | #Install vmware tools | ||
+ | sudo apt-get update | ||
+ | sudo apt-get install open-vm-tools | ||
+ | |||
+ | #shrink vmware image size | ||
+ | sudo vmware-toolbox-cmd disk shrink / | ||
+ | </ | ||
+ | |||
+ | ===== USB Storage Size ===== | ||
+ | < | ||
+ | sudo lsblk -p -d | grep sd | ||
+ | </ | ||
+ | |||
+ | ===== 增加 APP 權限到目前 USER中 ===== | ||
+ | < | ||
+ | |||
+ | sudo adduser $USER libvirt | ||
+ | sudo adduser $USER libvirt-qemu | ||
+ | |||
+ | </ |